Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2001-12-25 04:01:43


David Abrahams wrote:

> > 2. I don't seem to understand IMPORT/EXPORT. Suppose:
> >
> > rule initialize-project ( project-module ) {
> > IMPORT project : project-id location used-jamfiles
> >
> > : $(project-module) : project-id location used-jamfiles ;
> >
> > EXPORT $(project-module) : project-id location used-jamfiles ;
> > }
> >
> > Alas, this code does not make new rules available using quilified names:
>
> what
>
> > is done is that new *local* rules appear in $(proejct-module) and then
> > "exported" flag for them is set? Would it make sense to additionally
>
> insert
>
> > qualified name into the global namespace?
>
> No, I'm trying to make just the primitives neccessary to do more
> sophisticated things available as built-in rules. EXPORT just makes rules
> visible via RULENAMES so that you can explicitly import them into the
> global namespace as desired. Please see tools/build/new/class.jam for some
> example usage.

Well, I still see no way to make rules visible as qualified names, except for

IMPORT $(module) : rule : : $(module).rule ;

Is it the right way?

> > 3. Jamfile in test directory simply doesn't work on Linux. /bin/sh
>
> complains
>
> > about syntax errors and other similar problems happen. I've fixed most
> > problems, although one remains, and one is solved using simply kludge.
> > Suppose the following command is used:
> >
> > echo "actions unbuilt { } unbuilt all ; EXIT error ;" > temp.jam
> > jam -sBOOST_BUILD_PATH=.. -sJAMFILE=temp.jam
> > rm temp.jam
> >
> > Jam, AFAIKT, puts the text to a bat file and executed file.
> > Unfortunately, status returned is that of the *last* command!
>
> Hmm, yes. If we use && between the commands it won't have that effect.
> Actually, the rm command should be done as a separate step, as with
> command-file handling on windows.

It appears to be a general problem worth fixing. Adding && on Linux is extra
simple, but... is there equivalent semantics for Windows? or whatever other
platforms Jam runs at?

> > 6. Jam identification change. I'm not sure about proper copyright
>
> string --
>
> > Boost.Jam is based on FTJam, which is based on Perforce Jam -- so I left
>
> it
>
> > out completely.
>
> I think we can't drop any existing copyrights. I've integrated your
> changes, but would appreciate it if you'd fix the copyright issue. Feel
> free to add additional copyrights, though!

Okay, David Turner and David Abrahams added to copyright. The change is
checked in.

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk