diff options
author | Rüdiger Timm <rt@openoffice.org> | 2008-06-16 13:19:01 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2008-06-16 13:19:01 +0000 |
commit | e1fbbe4193d158e4bb812f03af1f02ae3141591e (patch) | |
tree | 1607e24f5a20b56aebf3eb464395a3c1b34fb799 /solenv/inc/unxsolu4.mk | |
parent | e7f7857e5250cf57a108d11ceb620db0be00b841 (diff) |
INTEGRATION: CWS hr51 (1.1.2); FILE ADDED
2008/06/06 14:41:31 hr 1.1.2.2: #i88947#: Solaris 64 bit support
2008/05/14 14:47:51 hr 1.1.2.1: #i33126#: support for Solaris LP64
Diffstat (limited to 'solenv/inc/unxsolu4.mk')
-rw-r--r-- | solenv/inc/unxsolu4.mk | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/solenv/inc/unxsolu4.mk b/solenv/inc/unxsolu4.mk new file mode 100644 index 000000000000..f60d237f73b5 --- /dev/null +++ b/solenv/inc/unxsolu4.mk @@ -0,0 +1,239 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: unxsolu4.mk,v $ +# +# $Revision: 1.2 $ +# +# 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. +# +#************************************************************************* + + +# 64 bit (LP64) platform +IS_LP64=TRUE + +ASM=/usr/ccs/bin/as +AFLAGS=-P -xarch=v9 + + +CDEFS+=-D_PTHREADS -DSYSV -DSUN -DSUN4 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DIS_LP64 + +SOLAR_JAVA*=TRUE +.IF "$(SOLAR_JAVA)"!="" +JAVADEF=-DSOLAR_JAVA +JAVAFLAGSDEBUG=-g +.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*=-m64 + +CXX*=CC +CC*=cc + +CFLAGS=$(PREENVCFLAGS) -c -temp=/tmp +CFLAGSCC=-xCC $(ARCH_FLAGS) +CFLAGSCXX= -features=no%altspell -library=stlport4 $(ARCH_FLAGS) + +# flags to enable build with symbols; required for crashdump feature +CFLAGSENABLESYMBOLS=-g0 -xs # was temporarily commented out, reenabled before Beta +CFLAGSENABLESYMBOLS_CC_ONLY=-g -xs # was temporarily commented out, reenabled before Beta + +CFLAGSEXCEPTIONS= +CFLAGS_NO_EXCEPTIONS=-noex + +CFLAGSOBJGUIMT=-KPIC -mt +CFLAGSOBJCUIMT=-KPIC -mt +CFLAGSSLOGUIMT=-KPIC -mt +CFLAGSSLOCUIMT=-KPIC -mt +CFLAGSPROF=-xpg +CFLAGSDEBUG=-g +CFLAGSDBGUTIL= +# -xO3 optimization level 3 +CFLAGSOPT= -xO3 -xalias_level=compatible +CFLAGSNOOPT= +CFLAGSOUTOBJ=-o + +# Warnings switched off for CXX: +# - doubunder: we have many identifiers containing double underscores, some of +# them in the stable UDK API we cannot change +# - inllargeuse: "function is too large and will not be expanded inline" is +# merely a hint +# - inllargeint: "function is too large to generate inline, consider writing +# it yourself" is merely a hint +# - notemsource: "could not find source for function" appears to be spurious +# - reftotemp: warns about calling non-const functions on temporary objects, +# something legally done by boost::scoped_array<T>::reset, for example +# (this_type(p).swap(*this)) +# - truncwarn: "conversion of 64 bit type value to smaller type causes +# truncation" at least with CC 5.8 is reported only at the end of a +# compilation unit that uses std::hash_map<sal_Int64, sal_Int64> (see +# sfx2/source/toolbox/imgmgr.cxx:1.27) and thus unfortunately needs to be +# disabled globally +# - wnoretvalue: "The last statement should return a value." +# CC 5.9: the compiler does often not notice that there is no way +# to reach the closing brace of a function without either returning a proper +# value or throwing an exception. +# - hidef: "d::foo() hides the function b::foo()." We got still some cases of mixed +# sal_uInt32 and ULONG usages which needs to be fixed. We can then remove this one +CFLAGSWARNCC= +CFLAGSWARNCXX=+w2 -erroff=doubunder,inllargeuse,inllargeint,notemsource,reftotemp,truncwarn,wnoretvalue,hidef,anonnotype,unassigned,badargtype2w +CFLAGSWALLCC=$(CFLAGSWARNCC) +CFLAGSWALLCXX=$(CFLAGSWARNCXX) +CFLAGSWERRCC=-errwarn=%all +CFLAGSWERRCXX=-xwe + +# 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 := \ + soldep + +STDOBJVCL=$(L)$/salmain.o + +THREADLIB= +LINK=$(CXX) +LINKC=$(CC) + +# link against set of baseline libraries +.IF "$(SYSBASE)"!="" +C_RESTRICTIONFLAGS*=-xc99=none +LD_OPTIONS+=-L$(SYSBASE)$/usr$/lib +CDEFS+=-DSYSBASE="$(SYSBASE)" +CFLAGSCC+=$(C_RESTRICTIONFLAGS) +.EXPORT : LD_OPTIONS +.ENDIF # "$(SYSBASE)"!="" + +# -z combreloc combines multiple relocation sections. Reduces overhead on startup +# -norunpath prevents the compiler from recording his own libs in the runpath +LINKFLAGSRUNPATH_URELIB=-R\''$$ORIGIN'\' +LINKFLAGSRUNPATH_UREBIN=-R\''$$ORIGIN/../lib:$$ORIGIN'\' + #TODO: drop $ORIGIN once no URE executable is also shipped in OOo +LINKFLAGSRUNPATH_OOO=-R\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\' +LINKFLAGSRUNPATH_BRAND=-R\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\' +LINKFLAGSRUNPATH_OXT= +LINKFLAGS=-m64 -w -mt -z combreloc -PIC -temp=/tmp -norunpath -library=stlport4 +LINKCFLAGS=-m64 -w -mt -z combreloc -norunpath + +# -z text force fatal error if non PIC code is linked into shared library. Such code +# would be expensive on startup +CHECKFORPIC =-z text +LINKFLAGSSHLGUI=$(CHECKFORPIC) -G +LINKFLAGSSHLCUI=$(CHECKFORPIC) -G + +# switches for dynamic and static linking +LINKFLAGSDEFS*= -z defs +STATIC = -Bstatic +DIRECT = -Bdirect $(LINKFLAGSDEFS) +DYNAMIC = -Bdynamic + +LINKFLAGSAPPGUI+=$(DIRECT) +LINKFLAGSAPPCUI+=$(DIRECT) +LINKFLAGSSHLGUI+=$(DIRECT) +LINKFLAGSSHLCUI+=$(DIRECT) + +LINKFLAGSTACK= +LINKFLAGSPROF= +LINKFLAGSDEBUG= +LINKFLAGSOPT= +LINKVERSIONMAPFLAG=-M + +# mapfile for non-executable stack +LINKFLAGSNOEXSTK*=$(LINKVERSIONMAPFLAG) $(SOLARENV)/src/solaris_noexstk.map +LINKFLAGSAPPGUI+=$(LINKFLAGSNOEXSTK) +LINKFLAGSAPPCUI+=$(LINKFLAGSNOEXSTK) + +APPLINKSTATIC=$(STATIC) +APPLINKSHARED=$(DIRECT) +APP_LINKTYPE= + +STDLIBCPP=-lCrun + +# reihenfolge der libs NICHT egal! +STDOBJGUI= +.IF "DBG_UTIL" != "" +STDSLOGUI=#-lpthread +.ELSE +STDSLOGUI= +.ENDIF +STDOBJCUI= +STDSLOCUI= + +# CPPRUNTIME - define where to place C++ runtime if required +STDLIBGUIMT=$(DYNAMIC) -lpthread -lm +STDLIBCUIMT=$(DYNAMIC) -lpthread -lm +STDSHLGUIMT=$(DYNAMIC) -lpthread CPPRUNTIME -lm -lc +STDSHLCUIMT=$(DYNAMIC) -lpthread CPPRUNTIME -lm -lc + +# libdl.so - no really an GUI library but required in this context +STDLIBGUIMT+=-lX11 -ldl +STDSHLGUIMT+=-lX11 -ldl + +# @@@ interposer needed for -Bdirect @@@ +# LIBSALCPPRT*=-z allextract -lsalcpprt -z defaultextract +LIBSALCPPRT= + +.IF "$(USE_STLP_DEBUG)" != "" +LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro_debug +LIBSTLPORTST=$(STATIC) -lstlport_sunpro_debug $(DYNAMIC) +.ELSE +LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro +LIBSTLPORTST=$(STATIC) -lstlport_sunpro $(DYNAMIC) +.ENDIF # "$(USE_STLP_DEBUG)" != "" + +LIBMGR=CC +LIBFLAGS=-xar -o + +IMPLIB= +IMPLIBFLAGS= + +MAPSYM= +MAPSYMFLAGS= +IGNORE_SYMBOLS=S-ILP32 + +RC=irc +RCFLAGS=-fo$@ $(RCFILES) +RCLINK= +RCLINKFLAGS= +RCSETVERSION= + +DLLPOSTFIX=su + +DLLPRE=lib +DLLPOST=.so + +LDUMP=cppfilt /b /n /o /p + +CFLAGSCXXSLO += +CFLAGSCXXOBJ += + +LINKFLAGSAPPGUI+= +LINKFLAGSSHLGUI+= +LINKFLAGSAPPCUI+= +LINKFLAGSSHLCUI+= |