8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 04:43:03 +01:00
firebird-mirror/builds/posix/prefix.solaris
2009-05-25 15:47:20 +00:00

109 lines
3.8 KiB
Plaintext

#
# Compiler settings for Solaris with Sun Studio 12, CC
# Works for all hosts that SS Pro supports (e.g. sparc, amd64, i386)
# Works for 32/64 bit builds, depends on CFLAGS/CXXFLAGS
# Before attempting the Solaris build, you must export necessary
# CFLAGS and CXXFLAGS to be picked up by the configure process and
# subsequent build. Make sure CC is in the path!
#
# for typical 64-bit build
# export CC=cc
# export CXX=CC
# export CFLAGS="-m64"
# export CXXFLAGS=$CFLAGS
# History
# 30-Dec-2002 nmcc FB2 initial working build on Solaris8 with gcc 3.2.1
# 07-Apr-2005 kkuznetsov starting moving to sparc 64
# 20-Mar-2009 wbo refresh for Sun Studio C++ 5.9, Solaris 9+
# Useful predefined macros from Sun Studio
# __SUNPRO_CC, indicates the release number of the compiler, e.g. 0x590
# These macros are predefined by both Sun Studio and g++ when appropriate.
# No need to define again.
# __amd64
# __i386
# __sparc
# __sun
# __unix
# set Instruction Set Architecture, and add any processor specific flags
ISA=$(shell isainfo -k)
ifeq ($(ISA),sparcv9)
# -xcheck=%all, SPARC only, add run time check for stack overflow
ISA_DEV_FLAGS=-xcheck=%all
ISA_COMMON_FLAGS=-xarch=sparcvis2
endif
ifeq ($(ISA),amd64)
ISA_COMMON_FLAGS=-xarch=sse2
endif
# Flags shared by production and debug build
# -m32 | -m64, specify memory model. -m64 means LP64, -m32 means ILP32
# -m64 is default on Intel/AMD architecture, -m32 default on sparc
# -m64 is sufficient to create 64-bit targets on most(?) platforms
# -KPIC, use to compile source files when building a shared library
# -bBinding, specify library binding for linking. Can be symbolic, dynamic, or static
# -features=extensions, allow non-standard C++ commonly accepted by other compilers
# -D_POSIX_C_SOURCE, we are conformant to this posix version
# -D__EXTENSIONS__, access all interfaces and headers not in conflict with posix version
# -D_POSIX_THREAD_SEMANTICS, enable threading extensions
# -erroff=nothrowneww, suppress warning for redefined new with different
# exception specification
# -D_REENTRANT is added by -mt switch, explicit definition not needed
COMMON_FLAGS= -DSOLARIS -DBSD_COMP -D__EXTENSIONS__ \
-D_POSIX_THREAD_SEMANTICS -D_POSIX_THREAD_PRIO_INHERIT -D_POSIX_C_SOURCE=199506L -mt -KPIC \
-erroff=nothrowneww,wvarhidemem $(ISA_COMMON_FLAGS)
# if we keep sfio this needs to be set by configure (or move in to extern directory)
# must use full sfio not stdio emulation to get file handle number fix
#SFIO_DIR=$(SRC_ROOT)/../../../sfio/sfio_2002
#SFIO_DIR=/data01/fb-dev/sfio/sfio_2002
#SFIO_FLAGS= -DSFIO -I$(SFIO_DIR)/include
#SFIO_LDFLAGS= -L$(SFIO)/lib
#these come from configure --with-sfio=/path/to/sfio
SFIO_DIR=@SFIO_DIR@
SFIO_FLAGS=@SFIO_FLAGS@
SFIO_LDFLAGS=@SFIO_LDFLAGS@
# Production flags
# -fast, provides near-maximum performance. **includes** -O5, -libmil, and more!
# -fast must come first, and must be present in compile and link!
# -libmil, use the intrinsic library functions like strlen
# -O, optimize, implies -O3 in Sun Studio 12
PROD_FLAGS= -fast -O -DNDEBUG \
$(COMMON_FLAGS) $(SFIO_FLAGS)
# Debug flags
# -xport64, warn about 32-bit to 64-bit funny stuff, like sign extension
# -w, warn about code that may have "unintended consequences." How nice!
DEV_FLAGS= -g -xs \
$(COMMON_FLAGS) $(SFIO_FLAGS) $(ISA_DEV_FLAGS)
OS_ServerFiles=inet_server.cpp
Server_main_dummy= os/sun/server_main_dummy.cpp
LIB_LINK_OPTIONS= -G
LIB_PLATFORM_RPATH= -R $(1)
LIB_LINK_SONAME= -h $(1)
LIB_LINK_MAPFILE= -M
# link options for Solaris linker, /usr/ccs/bin/ld
#LINK_OPTS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS)
#LIB_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) -shared
EMBED_UTIL_TARGETS=gstat gsec fbguard nbackup fb_lock_print
CLIENT_UTIL_TARGETS=gstat gsec fbguard fbmgr_bin nbackup fb_lock_print
Physical_IO_Module=os/posix/unix.cpp
#LD=CC
LDFLAGS=-library=no%Cstd -mt
UNDEF_PLATFORM=