diff options
Diffstat (limited to 'jam-files')
| -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) ;  } | 
