using -s flag on OSX to specify my own rules...

Added by David Cowan over 8 years ago

So, I have a set of platform specific rules and settings in a folder within my project which override jams own modules and c folders.
I use my own platforms for Wii, Xbox360, and IOS - as well as my own build configurations (PROFILE, NAND, etc) so that I don't need to make changes to the stock modules and c folders (hopefully making it easier to integrate any changes or updates to jam)

I build with a shell script which reads

jam -sJAM_MODULES_USER_PATH=ProjectRoot\jam CONFIG=debug PLATFORM=iphone jamfile.jam

In my ProjectRoot\jam folder I have lots of jamrules-debug and jamrules-psp2 and so on... I also have

Now, everything has been working just dandy from the Project\jam\c-compilers folder (with all my different configurations) -- however I've just recently added a new module for openAL (so that I can use openAL on my PC build


openal.jam contains the definition of C.UseOpenAL -- on PC, it will search for the OpenAL SDK and set up the include folders and library folders. On OSX and IOS, it doesn't do anything yet.

In my project jam file, I do...

IncludeModule c/openal ;

C.UseOpenAL $(projectTarget) : link ;

On PC, everything is working fine.... however, trying to run the same jam file on OSX results i

c/openal.jam: No such file or directory
warning: unknown rule C.UseOpenAL (last file: c/openal.jam)

I'm using the latest jam executable from

JamPlus 0.3 (based on Jam 2.5). OS=MACOSX.
Jam is Copyright 1993-2002 Christopher Seiwald.

Any ideas why it works on PC and not on Mac?

Replies (1)

RE: using -s flag on OSX to specify my own rules... - Added by David Cowan over 8 years ago

So, it turns out that the shell script which was invoking jam had a backslash instead of a forward slash (which was working fine on PC), but on Mac, it malformed the parameters to jam...

jam -sJAM_MODULES_USER_PATH=ProjectRoot\jam CONFIG=debug PLATFORM=iphone jamfile.jam
should be
jam -sJAM_MODULES_USER_PATH=ProjectRoot/jam CONFIG=debug PLATFORM=iphone jamfile.jam

My bad :)