cons-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Chmod issues


From: Zachary Deretsky
Subject: Chmod issues
Date: Mon, 30 Oct 2000 11:42:41 -0800

I will first describe my settings and my questions are in PROBLEM 1 - 3 down
below.

My source directory structure is:

#/
        Construct
        rings/src/
                Conscript
                source files
        ringspyapi/src/
                Conscript
                source files
......... etc

The parallel build directory structure is:

$BUILD/
        rings/src

        ringspyapi/src

......... etc

My #/Construct file has the link and build lines:

    Link "$BUILD/rings/src" => "#rings/src";
    Link "$BUILD/ringspyapi/src" => "#ringspyapi/src";
.....
    Build ("$BUILD/rings/src/Conscript");
    Build ("$BUILD/ringspyapi/src/Conscript");
.....

And, finally #/ringspyapi/src/Conscript has a problematic command:

Command $CONS [qw( rings.cpy ringspyapi.py)], qw(rings.i), qq(
     swig -I$absInclude -I$thisDir -dhtml -c++ -shadow -python -c++ -o %> %<
     mv %>:d\\ringspyapi.py %>:d\\ringspyapi.py.org
     echo from autpyapi import * > %>:d\\ringspyapi.py
     cat %>:d\\ringspyapi.py.org >> %>:d\\ringspyapi.py
     perl %>:d\\filter.pl %>:d\\ringspyapi.py
);

This command is INTENDED to do the following:

1. run swig in the $BUILD/ringspyapi/src directory and generate 2 files
rings.cpy and ringspyapi.py there.
2. Move ringspyapi.py to a backup ringspyapi.py.org
3. Prepend a line 'from autpyapi import *' to a fresh ringspyapi.py
4. Append the backup ringspyapi.py.org to ringspyapi.py
5. Run the perl script #/ringspyapi/src/filter.pl which modifies
ringspyapy.py in-place.

This does not work as intended.


PROBLEM 1.

rings.i, input for swig has the line '%module ringspyapi' which tells swig
to generate
ringspyapi.py in the directory from which swig is run.

Cons runs swig from the #/ directory therefore it produces file
#/ringspyapy.py and NOT
$BUILD/ringspyapi/src/ringspyapi.py

I think, I have two options:
1. Do some kind of chmod  before swig. How to do it and to what dir?
2. Somehow through linking generate $BUILD/ringspyapi.py ( I do not want to
pollute the source tree #/ )
and then move it down to $BUILD/ringspyapi/src/ringspyapi.py.

PROBLEM 2

I perceive an inconsistency in how Command method works:
target and source files are relative to the build directory
($BUILD/ringspyapi/src)
while the files in the command lines are relative to the top of the source
tree ( #/ )

My problems are relevant to the lingering discussion of cons chmodding to
the build directory,
it seems, this would resolve some of my issues.

PROBLEM 3

For the last command line, it seems cons cannot find fliter.pl which lives
in #/ringspyapi/src/ directory
What is the right way to specify this given that I manage to generate
ringspyapi.py in $BUILD/ringspyapi/src?
This problem might go away once I resolve PROBLEM 1, so I will come back to
this question if it persists.

Thank you, Zach.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]