diff --git a/src/tools/vacpp.jam b/src/tools/vacpp.jam index a3ab61c6c..cb8c028f8 100644 --- a/src/tools/vacpp.jam +++ b/src/tools/vacpp.jam @@ -92,7 +92,7 @@ if [ os.name ] = AIX else { # Linux PPC - flags vacpp.compile CFLAGS shared : -qpic ; + flags vacpp.compile CFLAGS shared : -qpic=large ; flags vacpp FINDLIBS : rt ; } @@ -120,6 +120,9 @@ flags vacpp VA_C_COMPILER multi : xlc_r ; flags vacpp VA_CXX_COMPILER single : xlC ; flags vacpp VA_CXX_COMPILER multi : xlC_r ; +SPACE = " " ; + +flags vacpp.link.dll HAVE_SONAME linux : "" ; actions vacpp.link bind NEEDLIBS { @@ -128,7 +131,7 @@ actions vacpp.link bind NEEDLIBS actions vacpp.link.dll bind NEEDLIBS { - xlC_r -G $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) + xlC_r -G $(LINKFLAGS) -o "$(<[1])" $(HAVE_SONAME)-Wl,-soname$(SPACE)-Wl,$(<[-1]:D=) -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) } actions vacpp.compile.c