Move unxlng.mk to unxgcc.mk and use that on OpenBSD and Linux
too as a default and then overwrite or add variables.
---
solenv/inc/unxgcc.mk | 279 +++++++++++++++++++++++++++++++++++++++++++++++++
solenv/inc/unxlng.mk | 253 +-------------------------------------------
solenv/inc/unxobsd.mk | 229 +----------------------------------------
3 files changed, 284 insertions(+), 477 deletions(-)
create mode 100644 solenv/inc/unxgcc.mk
diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk
new file mode 100644
index 0000000..b54736c
--- /dev/null
+++ b/solenv/inc/unxgcc.mk
@@ -0,0 +1,279 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+# generic mk file for gcc on unix systems
+
+ASM*=
+AFLAGS*=
+SOLAR_JAVA*=
+# default optimization level for product code
+CDEFAULTOPT*=-O2
+# architecture dependent flags for the C and C++ compiler that can be changed by
+# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
+ARCH_FLAGS*=
+# position independent code switch
+PICSWITCH*:=-fpic
+JAVAFLAGSDEBUG=-g
+
+# filter for supressing verbose messages from linker
+#not needed at the moment
+#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
+
+# _PTHREADS is needed for the stl
+CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=$(STLPORT_VER)
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+
+# this is a platform with JAVA support
+.IF "$(SOLAR_JAVA)"!=""
+JAVADEF=-DSOLAR_JAVA
+.IF "$(debug)"==""
+JAVA_RUNTIME=-ljava
+.ELSE
+JAVA_RUNTIME=-ljava_g
+.ENDIF
+.ENDIF
+
+# name of C++ Compiler
+CXX*=g++
+# name of C Compiler
+CC*=gcc
+.IF "$(SYSBASE)"!=""
+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
+CXX+:=$(CFLAGS_SYSBASE)
+CC+:=$(CFLAGS_SYSBASE)
+.ENDIF # "$(SYSBASE)"!=""
+CFLAGS+=-fmessage-length=0 -c
+
+# flags to enable build with symbols; required for crashdump feature
+.IF "$(ENABLE_SYMBOLS)"=="SMALL"
+CFLAGSENABLESYMBOLS=-g1
+.ELSE
+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
+
+.ENDIF
+
+# flags for the C++ Compiler
+CFLAGSCC= -pipe $(ARCH_FLAGS)
+# Flags for enabling exception handling
+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
+# Flags for disabling exception handling
+CFLAGS_NO_EXCEPTIONS=-fno-exceptions
+
+# -fpermissive should be removed as soon as possible
+CFLAGSCXX= -pipe $(ARCH_FLAGS)
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+CFLAGSCXX += -fvisibility-inlines-hidden
+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+
+CFLAGS_CREATE_PCH=-x c++-header -I$(INCPCH) -DPRECOMPILED_HEADERS
+CFLAGS_USE_PCH=-I$(SLO)$/pch -DPRECOMPILED_HEADERS -Winvalid-pch
+CFLAGS_USE_EXCEPTIONS_PCH=-I$(SLO)$/pch_ex -DPRECOMPILED_HEADERS -Winvalid-pch
+
+# Compiler flags for compiling static object in multi threaded environment with graphical user
interface
+CFLAGSOBJGUIMT=
+# Compiler flags for compiling static object in multi threaded environment with character user
interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user
interface
+CFLAGSSLOGUIMT=$(PICSWITCH)
+# Compiler flags for compiling shared object in multi threaded environment with character user
interface
+CFLAGSSLOCUIMT=$(PICSWITCH)
+# Compiler flags for profiling
+CFLAGSPROF=
+# Compiler flags for debugging
+CFLAGSDEBUG=-g
+CFLAGSDBGUTIL=
+# Compiler flags for enabling optimizations
+.IF "$(PRODUCT)"!=""
+CFLAGSOPT=$(CDEFAULTOPT) # optimizing for products
+
+GCCNUMVERSION_CMD=-dumpversion $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
+GCCNUMVER:=$(shell @-$(CXX) $(GCCNUMVERSION_CMD))
+
+.IF "$(USE_SYSTEM_STL)"!="YES" || "$(GCCNUMVER)" <= "000400050000"
+#STLPort headers are full of aliasing warnings and
+#At least SLED 10.2 gcc 4.3 overly agressively optimizes
+#uno::Sequence into junk, so only strict-alias on compiler
+#later than 4.5.1
+CFLAGSOPT+=-fno-strict-aliasing
+.ENDIF
+.ELSE # "$(PRODUCT)"!=""
+CFLAGSOPT= # no optimizing for non products
+.ENDIF # "$(PRODUCT)"!=""
+# Compiler flags for disabling optimizations
+CFLAGSNOOPT=-O0
+# Compiler flags for describing the output path
+CFLAGSOUTOBJ=-o
+
+# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
+CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
+CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
+ -Wno-non-virtual-dtor
+CFLAGSWALLCC=$(CFLAGSWARNCC)
+CFLAGSWALLCXX=$(CFLAGSWARNCXX)
+CFLAGSWERRCC=-Werror
+
+# Once all modules on this platform compile without warnings, set
+# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
+# settings.mk):
+MODULES_WITH_WARNINGS := \
+ lotuswordpro \
+ soldep
+
+# switches for dynamic and static linking
+STATIC = -Wl,-Bstatic
+DYNAMIC = -Wl,-Bdynamic
+
+# name of linker
+LINK*=$(CXX)
+LINKC*=$(CC)
+
+# default linker flags
+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,-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=
+# 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 \
+ -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
+LINKFLAGSSHLCUI= -shared
+
+LINKFLAGSTACK=
+LINKFLAGSPROF=
+LINKFLAGSDEBUG=-g
+LINKFLAGSOPT=
+
+# linker flags for optimization (symbol hashtable)
+# for now, applied to symbol scoped libraries, only
+LINKFLAGSOPTIMIZE*=-Wl,-O1
+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
+
+SONAME_SWITCH=-Wl,-h
+
+# Sequence of libs does matter !
+
+STDLIBCPP=-lstdc++
+
+# default objectfilenames to link
+STDOBJVCL=$(L)$/salmain.o
+STDOBJGUI=
+STDSLOGUI=
+STDOBJCUI=
+STDSLOCUI=
+
+.IF "$(ALLOC)" == "TCMALLOC"
+STDLIBGUIMT+=-ltcmalloc
+STDLIBCUIMT+=-ltcmalloc
+STDSHLGUIMT+=-ltcmalloc
+STDSHLCUIMT+=-ltcmalloc
+.ENDIF
+
+.IF "$(ALLOC)" == "JEMALLOC"
+STDLIBGUIMT+=-ljemalloc
+STDLIBCUIMT+=-ljemalloc
+STDSHLGUIMT+=-ljemalloc
+STDSHLCUIMT+=-ljemalloc
+.ENDIF
+
+.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
+LINKFLAGS += -Wl,--hash-style=both
+.ELSE
+LINKFLAGS += -Wl,-zdynsort
+.ENDIF
+
+# libraries for linking applications
+STDLIBGUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDLIBCUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+# libraries for linking shared libraries
+STDSHLGUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDSHLCUIMT+=-Wl,--as-needed $(DL_LIB) $(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
+
+.IF "$(USE_STLP_DEBUG)" != ""
+.IF "$(STLPORT_VER)" >= "500"
+LIBSTLPORT=$(DYNAMIC) -lstlportstlg
+LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
+.ELSE
+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
+LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
+.ENDIF
+.ELSE # "$(USE_STLP_DEBUG)" != ""
+.IF "$(STLPORT_VER)" >= "500"
+LIBSTLPORT=$(DYNAMIC) -lstlport
+LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
+.ELSE
+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
+.ENDIF
+.ENDIF # "$(USE_STLP_DEBUG)" != ""
+
+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
+
+# name of library manager
+LIBMGR*=ar
+LIBFLAGS=-r
+
+# tool for generating import libraries
+IMPLIB=
+IMPLIBFLAGS=
+
+MAPSYM=
+MAPSYMFLAGS=
+
+RC=irc
+RCFLAGS=-fo$@ $(RCFILES)
+RCLINK=
+RCLINKFLAGS=
+RCSETVERSION=
+
+# platform specific identifier for shared libs
+DLLPRE=lib
+DLLPOST=.so
+PCHPOST=.gch
diff --git a/solenv/inc/unxlng.mk b/solenv/inc/unxlng.mk
index 1b7ee75..c39c251 100644
--- a/solenv/inc/unxlng.mk
+++ b/solenv/inc/unxlng.mk
@@ -25,254 +25,7 @@
#
#*************************************************************************
-# generic mk file for unxlng (unix linux glibc)
-ASM*=
-AFLAGS*=
-SOLAR_JAVA*=
-# default optimization level for product code
-CDEFAULTOPT*=-O2
-# architecture dependent flags for the C and C++ compiler that can be changed by
-# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
-ARCH_FLAGS*=
-# position independent code switch
-PICSWITCH*:=-fpic
-JAVAFLAGSDEBUG=-g
+CDEFS+=-DGLIBC=2
+DL_LIB=-ldl
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+=-DGLIBC=2 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1
-DSTLPORT_VERSION=$(STLPORT_VER)
-
-# enable visibility define in "sal/types.h"
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-.IF "$(SYSBASE)"!=""
-CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
-CXX+:=$(CFLAGS_SYSBASE)
-CC+:=$(CFLAGS_SYSBASE)
-.ENDIF # "$(SYSBASE)"!=""
-CFLAGS+=-fmessage-length=0 -c
-
-# flags to enable build with symbols; required for crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
-CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
-
-.ENDIF
-
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-# -fpermissive should be removed as soon as possible
-CFLAGSCXX= -pipe $(ARCH_FLAGS)
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CFLAGSCXX += -fvisibility-inlines-hidden
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-CFLAGS_CREATE_PCH=-x c++-header -I$(INCPCH) -DPRECOMPILED_HEADERS
-CFLAGS_USE_PCH=-I$(SLO)$/pch -DPRECOMPILED_HEADERS -Winvalid-pch
-CFLAGS_USE_EXCEPTIONS_PCH=-I$(SLO)$/pch_ex -DPRECOMPILED_HEADERS -Winvalid-pch
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user
interface
-CFLAGSOBJGUIMT=
-# Compiler flags for compiling static object in multi threaded environment with character user
interface
-CFLAGSOBJCUIMT=
-# Compiler flags for compiling shared object in multi threaded environment with graphical user
interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user
interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-.IF "$(PRODUCT)"!=""
-CFLAGSOPT=$(CDEFAULTOPT) # optimizing for products
-
-GCCNUMVERSION_CMD=-dumpversion $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
-GCCNUMVER:=$(shell @-$(CXX) $(GCCNUMVERSION_CMD))
-
-.IF "$(USE_SYSTEM_STL)"!="YES" || "$(GCCNUMVER)" <= "000400050000"
-#STLPort headers are full of aliasing warnings and
-#At least SLED 10.2 gcc 4.3 overly agressively optimizes
-#uno::Sequence into junk, so only strict-alias on compiler
-#later than 4.5.1
-CFLAGSOPT+=-fno-strict-aliasing
-.ENDIF
-.ELSE # "$(PRODUCT)"!=""
-CFLAGSOPT= # no optimizing for non products
-.ENDIF # "$(PRODUCT)"!=""
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O0
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
- -Wno-non-virtual-dtor
-CFLAGSWALLCC=$(CFLAGSWARNCC)
-CFLAGSWALLCXX=$(CFLAGSWARNCXX)
-CFLAGSWERRCC=-Werror
-
-# Once all modules on this platform compile without warnings, set
-# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
-# settings.mk):
-MODULES_WITH_WARNINGS := \
- lotuswordpro \
- soldep
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK*=$(CXX)
-LINKC*=$(CC)
-
-# default linker flags
-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,-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=
-# 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 \
- -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
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-# linker flags for optimization (symbol hashtable)
-# for now, applied to symbol scoped libraries, only
-LINKFLAGSOPTIMIZE*=-Wl,-O1
-LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJVCL=$(L)$/salmain.o
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-.IF "$(ALLOC)" == "TCMALLOC"
-STDLIBGUIMT+=-ltcmalloc
-STDLIBCUIMT+=-ltcmalloc
-STDSHLGUIMT+=-ltcmalloc
-STDSHLCUIMT+=-ltcmalloc
-.ENDIF
-
-.IF "$(ALLOC)" == "JEMALLOC"
-STDLIBGUIMT+=-ljemalloc
-STDLIBCUIMT+=-ljemalloc
-STDSHLGUIMT+=-ljemalloc
-STDSHLCUIMT+=-ljemalloc
-.ENDIF
-
-.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
-LINKFLAGS += -Wl,--hash-style=both
-.ELSE
-LINKFLAGS += -Wl,-zdynsort
-.ENDIF
-
-# libraries for linking applications
-STDLIBGUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-STDLIBCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-# libraries for linking shared libraries
-STDSHLGUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-STDSHLCUIMT+=-Wl,--as-needed -ldl -lpthread -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
-
-.IF "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlportstlg
-LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
-LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
-.ENDIF
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
-#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
-
-# name of library manager
-LIBMGR*=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPRE=lib
-DLLPOST=.so
-PCHPOST=.gch
+.INCLUDE : unxgcc.mk
diff --git a/solenv/inc/unxobsd.mk b/solenv/inc/unxobsd.mk
index 548be65..e0279f8 100644
--- a/solenv/inc/unxobsd.mk
+++ b/solenv/inc/unxobsd.mk
@@ -26,17 +26,6 @@
#*************************************************************************
# Makefile for OpenBSD
-ASM*=
-AFLAGS*=
-SOLAR_JAVA*=
-# default optimization level for product code
-CDEFAULTOPT*=-O2
-# architecture dependent flags for the C and C++ compiler that can be changed by
-# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
-ARCH_FLAGS*=
-# position independent code switch
-PICSWITCH*:=-fpic
-JAVAFLAGSDEBUG=-g
# arch specific defines
.IF "$(CPUNAME)" == "INTEL"
@@ -48,224 +37,10 @@ ARCH_FLAGS*=
BUILD64=1
.ENDIF
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1
-DSTLPORT_VERSION=$(STLPORT_VER)
-
-# enable visibility define in "sal/types.h"
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-.IF "$(SYSBASE)"!=""
-CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
-CXX+:=$(CFLAGS_SYSBASE)
-CC+:=$(CFLAGS_SYSBASE)
-.ENDIF # "$(SYSBASE)"!=""
-CFLAGS+=-fmessage-length=0 -c
-
-# flags to enable build with symbols; required for crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
-CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
-
-.ENDIF
-
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions -DBOOST_NO_EXCEPTIONS
-
-# -fpermissive should be removed as soon as possible
-CFLAGSCXX= -pipe $(ARCH_FLAGS)
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CFLAGSCXX += -fvisibility-inlines-hidden
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-CFLAGS_CREATE_PCH=-x c++-header -I$(INCPCH) -DPRECOMPILED_HEADERS
-CFLAGS_USE_PCH=-I$(SLO)$/pch -DPRECOMPILED_HEADERS -Winvalid-pch
-CFLAGS_USE_EXCEPTIONS_PCH=-I$(SLO)$/pch_ex -DPRECOMPILED_HEADERS -Winvalid-pch
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user
interface
-CFLAGSOBJGUIMT=
-# Compiler flags for compiling static object in multi threaded environment with character user
interface
-CFLAGSOBJCUIMT=
-# Compiler flags for compiling shared object in multi threaded environment with graphical user
interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user
interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-.IF "$(PRODUCT)"!=""
-CFLAGSOPT=$(CDEFAULTOPT) # optimizing for products
-.IF "$(USE_SYSTEM_STL)"!="YES" || "$(CCNUMVER)" <= "000400050000"
-#STLPort headers are full of aliasing warnings and
-#At least SLED 10.2 gcc 4.3 overly agressively optimizes
-#uno::Sequence into junk, so only strict-alias on compiler
-#later than 4.5.1
-CFLAGSOPT+=-fno-strict-aliasing
-.ENDIF
-.ELSE # "$(PRODUCT)"!=""
-CFLAGSOPT= # no optimizing for non products
-.ENDIF # "$(PRODUCT)"!=""
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O0
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
- -Wno-non-virtual-dtor
-CFLAGSWALLCC=$(CFLAGSWARNCC)
-CFLAGSWALLCXX=$(CFLAGSWARNCXX)
-CFLAGSWERRCC=-Werror
-
-# Once all modules on this platform compile without warnings, set
-# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
-# settings.mk):
-MODULES_WITH_WARNINGS := \
- lotuswordpro \
- soldep
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK*=$(CXX)
-LINKC*=$(CC)
+.INCLUDE : unxgcc.mk
# default linker flags
-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,-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=
-# 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 \
- -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
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-# linker flags for optimization (symbol hashtable)
-# for now, applied to symbol scoped libraries, only
-LINKFLAGSOPTIMIZE*=-Wl,-O1
-LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJVCL=$(L)$/salmain.o
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
-LINKFLAGS += -Wl,--hash-style=both
-.ELSE
-LINKFLAGS += -Wl,-zdynsort
-.ENDIF
-
-# libraries for linking applications
-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+=-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
-
-.IF "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlportstlg
-LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
-LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
-.ENDIF
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
-#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
-
-# name of library manager
-LIBMGR*=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
+LINKFLAGSDEFS:=
# platform specific identifier for shared libs
-DLLPRE=lib
-DLLPOST=.so
DLLPOSTFIX=ob
-PCHPOST=.gch
--
1.7.3.1
Context
- [Libreoffice] [PATCH] Use a generic unxgcc.mk · Robert Nagy
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.