summaryrefslogtreecommitdiffstats
path: root/solenv
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-04-27 11:24:10 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-04-27 11:24:10 +0000
commita6ef6eddc6ac91f44d98400cc1dbee17163578d9 (patch)
treea7df1bb1d03014744886d432f24dbb95d0315216 /solenv
parentCWS-TOOLING: integrate CWS cwstestresult02 (diff)
downloadcore-a6ef6eddc6ac91f44d98400cc1dbee17163578d9.tar.gz
core-a6ef6eddc6ac91f44d98400cc1dbee17163578d9.zip
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 <vcl/canvastools.hxx>
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/bin/deliver.pl3
-rw-r--r--solenv/config/sdev300.ini4
-rw-r--r--solenv/inc/target.mk2
-rw-r--r--solenv/inc/unxlngi6.mk17
-rw-r--r--solenv/inc/unxlngx6.mk29
5 files changed, 35 insertions, 20 deletions
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