2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 00:32:11 +00:00

I've added the -single_module option to the intel-darwin.link.dll

action to fix this linker error when linking dylibs:

ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
boost/bin.v2/libs/system/build/intel-darwin-9.1/debug/macosx-version-10.4/error_code.o 
  definition of common __ZGVZNK5boost6system14error_category7messageEiE1s (size 16)
boost/bin.v2/libs/system/build/intel-darwin-9.1/debug/macosx-version-10.4/error_code.o 
  definition of common __ZZNK5boost6system14error_category7messageEiE1s (size 16)

though I would note that the common symbols problem occurs in a number of
other libraries (test, graph, spirit, ...) as well.



[SVN r43179]
This commit is contained in:
K. Noel Belcourt
2008-02-08 17:53:50 +00:00
parent 23aa013e45
commit 014bb9e606

View File

@@ -85,14 +85,7 @@ rule init ( version ? : command * : options * )
local major = $(m) ;
if $(major) = "8" {
flags intel-darwin.compile OPTIONS $(condition)/<inlining>off : -Ob0 ;
flags intel-darwin.compile OPTIONS $(condition)/<inlining>on : -Ob1 ;
flags intel-darwin.compile OPTIONS $(condition)/<inlining>full : -Ob2 ;
flags intel-darwin.link OPTIONS $(condition)/<runtime-link>static : -static -static-libcxa -lstdc++ -lpthread ;
flags intel-darwin.link OPTIONS $(condition)/<runtime-link>shared : -shared-libcxa -lstdc++ -lpthread ;
}
else if $(major) = "9" {
if $(major) = "9" {
flags intel-darwin.compile OPTIONS $(condition)/<inlining>off : -Ob0 ;
flags intel-darwin.compile OPTIONS $(condition)/<inlining>on : -Ob1 ;
flags intel-darwin.compile OPTIONS $(condition)/<inlining>full : -Ob2 ;
@@ -207,5 +200,5 @@ actions link bind LIBRARIES
actions link.dll bind LIBRARIES
{
"$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -dynamiclib -install_name "$(<[1]:D=)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
"$(CONFIG_COMMAND)" $(USER_OPTIONS) -L"$(LINKPATH)" -o "$(<)" -single_module -dynamiclib -install_name "$(<[1]:D=)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $(OPTIONS)
}