[jamming] BJam's command/shell execution
Joshua ChaitinPollak
jpollak at kivasystems.com
Fri Mar 23 07:52:33 PST 2007
I saw that, but I can't figure out how to make it work...
I thought the syntax would be something like:
Shell "svnversion" : $REV ;
But that doesn't work.
Also, and this may be because of the way I'm using bjam, but it seems
to be conflicting with Jam's Shell command (Which seems to check the
file is a shell script, and then chmod's it?).
-Josh
On Mar 23, 2007, at 11:46 AM, Diane Holt wrote:
> Boost Jam has this (it's what I patterned the Command built-in after):
>
> The SHELL Rule
>
> rule SHELL ( command )
> SHELL executes command, and then returns the standard output of
> command. SHELL only works on platforms with a popen() function in
> the C library. On platforms without a working popen() function,
> SHELL is implemented as a no-op. SHELL works on Unix, MacOS X, and
> most Windows compilers. SHELL is a no-op on Metrowerks compilers
> under Windows.
>
>
>
> On 3/22/07, Joshua ChaitinPollak <jpollak at kivasystems.com> wrote:
> Hi,
>
> I'm using BJam, and I can't figure out how to get the shell script
> execution working. I know there was a recent thread about a COMMAND
> patch for Jam, and I'm looking forward to that, but for now I'm using
> BJam and I don't have the time to apply patches and compile, etc.
>
> I've ported most of my project to Jam, but I have one Makefile I
> can't figure out how to ditch. I have this Makefile code:
>
> REVISION := $(shell svnversion)
> OLD_REVISION := $(shell cat revision.cpp 2> /dev/null)
>
> revision.cpp:
> ifeq (,$(findstring \"{REVISION}\", ${OLD_REVISION}))
> @echo "void config::getRevision(std::string& rev) { rev = \"$
> {REVISION}\"; } >> revision.cpp
> endif
>
> This (should) effectively (re)builds revision.cpp if the revision has
> changed. My program depends in revision.cpp, so if revision has
> changed, the file gets rebuild and the program gets rebuilt.
>
> How would I do this in a Jam way? I guess I could call a shell script
> to build the revision.cpp file all the time, but I'd rather not
> unless its out of date.
>
> -Josh
>
> --
> Joshua ChaitinPollak
> Software Engineer
> Kiva Systems
>
> _______________________________________________
> jamming mailing list - jamming at perforce.com
> http://maillist.perforce.com/mailman/listinfo/jamming
>
--
Joshua ChaitinPollak
Software Engineer
Kiva Systems
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://maillist.perforce.com/pipermail/jamming/attachments/20070323/1488ce37/attachment.html
More information about the jamming
mailing list