# Build.mpw # # MPW script to bootstrap Jam. # # HISTORY: # 5/22/00 grant GUSI is no longer used. # Updated to work with CodeWarrior Pro 5 if "{CWROOT}" == "" echo "# Please set CWROOT to the root of the CodeWarrior Pro 5 distribution" exit end if not `exists :bin.mac` newfolder :bin.mac end set CWMACHDR "{CWROOT}Metrowerks Codewarrior:MacOS Support:Universal:Interfaces:CIncludes" set CWMACLIB "{CWROOT}Metrowerks Codewarrior:MacOS Support:Universal:Libraries" set CWMACLIB2 "{CWROOT}Metrowerks Codewarrior:MacOS Support:Libraries" set CWMSL "{CWROOT}Metrowerks Codewarrior:MSL" set CWMSLHDR "{CWMSL}:MSL C:MSL Common:Include,{CWMSL}:MSL C:MSL MacOS:Include" set CWMSLLIB "{CWMSL}:MSL C:MSL MacOS:Lib" set MWCincludes "{CWMSLHDR},{CWMACHDR}" mwcppc -o :bin.mac:command.o -eol -w off command.c mwcppc -o :bin.mac:compile.o -eol -w off compile.c mwcppc -o :bin.mac:execmac.o -eol -w off execmac.c mwcppc -o :bin.mac:filemac.o -eol -w off filemac.c mwcppc -o :bin.mac:pathmac.o -eol -w off pathmac.c mwcppc -o :bin.mac:jamgram.o -eol -w off jamgram.c mwcppc -o :bin.mac:expand.o -eol -w off expand.c mwcppc -o :bin.mac:glob.o -eol -w off glob.c mwcppc -o :bin.mac:hash.o -eol -w off hash.c mwcppc -o :bin.mac:headers.o -eol -w off headers.c mwcppc -o :bin.mac:lists.o -eol -w off lists.c mwcppc -o :bin.mac:make.o -eol -w off make.c mwcppc -o :bin.mac:make1.o -eol -w off make1.c mwcppc -o :bin.mac:newstr.o -eol -w off newstr.c mwcppc -o :bin.mac:option.o -eol -w off option.c mwcppc -o :bin.mac:parse.o -eol -w off parse.c mwcppc -o :bin.mac:regexp.o -eol -w off regexp.c mwcppc -o :bin.mac:rules.o -eol -w off rules.c mwcppc -o :bin.mac:scan.o -eol -w off scan.c mwcppc -o :bin.mac:search.o -eol -w off search.c mwcppc -o :bin.mac:timestamp.o -eol -w off timestamp.c mwcppc -o :bin.mac:variable.o -eol -w off variable.c mwlinkppc -library -o :bin.mac:libjam.lib :bin.mac:command.o :bin.mac:compile.o :bin.mac:execmac.o :bin.mac:filemac.o :bin.mac:pathmac.o :bin.mac:jamgram.o :bin.mac:expand.o :bin.mac:glob.o :bin.mac:hash.o :bin.mac:headers.o :bin.mac:lists.o :bin.mac:make.o :bin.mac:make1.o :bin.mac:newstr.o :bin.mac:option.o :bin.mac:parse.o :bin.mac:regexp.o :bin.mac:rules.o :bin.mac:scan.o :bin.mac:search.o :bin.mac:timestamp.o :bin.mac:variable.o mwcppc -o :bin.mac:mkjambase.o -eol -w off mkjambase.c mwlinkppc -xm mpwtool -warn -o :bin.mac:mkjambase :bin.mac:mkjambase.o "{CWMSLLIB}:PPC:MSL C.PPC MPW(NL).Lib" "{CWMACLIB}:StubLibraries:InterfaceLib" "{CWMACLIB}:StubLibraries:MathLib" "{CWMACLIB2}:Runtime:Runtime PPC:MSL MPWCRuntime.Lib" "{CWMACLIB2}:Apple MPW PPC:PPCToolLibs.o" "{CWMACLIB2}:Sources:PLStringFuncs Glue:PLStringFuncsPPC.lib" mwcppc -o :bin.mac:jam.o -eol -w off jam.c if not `exists jambase.c` :bin.mac:mkjambase jambase.c Jambase end mwcppc -o :bin.mac:jambase.o -eol -w off jambase.c mwlinkppc -xm mpwtool -warn -o :bin.mac:jam0 :bin.mac:jam.o :bin.mac:jambase.o :bin.mac:libjam.lib "{CWMSLLIB}:PPC:MSL C.PPC MPW(NL).Lib" "{CWMACLIB}:StubLibraries:InterfaceLib" "{CWMACLIB}:StubLibraries:MathLib" "{CWMACLIB2}:Runtime:Runtime PPC:MSL MPWCRuntime.Lib" "{CWMACLIB2}:Apple MPW PPC:PPCToolLibs.o" "{CWMACLIB2}:Sources:PLStringFuncs Glue:PLStringFuncsPPC.lib"
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#4 | 553 | Grant Glouser | Integrate Jam 2.3 changes. | ||
#3 | 425 | Grant Glouser |
Revamped Mac build to use MPW Interfaces&Libraries. In particular, the bootstrap script and the default Jambase settings use the standard MPW tools, headers and libraries (this package is available from Apple's developer website). The Jambase also retains some support for the CodeWarrior tools - this can be enabled by passing -sMETROWERKS=true on the jam command line. The bootstrap script should also work with the CodeWarrior MPW package, although it uses only the standard MPW tools/headers/libs. Also added SubDirHook to the Jambase. |
||
#2 | 352 | Grant Glouser |
Use MacOS native APIs instead of GUSI. And additional Mac path handling improvements. filemac.c - rewrote file_dirscan and file_time to use MacOS native API (PBGetCatInfo). This means GUSI is no longer needed, which should make Jam more stable and ever so slightly faster under MacOS. pathmac.c - no trailing colons on directories. This has the effect of allowing rules to recursively process paths under MacOS (which makes MacOS just like every other platform in this respect). timestamp.c - extra timestamp check for possible volume names under MacOS - case-sensitivity OFF for MacOS Jamfile and Build.mpw - altered to remove GUSI header search paths and libraries. This complicates the Jamfile - perhaps these changes should be merged into the Jambase. |
||
#1 | 300 | Grant Glouser | Branching jam sources to my guest directory. |