summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorPedro Giffuni <pfg@apache.org>2011-11-15 19:53:01 +0000
committerPedro Giffuni <pfg@apache.org>2011-11-15 19:53:01 +0000
commit1f883f4b455b0aa1d5da165c5afe7af9343ad0c7 (patch)
treef83f1d85a14f79a44b2db472c6f591348887e1b5 /solenv
parent9145ee498f57707ebfd8cea5533baa4c552a9eb3 (diff)
FreeBSD port: more configuration updates. Add support for alternative ptmalloc and tcmalloc.
Diffstat (limited to 'solenv')
-rw-r--r--solenv/inc/unxfbsd.mk59
-rw-r--r--solenv/inc/unxfbsdi.mk3
-rw-r--r--solenv/inc/unxfbsdx.mk2
3 files changed, 46 insertions, 18 deletions
diff --git a/solenv/inc/unxfbsd.mk b/solenv/inc/unxfbsd.mk
index 1657bcd0f465..ed930987db4a 100644
--- a/solenv/inc/unxfbsd.mk
+++ b/solenv/inc/unxfbsd.mk
@@ -31,6 +31,7 @@ ASM=
AFLAGS=
SOLAR_JAVA*=
+PICSWITCH*:=-fpic
JAVAFLAGSDEBUG=-g
# Include arch specific makefile.
@@ -68,7 +69,7 @@ CXX*=g++
# name of C Compiler
CC*=gcc
.IF "$(SYSBASE)"!=""
-CFLAGS_SYSBASE:=-isystem $(SYSBASE)/usr/include
+CFLAGS_SYSBASE:=--sysroot=$(SYSBASE)
CXX+:=$(CFLAGS_SYSBASE)
CC+:=$(CFLAGS_SYSBASE)
.ENDIF # "$(SYSBASE)"!=""
@@ -91,7 +92,6 @@ CFLAGS_NO_EXCEPTIONS=-fno-exceptions
# -fpermissive should be removed as soon as possible
CFLAGSCXX= -pipe $(ARCH_FLAGS)
-PICSWITCH:=-fpic
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
CFLAGSCXX += -fvisibility-inlines-hidden
.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -136,20 +136,26 @@ LINK*=$(CXX)
LINKC*=$(CC)
# default linker flags
-LINKFLAGSDEFS*=#-Wl,-z,defs
-LINKFLAGSRUNPATH_URELIB=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN'\'
-LINKFLAGSRUNPATH_UREBIN=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\'
+.IF "$(SYSBASE)"!=""
+LINKFLAGS_SYSBASE:=-Wl,--sysroot=$(SYSBASE)
+.ENDIF # "$(SYSBASE)"!=""
+LINKFLAGSDEFS*=-Wl,-z,defs
+LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\'
+LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\'
#TODO: drop $ORIGIN once no URE executable is also shipped in OOo
-LINKFLAGSRUNPATH_OOO=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\'
-LINKFLAGSRUNPATH_SDK=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\'
-LINKFLAGSRUNPATH_BRAND=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\'
+LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\'
+LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\'
+LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\'
LINKFLAGSRUNPATH_OXT=
+LINKFLAGSRUNPATH_BOXT=-Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\'
LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS)
+LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
# 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):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
+ -Wl,-rpath-link,$(LB):$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
@@ -172,18 +178,38 @@ SONAME_SWITCH=-Wl,-h
STDLIBCPP=-lstdc++
# default objectfilenames to link
-STDOBJVCL=$(L)/salmain.o
+STDOBJVCL=$(L)$/salmain.o
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
STDSLOCUI=
+.IF "$(ALLOC)" == "PTMALLOC"
+STDLIBGUIMT+=-lptmalloc
+STDLIBCUIMT+=-lptmalloc
+STDSHLGUIMT+=-lptmalloc
+STDSHLCUIMT+=-lptmalloc
+.ELIF "$(ALLOC)" == "TCMALLOC"
+STDLIBGUIMT+=-ltcmalloc
+STDLIBCUIMT+=-ltcmalloc
+STDSHLGUIMT+=-ltcmalloc
+STDSHLCUIMT+=-ltcmalloc
+.ENDIF
+
+.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
+LINKFLAGS += -Wl,--hash-style=both
+.ELSE
+LINKFLAGS += -Wl,-zdynsort
+.ENDIF
+
# libraries for linking applications
-STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm
-STDLIBCUIMT=$(PTHREAD_LIBS) -lm
+STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
# libraries for linking shared libraries
-STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm
-STDSHLCUIMT=$(PTHREAD_LIBS) -lm
+STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+
+X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed
LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
@@ -227,3 +253,4 @@ RCSETVERSION=
# platform specific identifier for shared libs
DLLPRE=lib
DLLPOST=.so
+PCHPOST=.gch \ No newline at end of file
diff --git a/solenv/inc/unxfbsdi.mk b/solenv/inc/unxfbsdi.mk
index aaaf81d27375..22fbac2db4fe 100644
--- a/solenv/inc/unxfbsdi.mk
+++ b/solenv/inc/unxfbsdi.mk
@@ -26,7 +26,7 @@
#*************************************************************************
#
-# FreBSD/i386 specific defines
+# FreeBSD/i386 specific defines
#
CDEFS+=-DX86
@@ -43,4 +43,5 @@ CFLAGSOPT= # no optimizing for non products
.ENDIF # "$(PRODUCT)"!=""
# platform specific identifier for shared libs
+DLLPOST=.so
DLLPOSTFIX=
diff --git a/solenv/inc/unxfbsdx.mk b/solenv/inc/unxfbsdx.mk
index 7d97cea90d17..2e8c43af7242 100644
--- a/solenv/inc/unxfbsdx.mk
+++ b/solenv/inc/unxfbsdx.mk
@@ -26,7 +26,7 @@
#*************************************************************************
#
-# FreBSD/amd64 specific defines
+# FreeBSD/amd64 specific defines
#
CDEFS+=-DX86_64