# # Compiler settings for Solaris (Sparc) # # This file is processed by configure and the output written to # gen/make.platform which is included in src directory makefiles # before other common make files ie: make.[rules|defaults|shared.variables] # # 30-Dec-2002 nmcc FB2 initial working build on Solaris8 with gcc 3.2.1 # 18-apr-2005 kkuznetsov FB2 Solaris 32 bits update (only gcc) as Ray Holme story talks # Firebird defines specific to Solaris (and x86) build CFLAGS_COMMON= -DSOLARIS -DSOLARIS_MT -DBSD_COMP -Dsparc # compile flags for GCC compiler COMMON_GCC_FLAGS= -MMD -fPIC -m32 #Sun AS do not eat pipes DEBUG_GCC_FLAGS= -ggdb -g3 -Wall -Wno-switch -Wcast-align PROD_GCC_FLAGS= -mcpu=ultrasparc -mtune=ultrasparc -O2 -DNDEBUG #Ray Holme suggest using O2 # compile flags for SUNWspro/Forte compiler - untested nmcc dec2002 COMMON_FORTE_FLAGS= -Xt -xstrconst -mt -K PIC DEBUG_FORTE_FLAGS= -v -g PROD_FORTE_FLAGS= -O2 -w # pick up local flags specified an configure time # if you have CFLAGS set as env var when running configure they will # end up here, unset them before running make or they will be duplicated. LOCAL_CFLAGS=@CFLAGS@ LOCAL_CPPFLAGS=@CPPFLAGS@ LOCAL_LDFLAGS=@LDFLAGS@ # don't clear cflags here as some module makefiles set it (BOOTBUILD) before this # file is included but not all so cflags get duplicated when compiling some modules # 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@ PROD_FLAGS= $(CFLAGS_COMMON) $(SFIO_FLAGS) $(COMMON_GCC_FLAGS) $(PROD_GCC_FLAGS) \ $(LOCAL_CFLAGS) DEV_FLAGS= $(CFLAGS_COMMON) $(SFIO_FLAGS) $(COMMON_GCC_FLAGS) $(DEBUG_GCC_FLAGS) \ $(LOCAL_CFLAGS) # extra modules needed on this platform during bootstrap phase GPRECOMMON_Files= ../jrd/ThreadData.cpp ../jrd/isc_sync.cpp GPRECommon_Sources= $(GPRECOMMON_Files) JRDBOOT_Extra_Files= isc_sync.cpp GFIX_Other_Sources= jrd/isc_sync.cpp jrd/os/posix/isc_ipc.cpp DROP_Other_Sources= jrd/ThreadData.cpp LOCKPRINT_Other_Sources= jrd/ThreadData.cpp Server_main_dummy = os/sun/server_main_dummy.cpp OS_ServerFiles= LIB_LINK_OPTIONS:= -G LIB_LINK_RPATH:=-R LIB_LINK_SONAME:=-h LIB_LINK_MAPFILE= -Xlinker -M EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print CLIENT_UTIL_TARGETS=gds_drop gds_relay gstat gsec fbguard fbmgr_bin nbackup fb_lock_print Physical_IO_Module=os/posix/unix.cpp LD=g++ LDFLAGS=-m32 #/usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/gmon.o #gmon.o is a work-a-round of SF Compile Farm gcc 3.3.2 (undefined symbol _mcount) LINK_OPTS:=$(LDFLAGS)