729d7abfec
2007/10/02 09:47:38 sb 1.32.16.6: RESYNC: (1.39-1.40); FILE MERGED 2007/08/23 17:49:32 sb 1.32.16.5: RESYNC: (1.36-1.39); FILE MERGED 2007/06/15 08:12:53 sb 1.32.16.4: RESYNC: (1.34-1.36); FILE MERGED 2007/06/14 15:09:32 sb 1.32.16.3: #i75466# Replaced LINKFLAGSRUNPATH with more flexible APP|SHLnRPATH. 2007/05/30 14:07:29 sb 1.32.16.2: RESYNC: (1.32-1.34); FILE MERGED 2007/04/13 14:53:12 sb 1.32.16.1: #i75466# Added ure-link/lib to the general LINKFLAGSRUNPATH (in cases to which this does not pertain the bogus additional path is harmless, but still should be cleaned away).
246 lines
7.1 KiB
Makefile
246 lines
7.1 KiB
Makefile
#*************************************************************************
|
|
#
|
|
# OpenOffice.org - a multi-platform office productivity suite
|
|
#
|
|
# $RCSfile: unxlngi6.mk,v $
|
|
#
|
|
# $Revision: 1.41 $
|
|
#
|
|
# last change: $Author: vg $ $Date: 2007-10-15 12:41:01 $
|
|
#
|
|
# The Contents of this file are made available subject to
|
|
# the terms of GNU Lesser General Public License Version 2.1.
|
|
#
|
|
#
|
|
# GNU Lesser General Public License Version 2.1
|
|
# =============================================
|
|
# Copyright 2005 by Sun Microsystems, Inc.
|
|
# 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License version 2.1, as published by the Free Software Foundation.
|
|
#
|
|
# This library 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 for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
# MA 02111-1307 USA
|
|
#
|
|
#*************************************************************************
|
|
|
|
# mk file for unxlngi6
|
|
ASM=
|
|
AFLAGS=
|
|
|
|
SOLAR_JAVA*=
|
|
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+=$(PTHREAD_CFLAGS) -DGLIBC=2 -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
|
|
|
|
# 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
|
|
|
|
# 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*=-mtune=pentiumpro
|
|
|
|
# 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)
|
|
PICSWITCH:=-fpic
|
|
.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=-Os -fno-strict-aliasing # optimizing for products
|
|
.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 := \
|
|
extensions \
|
|
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'\'
|
|
# flag -Wl,-z,noexecstack sets the NX bit on the stack
|
|
LINKFLAGS=-Wl,-z,noexecstack -Wl,-z,combreloc $(LINKFLAGSDEFS)
|
|
|
|
# linker flags for linking applications
|
|
LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
|
|
LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
|
|
|
|
# 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 "$(HAVE_LD_HASH_STYLE)" == "TRUE"
|
|
LINKFLAGS += -Wl,--hash-style=both
|
|
.ELSE
|
|
LINKFLAGS += -Wl,-zdynsort
|
|
.ENDIF
|
|
|
|
# libraries for linking applications
|
|
STDLIBGUIMT+=-lX11 -ldl -lpthread -lm
|
|
STDLIBCUIMT+=-ldl -lpthread -lm
|
|
# libraries for linking shared libraries
|
|
STDSHLGUIMT+=-lX11 -lXext -ldl -lpthread -lm
|
|
STDSHLCUIMT+=-ldl -lpthread -lm
|
|
|
|
LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
|
|
|
|
.IF "$(USE_STLP_DEBUG)" != ""
|
|
LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
|
|
LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
|
|
.ELSE # "$(USE_STLP_DEBUG)" != ""
|
|
LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
|
|
LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
|
|
.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
|
|
DLLPOSTFIX=li
|
|
DLLPRE=lib
|
|
DLLPOST=.so
|
|
PCHPOST=.gch
|
|
|