diff options
Diffstat (limited to 'jam-files/sanity.jam')
-rw-r--r-- | jam-files/sanity.jam | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/jam-files/sanity.jam b/jam-files/sanity.jam index 9c75c247..957f4f43 100644 --- a/jam-files/sanity.jam +++ b/jam-files/sanity.jam @@ -74,6 +74,7 @@ if $(with-macports) { } else { with-boost = [ option.get "with-boost" ] ; + with-boost ?= [ os.environ "BOOST_ROOT" ] ; if $(with-boost) { L-boost-search = -L$(with-boost)/lib" "-L$(with-boost)/lib64 ; boost-search = <search>$(with-boost)/lib <search>$(with-boost)/lib64 ; @@ -86,6 +87,8 @@ else { boost-include = ; } } + +requirements = ; #Are we linking static binaries against shared boost? boost-auto-shared = [ auto-shared "boost_program_options" : $(L-boost-search) ] ; @@ -95,8 +98,15 @@ rule boost-lib ( name macro ) { #versions of boost do not have -mt tagged versions of all libraries. Sadly, #boost.jam does not handle this correctly. if [ test_flags $(L-boost-search)" -lboost_"$(name)"-mt" ] { - lib inner_boost_$(name) : : <threading>single $(boost-search) <name>boost_$(name) ; - lib inner_boost_$(name) : : <threading>multi $(boost-search) <name>boost_$(name)-mt ; +# if [ test_flags $(L-boost-search)" -lboost_"$(name) ] { +# lib inner_boost_$(name) : : <threading>single $(boost-search) <name>boost_$(name) ; +# lib inner_boost_$(name) : : <threading>multi $(boost-search) <name>boost_$(name)-mt ; +# } else { + if ! <threading>multi in $(requirements) { + requirements += <threading>multi ; + } + lib inner_boost_$(name) : : <threading>multi $(boost-search) <name>boost_$(name)-mt ; +# } } else { lib inner_boost_$(name) : : $(boost-search) <name>boost_$(name) ; } @@ -148,7 +158,6 @@ rule external-lib ( name : search-path * ) { local ignored = @($(build-log):E=$(script)) ; } -requirements = ; { #Boost jam's static clang is buggy. requirements += <cxxflags>$(cxxflags) <cflags>$(cflags) <linkflags>$(ldflags) <toolset>clang:<link>shared ; @@ -173,9 +182,10 @@ if $(prefix) { } else { prefix = $(TOP)/dist$(GITTAG) ; } + +bindir = [ option.get "bindir" : $(prefix)/bin ] ; +libdir = [ option.get "libdir" : $(prefix)/lib ] ; rule install-bin-libs ( deps * ) { - local bindir = [ option.get "bindir" : $(prefix)/bin ] ; - local libdir = [ option.get "libdir" : $(prefix)/lib ] ; install prefix-bin : $(deps) : <location>$(bindir) <install-dependencies>on <install-type>EXE <link>shared:<dll-path>$(libdir) ; install prefix-lib : $(deps) : <location>$(libdir) <install-dependencies>on <install-type>LIB <link>shared:<dll-path>$(libdir) ; } |