diff -ruNp boost_1_59_0-orig/tools/build/src/tools/clang-darwin.jam boost_1_59_0/tools/build/src/tools/clang-darwin.jam --- boost_1_59_0-orig/tools/build/src/tools/clang-darwin.jam 2015-08-11 08:53:51.000000000 -0500 +++ boost_1_59_0/tools/build/src/tools/clang-darwin.jam 2015-10-31 05:48:34.000000000 -0500 @@ -7,6 +7,7 @@ import clang ; import feature : feature ; import os ; +import option ; import toolset ; import toolset : flags ; import gcc ; @@ -176,6 +177,11 @@ rule link ( targets * : sources * : prop # Serialize execution of the 'link' action, since # running N links in parallel is just slower. JAM_SEMAPHORE on $(targets) = clang-darwin-link-semaphore ; + local prefix = [ option.get prefix ] ; + LIB_INSTALL_DIR = [ option.get libdir ] ; + VERSIONINFO_COMP = [ option.get compatibility_version ] ; + VERSIONINFO_CUR = [ option.get current_version ] ; + UNDEFINED = [ option.get undefined ] ; } actions link bind LIBRARIES @@ -185,5 +191,5 @@ actions link bind LIBRARIES actions link.dll bind LIBRARIES { - "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -single_module -dynamiclib -install_name "@rpath/$(<[1]:D=)" "$(>)" "$(LIBRARIES)" $(START-GROUP) $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) + "$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -single_module -L$(LIB_INSTALL_DIR) -dynamiclib -install_name "@rpath/$(<[1]:D=)" "$(>)" -compatibility_version 1.@BOOST_MINOR@.0 -current_version 1.@BOOST_MINOR@.0 "$(LIBRARIES)" $(START-GROUP) $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) } diff -ruNp boost_1_59_0-orig/tools/build/src/tools/darwin.jam boost_1_59_0/tools/build/src/tools/darwin.jam --- boost_1_59_0-orig/tools/build/src/tools/darwin.jam 2015-08-11 08:53:51.000000000 -0500 +++ boost_1_59_0/tools/build/src/tools/darwin.jam 2015-10-31 06:41:44.000000000 -0500 @@ -20,6 +20,8 @@ import version ; import property-set ; import regex ; import errors ; +import os ; +import option ; ## Use a framework. feature framework : : free ; @@ -559,6 +561,11 @@ rule link ( targets * : sources * : prop DEPENDS $(targets) : [ on $(targets) return $(FORCE_LOAD) ] ; setup-address-model $(targets) : $(sources) : $(properties) ; prepare-framework-path $(<) ; + local prefix = [ option.get prefix ] ; + LIB_INSTALL_DIR = [ option.get libdir : $(prefix)/lib ] ; + VERSIONINFO_COMP = [ option.get compatibility_version : 1.@BOOST_MINOR@.0 ] ; + VERSIONINFO_CUR = [ option.get current_version : 1.@BOOST_MINOR@.0 ] ; + UNDEFINED = [ option.get undefined ] ; } # Note that using strip without any options was reported to result in broken @@ -579,7 +586,7 @@ rule link.dll ( targets * : sources * : actions link.dll bind LIBRARIES { - "$(CONFIG_COMMAND)" -dynamiclib -Wl,-single_module -install_name "$(<:B)$(<:S)" -L"$(LINKPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(FRAMEWORK_PATH) -framework$(_)$(FRAMEWORK:D=:S=) $(OPTIONS) $(USER_OPTIONS) + "$(CONFIG_COMMAND)" -dynamiclib $(UNDEFINED) -Wl,-single_module -install_name "$(LIB_INSTALL_DIR)/$(<:B)-1_@BOOST_MINOR@$(<:S)" -compatibility_version 1.@BOOST_MINOR@.0 -current_version 1.@BOOST_MINOR@.0 -L"$(LINKPATH)" -L@FINK_PREFIX@/lib -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(FRAMEWORK_PATH) -framework$(_)$(FRAMEWORK:D=:S=) $(OPTIONS) $(USER_OPTIONS) } # We use libtool instead of ar to support universal binary linking