From a6ef6eddc6ac91f44d98400cc1dbee17163578d9 Mon Sep 17 00:00:00 2001 From: Ivo Hinkelmann Date: Mon, 27 Apr 2009 11:24:10 +0000 Subject: CWS-TOOLING: integrate CWS sb107 2009-04-14 13:09:13 +0200 sb r270758 : CWS-TOOLING: rebase CWS sb107 to trunk@270723 (milestone: DEV300:m46) 2009-04-06 14:11:54 +0200 sb r270545 : #i100884# improve pagein effectiveness: wrap system libs in --as-needed on unxlngi6/unxlngx6 to avoid needing them where unneeded; link pagein as C program to avoid unneeded C++ runtime dependency; reorder pagein and javaldx in soffice startup script so that javaldx benefits from pagein 2009-03-31 16:40:23 +0200 sb r270287 : decrease collisions in hashCode computation 2009-03-30 11:48:39 +0200 sb r270207 : #i100668# corrected explicit template instantiation 2009-03-26 14:16:26 +0100 sb r270078 : #i100408# inadvertently dropped libexslt dynamic library in previous rev 269789 2009-03-26 10:52:51 +0100 sb r270058 : #i100576# fixed erroneous modification of RPM in previous rev 270057 2009-03-26 10:46:36 +0100 sb r270057 : #i100576# Enable HAVE_LD_HASH_STYLE in sdev300.ini for unxlgni6 and unxlngx6; corrected unxlngx6.mk so that HAVE_LD_HASH_STYLE actually has an effect on ultimate LINKFLAGS value. 2009-03-25 16:53:39 +0100 sb r270038 : #i85679# applied speed-symbolic-functions.diff provided by pmladek; re-ran autoconf; enabled HAVE_LD_BSYMBOLIC_FUNCTIONS for unxlngi6 and unxlngx6 in sdev300.ini 2009-03-25 15:29:12 +0100 sb r270031 : #i100408# missing fixes in addition to -c 269789 (to actually only put single instances of certain libraries into installation sets) 2009-03-25 15:17:10 +0100 sb r270029 : #i10084# revert masterfix additions of libraries to APPnSTDLIBs (during -r269000:269199) and instead use -rpath-link to avoid linker warnings on unxlngi6 and unxlngx6 2009-03-25 14:15:23 +0100 sb r270023 : added svn:ignore 2009-03-25 10:25:08 +0100 sb r270002 : #i10000# copied over trunk -c 269820 2009-03-23 10:16:00 +0100 sb r269858 : CWS-TOOLING: rebase CWS sb107 to trunk@269781 (milestone: DEV300:m44) 2009-03-20 11:22:27 +0100 sb r269789 : #i100408# reduce (multiple copies of) libraries delivered to solver; for that to work fine, deliver symlink feature got improved to only create a symlink if the original file exists 2009-03-20 09:21:32 +0100 sb r269782 : #i100396# replace s(HTML|RTF)_xxx declarations with OOO_STRING_SVTOOLS_(HTML|RTF)_xxx macros to reduce symbolic relocations at load time (at least on ELF systems). 2009-03-19 11:34:56 +0100 sb r269734 : #i100348# added VISIBILITY_HIDDEN=TRUE so that symbols from the resulting archive are not erroneously exported from dynamic libraries including the archive 2009-03-19 11:32:20 +0100 sb r269733 : #i100348# as a prerequisite for following changes, brought jpeg-6b.patch into "dmake create_patch" format and removed application/octet-stream svn:mime-type 2009-03-12 10:39:08 +0100 sb r269370 : duplicated cws/odfmetadata2/solenv/inc/target.mk -c 268831 2009-03-04 17:25:16 +0100 sb r268849 : #i99880# missing AUGMENT_LIBRARY_PATH 2009-02-25 17:54:34 +0100 sb r268459 : CWS-TOOLING: rebase CWS sb107 to trunk@268395 (milestone: DEV300:m42) 2009-02-25 09:23:15 +0100 sb r268413 : #i99584# avoid undefined operations on nOffset (patch by cmc) 2009-02-23 10:02:25 +0100 sb r268344 : #i99519 removed unnecessary library dependencies 2009-02-18 17:54:24 +0100 sb r268250 : avoid warnings about format specifier and argument mismatch (on 64bit debug builds) 2009-02-18 17:50:34 +0100 sb r268249 : avoid erroneous warning that control reaches end of non-void function 2009-02-18 17:33:53 +0100 sb r268248 : sdext/source/pdfimport/misc/pdfihelper.cxx: #include --- solenv/bin/deliver.pl | 3 ++- solenv/config/sdev300.ini | 4 ++++ solenv/inc/target.mk | 2 +- solenv/inc/unxlngi6.mk | 17 +++++++++++------ solenv/inc/unxlngx6.mk | 29 +++++++++++++++++------------ 5 files changed, 35 insertions(+), 20 deletions(-) (limited to 'solenv') diff --git a/solenv/bin/deliver.pl b/solenv/bin/deliver.pl index a3e0450f4e08..74ed2020184a 100755 --- a/solenv/bin/deliver.pl +++ b/solenv/bin/deliver.pl @@ -339,6 +339,7 @@ sub do_symlink $line = expand_macros($line); ($from, $to) = split(' ',$line); + my $fullfrom = $from; if ( dirname($from) eq dirname($to) ) { $from = basename($from); } @@ -369,7 +370,7 @@ sub do_symlink push_on_ziplist($to) if $opt_zip; return; } - + return unless -e $fullfrom; print "SYMLIB: $from -> $to\n" if $opt_verbose; if ( !symlink("$from", "$to") ) { print_error("can't symlink $from -> $to: $!",0); diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini index b384db75cbdb..776637f46173 100644 --- a/solenv/config/sdev300.ini +++ b/solenv/config/sdev300.ini @@ -650,6 +650,8 @@ unxlngi6 DELIVER %PERL% %SOLARENV%/bin/deliver.pl DMAKEROOT %SOLARENV%/inc/startup HAVE_GCC_VISIBILITY_FEATURE TRUE + HAVE_LD_BSYMBOLIC_FUNCTIONS TRUE + HAVE_LD_HASH_STYLE TRUE LIBRARY_PATH %SYSBASE%/usr/lib MKOUT %PERL% %SOLARENV%/bin/mkout.pl PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11 @@ -972,6 +974,8 @@ unxlngx6 DELIVER %PERL% %SOLARENV%/bin/deliver.pl DMAKEROOT %SOLARENV%/inc/startup HAVE_GCC_VISIBILITY_FEATURE TRUE + HAVE_LD_BSYMBOLIC_FUNCTIONS TRUE + HAVE_LD_HASH_STYLE TRUE LIBRARY_PATH %SYSBASE%/usr/lib MKOUT %PERL% %SOLARENV%/bin/mkout.pl PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11 diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk index a8fbfbf9f5aa..61de65158927 100644 --- a/solenv/inc/target.mk +++ b/solenv/inc/target.mk @@ -226,7 +226,7 @@ NEWCLASS+=$(CLASSGENDIR) .ENDIF # "$(GENJAVACLASSFILES)"!="" .IF "$(NEWCLASS)"!="" # See iz36027 for the reason for the strange $(subst ..) construct -CLASSPATH:=.$(PATH_SEPERATOR)$(CLASSDIR)$(PATH_SEPERATOR)$(XCLASSPATH)$(PATH_SEPERATOR){$(subst,%Z*Z%,$(PATH_SEPERATOR) $(NEWCLASS:s/ /%Z*Z%/))} +CLASSPATH:=.$(PATH_SEPERATOR)$(CLASSDIR)$(PATH_SEPERATOR)$(XCLASSPATH)$(PATH_SEPERATOR){$(subst,%Z*Z%,$(PATH_SEPERATOR) $(NEWCLASS:s/ /%Z*Z%/))}$(PATH_SEPERATOR)$(SOLARLIBDIR) .ENDIF # "$(NEWCLASS)"!="" .ENDIF # "$(L10N_framework)"=="" diff --git a/solenv/inc/unxlngi6.mk b/solenv/inc/unxlngi6.mk index 51d52241b498..3cc514c8b9a0 100644 --- a/solenv/inc/unxlngi6.mk +++ b/solenv/inc/unxlngi6.mk @@ -157,10 +157,15 @@ LINKFLAGSRUNPATH_OXT= LINKFLAGSRUNPATH_NONE= # flag -Wl,-z,noexecstack sets the NX bit on the stack LINKFLAGS=-Wl,-z,noexecstack -Wl,-z,combreloc $(LINKFLAGSDEFS) +.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE" +LINKFLAGS += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo +.ENDIF # linker flags for linking applications -LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \ + -Wl,-rpath-link,$(LB):$(SOLARLIBDIR) +LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \ + -Wl,-rpath-link,$(LB):$(SOLARLIBDIR) # linker flags for linking shared libraries LINKFLAGSSHLGUI= -shared @@ -202,11 +207,11 @@ LINKFLAGS += -Wl,-zdynsort .ENDIF # libraries for linking applications -STDLIBGUIMT+=-lX11 -ldl -lpthread -lm -STDLIBCUIMT+=-ldl -lpthread -lm +STDLIBGUIMT+=-Wl,--as-needed -lX11 -ldl -lpthread -lm -Wl,--no-as-needed +STDLIBCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed # libraries for linking shared libraries -STDSHLGUIMT+=-lX11 -lXext -ldl -lpthread -lm -STDSHLCUIMT+=-ldl -lpthread -lm +STDSHLGUIMT+=-Wl,--as-needed -lX11 -lXext -ldl -lpthread -lm -Wl,--no-as-needed +STDSHLCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive diff --git a/solenv/inc/unxlngx6.mk b/solenv/inc/unxlngx6.mk index f2fc03f20eac..49efccb48075 100644 --- a/solenv/inc/unxlngx6.mk +++ b/solenv/inc/unxlngx6.mk @@ -77,12 +77,6 @@ CFLAGS+=-Wreturn-type -fmessage-length=0 -c CFLAGSENABLESYMBOLS=-g1 .ELSE CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - -.ENDIF -.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE" -LINKFLAGS += -Wl,--hash-style=both -.ELSE -LINKFLAGS += -Wl,-zdynsort .ENDIF # flags for the C++ Compiler @@ -162,10 +156,21 @@ LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$O LINKFLAGSRUNPATH_OXT= LINKFLAGSRUNPATH_NONE= LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) +.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE" +LINKFLAGS += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo +.ENDIF + +.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE" +LINKFLAGS += -Wl,--hash-style=both +.ELSE +LINKFLAGS += -Wl,-zdynsort +.ENDIF # linker flags for linking applications -LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \ + -Wl,-rpath-link,$(LB):$(SOLARLIBDIR) +LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \ + -Wl,-rpath-link,$(LB):$(SOLARLIBDIR) # linker flags for linking shared libraries LINKFLAGSSHLGUI= -shared @@ -195,11 +200,11 @@ STDOBJCUI= STDSLOCUI= # libraries for linking applications -STDLIBGUIMT+=-lX11 -ldl -lpthread -lm -STDLIBCUIMT+=-ldl -lpthread -lm +STDLIBGUIMT+=-Wl,--as-needed -lX11 -ldl -lpthread -lm -Wl,--no-as-needed +STDLIBCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed # libraries for linking shared libraries -STDSHLGUIMT+=-lX11 -lXext -ldl -lpthread -lm -STDSHLCUIMT+=-ldl -lpthread -lm +STDSHLGUIMT+=-Wl,--as-needed -lX11 -lXext -ldl -lpthread -lm -Wl,--no-as-needed +STDSHLCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive -- cgit