path-constant TOP : . ; include $(TOP)/../boost-version.jam ; rule boost-library-clang ( curlib : dll-lib : stem-name : libver : clang-version ) { local prefix-clang = "boost/lib/libboost_" ; local clang = "-clang" ; local version-short = "1_$(BOOST_VERSION_MAJOR)" ; local version-full = "1.$(BOOST_VERSION_MAJOR).0" ; local filename-rel-so-full = $(prefix-clang) $(name) $(clang) $(libver) "mt-" $(version-short) ".so." $(version-full) ; lib $(curlib) : : $(filename-rel-so-full:J) release $(clang-version) ; local filename-rel-so = $(prefix-clang) $(name) $(clang) $(libver) "mt-" $(version-short) ".so" ; lib $(dll-lib) : $(curlib) : $(filename-rel-so:J) release $(clang-version) ; local filename-dbg-so-full = $(prefix-clang) $(name) $(clang) $(libver) "mt-" "d-" $(version-short) ".so." $(version-full) ; lib $(curlib) : : $(filename-dbg-so-full:J) debug $(clang-version) ; local filename-dbg-so = $(prefix-clang) $(name) $(clang) $(libver) "mt-" "d-" $(version-short) ".so" ; lib $(dll-lib) : $(curlib) : $(filename-dbg-so:J) debug $(clang-version) ; } rule boost-library-darwin ( curlib : dll-lib : stem-name : libver : gcc-version ) { local prefix-darwin = "boost/lib/libboost_" ; local prefix-iphone = "boost-iphone/lib/libboost_" ; local gcc = "-xgcc" ; local version-short = "1_$(BOOST_VERSION_MAJOR)" ; local version-full = "1.$(BOOST_VERSION_MAJOR).0" ; local filename-rel-so-full = $(name) $(gcc) $(libver) "mt-" $(version-short) ; lib $(curlib) : : $(prefix-darwin)$(filename-rel-so-full:J).a release darwin $(gcc-version) ; lib $(curlib) : : $(prefix-iphone)$(filename-rel-so-full:J).so release iphone $(gcc-version) ; local filename-rel-so = $(name) $(gcc) $(libver) "mt-" $(version-short) ; lib $(dll-lib) : $(curlib) : $(prefix-darwin)$(filename-rel-so:J).dylib release darwin $(gcc-version) ; lib $(dll-lib) : $(curlib) : $(prefix-iphone)$(filename-rel-so:J).so.$(version-full) release iphone $(gcc-version) ; local filename-dbg-so-full = $(name) $(gcc) $(libver) "mt-" "d-" $(version-short) ; lib $(curlib) : : $(prefix-darwin)$(filename-dbg-so-full:J).a debug darwin $(gcc-version) ; lib $(curlib) : : $(prefix-iphone)$(filename-dbg-so-full:J).so debug iphone $(gcc-version) ; local filename-dbg-so = $(name) $(gcc) $(libver) "mt-" "d-" $(version-short) ; lib $(dll-lib) : $(curlib) : $(prefix-darwin)$(filename-dbg-so:J).dylib debug darwin $(gcc-version) ; lib $(dll-lib) : $(curlib) : $(prefix-iphone)$(filename-dbg-so:J).so.$(version-full) debug iphone $(gcc-version) ; } rule boost-library-linux ( curlib : dll-lib : stem-name : libver : gcc-version ) { local prefix-lin = "boost/lib/libboost_" ; local gcc = "-gcc" ; local version-short = "1_$(BOOST_VERSION_MAJOR)" ; local version-full = "1.$(BOOST_VERSION_MAJOR).0" ; local filename-rel-so-full = $(prefix-lin) $(name) $(gcc) $(libver) "mt-" $(version-short) ".so." $(version-full) ; lib $(curlib) : : $(filename-rel-so-full:J) release linux $(gcc-version) ; local filename-rel-so = $(prefix-lin) $(name) $(gcc) $(libver) "mt-" $(version-short) ".so" ; lib $(dll-lib) : $(curlib) : $(filename-rel-so:J) release linux $(gcc-version) ; local filename-dbg-so-full = $(prefix-lin) $(name) $(gcc) $(libver) "mt-" "d-" $(version-short) ".so." $(version-full) ; lib $(curlib) : : $(filename-dbg-so-full:J) debug linux $(gcc-version) ; local filename-dbg-so = $(prefix-lin) $(name) $(gcc) $(libver) "mt-" "d-" $(version-short) ".so" ; lib $(dll-lib) : $(curlib) : $(filename-dbg-so:J) debug linux $(gcc-version) ; } rule boost-library-windows ( curlib : dll-lib : stem-name : libver : msvc-version ) { local prefix-win = "$(BOOST_LIBS)/boost_" ; local msvc = "-vc" $(libver) "-" ; local version = "1_$(BOOST_VERSION_MAJOR)" ; local filename-rel-lib = $(prefix-win) $(name) $(msvc:J) "mt-" $(version) ".lib" ; lib $(curlib) : : $(filename-rel-lib:J) release windows $(msvc-version) ; lib $(curlib) : : $(filename-rel-lib:J) release-mfc windows $(msvc-version) ; local filename-rel-dll = $(prefix-win) $(name) $(msvc:J) "mt-" $(version) ".dll" ; lib $(dll-target:J) : $(curlib) : $(filename-rel-dll:J) release windows $(msvc-version) ; lib $(dll-target:J) : $(curlib) : $(filename-rel-dll:J) release-mfc windows $(msvc-version) ; local filename-dbg-lib = $(prefix-win) $(name) $(msvc:J) "mt-" "gd-" $(version) ".lib" ; lib $(curlib) : : $(filename-dbg-lib:J) debug windows $(msvc-version) ; lib $(curlib) : : $(filename-dbg-lib:J) debug-mfc windows $(msvc-version) ; local filename-dbg-dll = $(prefix-win) $(name) $(msvc:J) "mt-" "gd-" $(version) ".dll" ; lib $(dll-target:J) : $(curlib) : $(filename-dbg-dll:J) debug windows $(msvc-version) ; lib $(dll-target:J) : $(curlib) : $(filename-dbg-dll:J) debug-mfc windows $(msvc-version) ; } rule boost-libraries ( libs * ) { local dll-targets = ; for local curlib in $(libs) { local name = [ MATCH "^boost-(.*)" : $(curlib) ] ; local dll-target = $(curlib) "-dll" ; dll-targets += $(dll-target:J) ; lib $(curlib) $(dll-target:J) ; boost-library-clang $(curlib) : $(dll-target:J) : $(name) : "29-" : "2.9" ; boost-library-clang $(curlib) : $(dll-target:J) : $(name) : "30-" : "3.0" ; boost-library-clang $(curlib) : $(dll-target:J) : $(name) : "32-" : "3.2" ; boost-library-darwin $(curlib) : $(dll-target:J) : $(name) : "40-" : "4.0.1" ; boost-library-darwin $(curlib) : $(dll-target:J) : $(name) : "42-" : "4.2.1" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "42-" : "4.2.3" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "42-" : "4.2.4" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "43-" : "4.3.2" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "43-" : "4.3.3" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "44-" : "4.4.1" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "44-" : "4.4.3" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "44-" : "4.4.4" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "44-" : "4.4.5" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "45-" : "4.5.2" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "46-" : "4.6" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "46-" : "4.6.1" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "46-" : "4.6.3" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "47-" : "4.7" ; boost-library-linux $(curlib) : $(dll-target:J) : $(name) : "48-" : "4.8" ; boost-library-windows $(curlib) : $(dll-target:J) : $(name) : "80" : "8.0" ; boost-library-windows $(curlib) : $(dll-target:J) : $(name) : "90" : "9.0" ; boost-library-windows $(curlib) : $(dll-target:J) : $(name) : "90" : "9.0express" ; boost-library-windows $(curlib) : $(dll-target:J) : $(name) : "100" : "10.0" ; } install ../dist/bin : $(dll-targets) : on ; } boost-libraries boost-chrono boost-date_time boost-filesystem boost-graph boost-iostreams boost-math_c99 boost-math_c99f boost-math_c99l boost-math_tr1 boost-math_tr1f boost-math_tr1l boost-prg_exec_monitor boost-program_options boost-python boost-regex boost-serialization boost-signals boost-system boost-thread boost-unit_test_framework boost-wave boost-wserialization ;