diff --git a/boost-base.jam b/boost-base.jam index 51b16c4f6..e02aeff89 100644 --- a/boost-base.jam +++ b/boost-base.jam @@ -118,7 +118,7 @@ rule main-from-objects { # make compiled sources a dependency of target - MakeLocate $(<) : $(LOCATE_TARGET) ; + MakeLocate $(<) : $(LOCATE_TARGET) ; Clean clean : $(<) ; @@ -884,7 +884,7 @@ rule expand-build-request # described. return [ make-path-property-sets $(toolset)$(SLASH)$(variant) : [ fixup-path-properties $(base-properties) $(free-properties) - $(defaulted-free-properties) ] + $(defaulted-free-properties) ] : $(override-sets) ] ; } diff --git a/boost-build.jam b/boost-build.jam index 51a5d4813..e41c9c538 100644 --- a/boost-build.jam +++ b/boost-build.jam @@ -3,5 +3,6 @@ # all copies. This software is provided "as is" without express or implied # warranty, and with no claim as to its suitability for any purpose. +BOOST_BUILD_INSTALLATION ?= $(BOOST_ROOT)/tools/build ; SEARCH on allyourbase.jam = $(BOOST_BUILD_PATH) ; include allyourbase.jam ; diff --git a/como-tools.jam b/como-tools.jam index 8be9b5d02..45c240def 100644 --- a/como-tools.jam +++ b/como-tools.jam @@ -120,7 +120,7 @@ actions updated together piecemeal como-Archive-action $(COMO_PATH_SETUP) $(COMO_BASE_SETUP) $(COMO_BIN_DIRECTORY)como -o "$(<:S=)" $(>) - REM if exist "$(<)" set _$(<:B)_="$(<)" - REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" + REM if exist "$(<)" set _$(<:B)_="$(<)" + REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" } diff --git a/gcc-tools.jam b/gcc-tools.jam index 9fb9d8563..9768bbc28 100644 --- a/gcc-tools.jam +++ b/gcc-tools.jam @@ -27,8 +27,8 @@ flags gcc CFLAGS full : -finline-functions -Wno-inline ; if $(UNIX) { - flags gcc CFLAGS multi : -pthread ; - flags gcc LINKFLAGS multi : -pthread ; + flags gcc CFLAGS multi : -pthread ; + flags gcc LINKFLAGS multi : -pthread ; } flags gcc CFLAGS on : -pg ; @@ -74,7 +74,7 @@ rule Link-action # for gcc, we repeat all libraries so that dependencies are always resolved actions gcc-Link-action bind NEEDLIBS { - $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" -l$(FINDLIBS) "$(NEEDLIBS)" "$(NEEDLIBS)" + $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) } # older actions diff --git a/historic/jam/src/variable.c b/historic/jam/src/variable.c index 9dccea7fd..b6ba95fdf 100644 --- a/historic/jam/src/variable.c +++ b/historic/jam/src/variable.c @@ -94,28 +94,38 @@ var_defines( char **e ) # ifdef OS_MAC char split = ','; # else - char split = ' '; + char split = ' '; # endif - /* Split *PATH at :'s, not spaces */ - - if( val - 4 >= *e ) - { - if( !strncmp( val - 4, "PATH", 4 ) || - !strncmp( val - 4, "Path", 4 ) || - !strncmp( val - 4, "path", 4 ) ) - split = SPLITPATH; - } - - /* Do the split */ - - for( pp = val + 1; p = strchr( pp, split ); pp = p + 1 ) - { - string_append_range( buf, pp, p ); - l = list_new( l, newstr( buf->value ) ); + size_t len = strlen(val + 1); + if ( val[1] == '"' && val[len] == '"') + { + string_append_range( buf, val + 2, val + len ); + l = list_new( l, newstr( buf->value ) ); string_truncate( buf, 0 ); - } + } + else + { + /* Split *PATH at :'s, not spaces */ - l = list_new( l, newstr( pp ) ); + if( val - 4 >= *e ) + { + if( !strncmp( val - 4, "PATH", 4 ) || + !strncmp( val - 4, "Path", 4 ) || + !strncmp( val - 4, "path", 4 ) ) + split = SPLITPATH; + } + + /* Do the split */ + + for( pp = val + 1; p = strchr( pp, split ); pp = p + 1 ) + { + string_append_range( buf, pp, p ); + l = list_new( l, newstr( buf->value ) ); + string_truncate( buf, 0 ); + } + + l = list_new( l, newstr( pp ) ); + } /* Get name */ string_append_range( buf, *e, val ); diff --git a/intel-win32-tools.jam b/intel-win32-tools.jam index 68f9bcdc7..a11e97925 100644 --- a/intel-win32-tools.jam +++ b/intel-win32-tools.jam @@ -11,57 +11,28 @@ # compute INTEL tool path # You can either put the intel-win32 bin directory in your PATH, or you can set # INTELROOT to point at the intel-win32 installation directory -INTEL_TOOL_PATH = "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ; +INTEL_TOOL_PATH ?= "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ; INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set -flags intel-win32 CFLAGS on : /Zi ; -flags intel-win32 LINKFLAGS on : /DEBUG ; - -flags intel-win32 CFLAGS off : /Od ; -flags intel-win32 CFLAGS speed : /O2 ; -flags intel-win32 CFLAGS space : /O1 ; -flags intel-win32 CFLAGS off : /Ob0 ; -flags intel-win32 CFLAGS on : /Ob1 ; -flags intel-win32 CFLAGS full : /Ob2 ; -flags intel-win32 CFLAGS on : /GX ; -flags intel-win32 CFLAGS on : /GR ; - -# Note that these two options actually imply multithreading support on INTEL -# because there is no single-threaded dynamic runtime library. Specifying -# multi would be a bad idea, though, because no option would be -# matched when the build uses the default settings of dynamic -# and single. -flags intel-win32 CFLAGS release/dynamic : /MD ; -flags intel-win32 CFLAGS debug/dynamic : /MDd ; - -flags intel-win32 CFLAGS release/static/single : /ML ; -flags intel-win32 CFLAGS debug/static/single : /MLd ; -flags intel-win32 CFLAGS release/static/multi : /MT ; -flags intel-win32 CFLAGS debug/static/multi : /MTd ; - -flags intel-win32 CFLAGS ; -flags intel-win32 C++FLAGS ; -flags intel-win32 DEFINES ; -flags intel-win32 UNDEFS ; -flags intel-win32 HDRS ; - -flags intel-win32 STDHDRS : $(INTEL_PATH)$(SLASH)include ; -flags intel-win32 STDLIBPATH : $(INTEL_PATH)$(SLASH)lib ; -flags intel-win32 LIBPATH ; -flags intel-win32 NEEDLIBS ; -flags intel-win32 FINDLIBS ; -flags intel-win32 LINKFLAGS DLL : /DLL ; +extends-toolset msvc ; #### Link #### rule Link-action { - intel-win32-Link-action $(<) : $(>) ; + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + intel-win32-Link-action $(<) : $(command-file) ; + + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } actions intel-win32-Link-action bind NEEDLIBS { - $(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(NEEDLIBS)" "$(FINDLIBS)" "$(>)" + $(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(NEEDLIBS)" "$(FINDLIBS)" $(COMMAND)"$(>)" } #### Cc ##### @@ -95,7 +66,7 @@ rule Archive-action actions updated together piecemeal intel-win32-Archive-action { - if exist "$(<)" set _$(<:B)_="$(<)" - $(INTEL_TOOL_PATH)xilink /lib /out:"$(<)" %_$(<:B)_% "$(>)" + if exist "$(<)" set _$(<:B)_="$(<)" + $(INTEL_TOOL_PATH)xilink /lib /out:"$(<)" %_$(<:B)_% "$(>)" } diff --git a/jam_src/variable.c b/jam_src/variable.c index 9dccea7fd..b6ba95fdf 100644 --- a/jam_src/variable.c +++ b/jam_src/variable.c @@ -94,28 +94,38 @@ var_defines( char **e ) # ifdef OS_MAC char split = ','; # else - char split = ' '; + char split = ' '; # endif - /* Split *PATH at :'s, not spaces */ - - if( val - 4 >= *e ) - { - if( !strncmp( val - 4, "PATH", 4 ) || - !strncmp( val - 4, "Path", 4 ) || - !strncmp( val - 4, "path", 4 ) ) - split = SPLITPATH; - } - - /* Do the split */ - - for( pp = val + 1; p = strchr( pp, split ); pp = p + 1 ) - { - string_append_range( buf, pp, p ); - l = list_new( l, newstr( buf->value ) ); + size_t len = strlen(val + 1); + if ( val[1] == '"' && val[len] == '"') + { + string_append_range( buf, val + 2, val + len ); + l = list_new( l, newstr( buf->value ) ); string_truncate( buf, 0 ); - } + } + else + { + /* Split *PATH at :'s, not spaces */ - l = list_new( l, newstr( pp ) ); + if( val - 4 >= *e ) + { + if( !strncmp( val - 4, "PATH", 4 ) || + !strncmp( val - 4, "Path", 4 ) || + !strncmp( val - 4, "path", 4 ) ) + split = SPLITPATH; + } + + /* Do the split */ + + for( pp = val + 1; p = strchr( pp, split ); pp = p + 1 ) + { + string_append_range( buf, pp, p ); + l = list_new( l, newstr( buf->value ) ); + string_truncate( buf, 0 ); + } + + l = list_new( l, newstr( pp ) ); + } /* Get name */ string_append_range( buf, *e, val ); diff --git a/metrowerks-tools.jam b/metrowerks-tools.jam index cc6cc6e48..539bc86eb 100644 --- a/metrowerks-tools.jam +++ b/metrowerks-tools.jam @@ -70,8 +70,15 @@ flags metrowerks STDHDRS : $(METROWERKS_INCLUDE_ROOT)$(SLASH)$(gMETROWERKS_STD_I rule Link-action { - metrowerks-Link-action $(<) : $(>) ; IMPLIB_COMMAND on $(<) = "-implib " ; # will be "multiplied away" if not needed. + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + metrowerks-Link-action $(<) : $(command-file) ; + + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } # Here we set the environment variable MWWinx86LibraryFiles (customize for other @@ -82,7 +89,7 @@ actions metrowerks-Link-action bind NEEDLIBS { $(METROWERKS_SETUP) $(METROWERKS_LINK_SETUP)$(STDLIBS) - mwld -export dllexport -nowraplines $(LINKFLAGS) -L$(LIBPATH) -L$(STDLIBPATH) $(IMPLIB_COMMAND)"$(<[2])" -o "$(<[1])" "$(NEEDLIBS)" "$(>)" -l$(FINDLIBS) + mwld -maxerrors 20 -maxwarnings 20 -export dllexport -nowraplines $(LINKFLAGS) -L$(LIBPATH) -L$(STDLIBPATH) $(IMPLIB_COMMAND)"$(<[2])" -o "$(<[1])" "$(NEEDLIBS)" $(COMMAND)"$(>)" -l$(FINDLIBS) } #### Cc ##### @@ -95,7 +102,7 @@ rule Cc-action actions metrowerks-Cc-action { $(METROWERKS_SETUP) - mwcc -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -nowraplines $(CFLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + mwcc -maxerrors 20 -maxwarnings 20 -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -nowraplines $(CFLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -107,7 +114,7 @@ rule C++-action actions metrowerks-C++-action { $(METROWERKS_SETUP) - mwcc -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -DNOMINMAX -nowraplines -lang c++ $(CFLAGS) $(C++FLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + mwcc -maxerrors 20 -maxwarnings 20 -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -DNOMINMAX -nowraplines -lang c++ $(CFLAGS) $(C++FLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### diff --git a/msvc-tools.jam b/msvc-tools.jam index cb30027b1..d1dd130df 100644 --- a/msvc-tools.jam +++ b/msvc-tools.jam @@ -9,7 +9,7 @@ # compute MSVC tool path # You can either put the msvc bin directory in your PATH, or you can set # MSVCDir to point at the msvc installation directory -MSVC_TOOL_PATH = $(MSVCDir)$(SLASH)bin$(SLASH) ; +MSVC_TOOL_PATH ?= $(MSVCDir)$(SLASH)bin$(SLASH) ; MSVC_TOOL_PATH ?= "" ; # Don't clobber adjoining text if MSVCDir isn't set flags msvc CFLAGS on : /Zi ; @@ -54,22 +54,14 @@ flags msvc LINKFLAGS DLL : /DLL ; rule Link-action { - if $(COMMAND_FILES) - { - local command-file = $(<[1]:S=.CMD) ; - LOCATE on $(command-file) = $(gLOCATE($(<))) ; - COMMAND on $(<) = @ ; - msvc-Link-action $(<) : $(command-file) ; + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + msvc-Link-action $(<) : $(command-file) ; - list-files $(command-file) : $(>) ; - DEPENDS $(<) : $(command-file) ; - RmTemps $(<[1]) : $(command-file) ; - } - else - { - COMMAND on $(<) = "" ; - msvc-Link-action $(<) : $(>) ; - } + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } actions together msvc-Link-action bind NEEDLIBS diff --git a/v1/boost-base.jam b/v1/boost-base.jam index 51b16c4f6..e02aeff89 100644 --- a/v1/boost-base.jam +++ b/v1/boost-base.jam @@ -118,7 +118,7 @@ rule main-from-objects { # make compiled sources a dependency of target - MakeLocate $(<) : $(LOCATE_TARGET) ; + MakeLocate $(<) : $(LOCATE_TARGET) ; Clean clean : $(<) ; @@ -884,7 +884,7 @@ rule expand-build-request # described. return [ make-path-property-sets $(toolset)$(SLASH)$(variant) : [ fixup-path-properties $(base-properties) $(free-properties) - $(defaulted-free-properties) ] + $(defaulted-free-properties) ] : $(override-sets) ] ; } diff --git a/v1/como-tools.jam b/v1/como-tools.jam index 8be9b5d02..45c240def 100644 --- a/v1/como-tools.jam +++ b/v1/como-tools.jam @@ -120,7 +120,7 @@ actions updated together piecemeal como-Archive-action $(COMO_PATH_SETUP) $(COMO_BASE_SETUP) $(COMO_BIN_DIRECTORY)como -o "$(<:S=)" $(>) - REM if exist "$(<)" set _$(<:B)_="$(<)" - REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" + REM if exist "$(<)" set _$(<:B)_="$(<)" + REM $(MSVC_TOOL_PATH)link /lib /out:"$(<)" %_$(<:B)_% "$(>)" } diff --git a/v1/gcc-tools.jam b/v1/gcc-tools.jam index 9fb9d8563..9768bbc28 100644 --- a/v1/gcc-tools.jam +++ b/v1/gcc-tools.jam @@ -27,8 +27,8 @@ flags gcc CFLAGS full : -finline-functions -Wno-inline ; if $(UNIX) { - flags gcc CFLAGS multi : -pthread ; - flags gcc LINKFLAGS multi : -pthread ; + flags gcc CFLAGS multi : -pthread ; + flags gcc LINKFLAGS multi : -pthread ; } flags gcc CFLAGS on : -pg ; @@ -74,7 +74,7 @@ rule Link-action # for gcc, we repeat all libraries so that dependencies are always resolved actions gcc-Link-action bind NEEDLIBS { - $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" -l$(FINDLIBS) "$(NEEDLIBS)" "$(NEEDLIBS)" + $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) } # older actions diff --git a/v1/intel-win32-tools.jam b/v1/intel-win32-tools.jam index 68f9bcdc7..a11e97925 100644 --- a/v1/intel-win32-tools.jam +++ b/v1/intel-win32-tools.jam @@ -11,57 +11,28 @@ # compute INTEL tool path # You can either put the intel-win32 bin directory in your PATH, or you can set # INTELROOT to point at the intel-win32 installation directory -INTEL_TOOL_PATH = "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ; +INTEL_TOOL_PATH ?= "$(INTEL_PATH)"$(SLASH)bin$(SLASH) ; INTEL_TOOL_PATH ?= "" ; # Don't clobber adjoining text if INTELROOT isn't set -flags intel-win32 CFLAGS on : /Zi ; -flags intel-win32 LINKFLAGS on : /DEBUG ; - -flags intel-win32 CFLAGS off : /Od ; -flags intel-win32 CFLAGS speed : /O2 ; -flags intel-win32 CFLAGS space : /O1 ; -flags intel-win32 CFLAGS off : /Ob0 ; -flags intel-win32 CFLAGS on : /Ob1 ; -flags intel-win32 CFLAGS full : /Ob2 ; -flags intel-win32 CFLAGS on : /GX ; -flags intel-win32 CFLAGS on : /GR ; - -# Note that these two options actually imply multithreading support on INTEL -# because there is no single-threaded dynamic runtime library. Specifying -# multi would be a bad idea, though, because no option would be -# matched when the build uses the default settings of dynamic -# and single. -flags intel-win32 CFLAGS release/dynamic : /MD ; -flags intel-win32 CFLAGS debug/dynamic : /MDd ; - -flags intel-win32 CFLAGS release/static/single : /ML ; -flags intel-win32 CFLAGS debug/static/single : /MLd ; -flags intel-win32 CFLAGS release/static/multi : /MT ; -flags intel-win32 CFLAGS debug/static/multi : /MTd ; - -flags intel-win32 CFLAGS ; -flags intel-win32 C++FLAGS ; -flags intel-win32 DEFINES ; -flags intel-win32 UNDEFS ; -flags intel-win32 HDRS ; - -flags intel-win32 STDHDRS : $(INTEL_PATH)$(SLASH)include ; -flags intel-win32 STDLIBPATH : $(INTEL_PATH)$(SLASH)lib ; -flags intel-win32 LIBPATH ; -flags intel-win32 NEEDLIBS ; -flags intel-win32 FINDLIBS ; -flags intel-win32 LINKFLAGS DLL : /DLL ; +extends-toolset msvc ; #### Link #### rule Link-action { - intel-win32-Link-action $(<) : $(>) ; + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + intel-win32-Link-action $(<) : $(command-file) ; + + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } actions intel-win32-Link-action bind NEEDLIBS { - $(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(NEEDLIBS)" "$(FINDLIBS)" "$(>)" + $(INTEL_TOOL_PATH)xilink /nologo $(LINKFLAGS) /PDB:"$(<[1]:S=.pdb)" /out:"$(<[1])" $(UNDEFS) /LIBPATH:$(LIBPATH) /LIBPATH:$(STDLIBPATH) "$(NEEDLIBS)" "$(FINDLIBS)" $(COMMAND)"$(>)" } #### Cc ##### @@ -95,7 +66,7 @@ rule Archive-action actions updated together piecemeal intel-win32-Archive-action { - if exist "$(<)" set _$(<:B)_="$(<)" - $(INTEL_TOOL_PATH)xilink /lib /out:"$(<)" %_$(<:B)_% "$(>)" + if exist "$(<)" set _$(<:B)_="$(<)" + $(INTEL_TOOL_PATH)xilink /lib /out:"$(<)" %_$(<:B)_% "$(>)" } diff --git a/v1/metrowerks-tools.jam b/v1/metrowerks-tools.jam index cc6cc6e48..539bc86eb 100644 --- a/v1/metrowerks-tools.jam +++ b/v1/metrowerks-tools.jam @@ -70,8 +70,15 @@ flags metrowerks STDHDRS : $(METROWERKS_INCLUDE_ROOT)$(SLASH)$(gMETROWERKS_STD_I rule Link-action { - metrowerks-Link-action $(<) : $(>) ; IMPLIB_COMMAND on $(<) = "-implib " ; # will be "multiplied away" if not needed. + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + metrowerks-Link-action $(<) : $(command-file) ; + + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } # Here we set the environment variable MWWinx86LibraryFiles (customize for other @@ -82,7 +89,7 @@ actions metrowerks-Link-action bind NEEDLIBS { $(METROWERKS_SETUP) $(METROWERKS_LINK_SETUP)$(STDLIBS) - mwld -export dllexport -nowraplines $(LINKFLAGS) -L$(LIBPATH) -L$(STDLIBPATH) $(IMPLIB_COMMAND)"$(<[2])" -o "$(<[1])" "$(NEEDLIBS)" "$(>)" -l$(FINDLIBS) + mwld -maxerrors 20 -maxwarnings 20 -export dllexport -nowraplines $(LINKFLAGS) -L$(LIBPATH) -L$(STDLIBPATH) $(IMPLIB_COMMAND)"$(<[2])" -o "$(<[1])" "$(NEEDLIBS)" $(COMMAND)"$(>)" -l$(FINDLIBS) } #### Cc ##### @@ -95,7 +102,7 @@ rule Cc-action actions metrowerks-Cc-action { $(METROWERKS_SETUP) - mwcc -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -nowraplines $(CFLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + mwcc -maxerrors 20 -maxwarnings 20 -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -nowraplines $(CFLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -107,7 +114,7 @@ rule C++-action actions metrowerks-C++-action { $(METROWERKS_SETUP) - mwcc -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -DNOMINMAX -nowraplines -lang c++ $(CFLAGS) $(C++FLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + mwcc -maxerrors 20 -maxwarnings 20 -c -warn on,nounusedexpr,nounused -cwd include -U$(UNDEFS) -D$(DEFINES) -DNOMINMAX -nowraplines -lang c++ $(CFLAGS) $(C++FLAGS) -I- -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### diff --git a/v1/msvc-tools.jam b/v1/msvc-tools.jam index cb30027b1..d1dd130df 100644 --- a/v1/msvc-tools.jam +++ b/v1/msvc-tools.jam @@ -9,7 +9,7 @@ # compute MSVC tool path # You can either put the msvc bin directory in your PATH, or you can set # MSVCDir to point at the msvc installation directory -MSVC_TOOL_PATH = $(MSVCDir)$(SLASH)bin$(SLASH) ; +MSVC_TOOL_PATH ?= $(MSVCDir)$(SLASH)bin$(SLASH) ; MSVC_TOOL_PATH ?= "" ; # Don't clobber adjoining text if MSVCDir isn't set flags msvc CFLAGS on : /Zi ; @@ -54,22 +54,14 @@ flags msvc LINKFLAGS DLL : /DLL ; rule Link-action { - if $(COMMAND_FILES) - { - local command-file = $(<[1]:S=.CMD) ; - LOCATE on $(command-file) = $(gLOCATE($(<))) ; - COMMAND on $(<) = @ ; - msvc-Link-action $(<) : $(command-file) ; + local command-file = $(<[1]:S=.CMD) ; + LOCATE on $(command-file) = $(gLOCATE($(<))) ; + COMMAND on $(<) = @ ; + msvc-Link-action $(<) : $(command-file) ; - list-files $(command-file) : $(>) ; - DEPENDS $(<) : $(command-file) ; - RmTemps $(<[1]) : $(command-file) ; - } - else - { - COMMAND on $(<) = "" ; - msvc-Link-action $(<) : $(>) ; - } + list-files $(command-file) : $(>) ; + DEPENDS $(<) : $(command-file) ; + RmTemps $(<[1]) : $(command-file) ; } actions together msvc-Link-action bind NEEDLIBS diff --git a/v2/boost-build.jam b/v2/boost-build.jam index 51a5d4813..e41c9c538 100644 --- a/v2/boost-build.jam +++ b/v2/boost-build.jam @@ -3,5 +3,6 @@ # all copies. This software is provided "as is" without express or implied # warranty, and with no claim as to its suitability for any purpose. +BOOST_BUILD_INSTALLATION ?= $(BOOST_ROOT)/tools/build ; SEARCH on allyourbase.jam = $(BOOST_BUILD_PATH) ; include allyourbase.jam ;