SunOS build consolidation:

build/config/SunOS renamed to SunOS-SunForte
added build/config/SunOS-SunStudio
modified build/rules/global to select proper configuration based on detected Sun compiler version
disabled spurious hidevf warning for Data/testsuite and Data/SQLite Sun build
This commit is contained in:
Aleksandar Fabijanic 2008-05-28 19:08:40 +00:00
parent d0a169567b
commit 4e774e71aa
6 changed files with 113 additions and 5 deletions

View File

@ -11,6 +11,14 @@ include $(POCO_BASE)/build/rules/global
SYSFLAGS += -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_PROGRESS_CALLBACK \
-DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_TCL_VARIABLE
ifeq ($(findstring SunOS,$(POCO_HOST_OSNAME)),SunOS)
POCO_SUN_FORTE = $(findstring SunOS-SunForte, $(POCO_CONFIG))
POCO_SUN_STUDIO = $(findstring SunOS-SunStudio, $(POCO_CONFIG))
ifneq (,$or ($(POCO_SUN_FORTE), $(POCO_SUN_STUDIO)))
CXXFLAGS += -erroff=hidevf
endif
endif
objects = Binder Extractor SessionImpl Connector \
SQLiteException SQLiteStatementImpl Utility \
sqlite3

View File

@ -8,6 +8,14 @@
include $(POCO_BASE)/build/rules/global
ifeq ($(findstring SunOS,$(POCO_HOST_OSNAME)),SunOS)
POCO_SUN_FORTE = $(findstring SunOS-SunForte, $(POCO_CONFIG))
POCO_SUN_STUDIO = $(findstring SunOS-SunStudio, $(POCO_CONFIG))
ifneq (,$or ($(POCO_SUN_FORTE), $(POCO_SUN_STUDIO)))
CXXFLAGS += -erroff=hidevf
endif
endif
objects = DataTestSuite Driver \
DataTest SessionPoolTest \
Binder Extractor Preparation SessionImpl Connector TestStatementImpl

View File

@ -0,0 +1,70 @@
#
# $Id: //poco/Main/build/config/SunStudio#1 $
#
# SunStudio
#
# Build settings for SunOS/Sun Studio C++
#
#
# General Settings
#
LINKMODE = SHARED
#
# Tools
#
CC = cc
CXX = CC
LINK = $(CXX)
LIB = $(CXX) -xar -o $@
RANLIB = ranlib
SHLIB = $(CXX) $(LINKFLAGS) -G -o $@ -h$(notdir $@)
SHLIBLN = $(POCO_BASE)/build/script/shlibln
STRIP =
DEP = $(POCO_BASE)/build/script/makedepend.SunCC
SHELL = sh
RM = rm -rf
CP = cp
MKDIR = mkdir -p
#
# Extension for Shared Libraries
#
SHAREDLIBEXT = .so.$(target_version)
SHAREDLIBLINKEXT = .so
#
# Compiler and Linker Flags
#
CFLAGS = -mt -Isrc
CFLAGS32 =
CFLAGS64 = -m64
CXXFLAGS = -m32 -mt -library=stlport4
CXXFLAGS32 =
CXXFLAGS64 = -m64
LINKFLAGS = -m32 -mt -library=stlport4
LINKFLAGS32 = -m32
LINKFLAGS64 = -m64
STATICOPT_CC =
STATICOPT_CXX =
STATICOPT_LINK = -Bstatic
SHAREDOPT_CC = -KPIC
SHAREDOPT_CXX = -KPIC
SHAREDOPT_LINK = -Bdynamic
DEBUGOPT_CC = -g -xs -D_DEBUG=$(DEBUGLEVEL)
DEBUGOPT_CXX = -g -xs -D_DEBUG=$(DEBUGLEVEL)
DEBUGOPT_LINK = -g -xs
RELEASEOPT_CC = -O -DNDEBUG
RELEASEOPT_CXX = -O -DNDEBUG
RELEASEOPT_LINK =
#
# System Specific Flags
#
SYSFLAGS = -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS
#
# System Specific Libraries
#
SYSLIBS = -lpthread -lrt -lxnet -lsocket -lnsl -lresolv -ldl

View File

@ -1,7 +1,7 @@
#
# $Id: //poco/Main/build/rules/compile#8 $
#
# compiile
# compile
#
# Compile rule definitions for makefiles
#

View File

@ -55,13 +55,35 @@ ifeq ($(findstring MINGW,$(POCO_HOST_OSNAME)),MINGW)
POCO_HOST_OSNAME = MinGW
endif
# Begin Sun platforms
#
# Pure Solaris or GNU (Nexenta), Sun Forte and Sun Studio compilers supported
# (on Nexenta, the default compiler is g++)
#
ifeq ($(findstring SunOS,$(POCO_HOST_OSNAME)),SunOS)
POCO_HOST_ALL_OSNAME = $(shell uname -a)
ifeq ($(findstring Nexenta,$(POCO_HOST_ALL_OSNAME)),Nexenta)
POCO_HOST_OSNAME = Nexenta
endif
# detect if this is Nexenta platform
POCO_HOST_ALL_OSNAME := $(shell uname -a)
ifeq ($(findstring Nexenta,$(POCO_HOST_ALL_OSNAME)),Nexenta)
POCO_HOST_OSNAME := Nexenta
else # Up to version 5.5 SunOS-SunForte config is used, 5.6 and above use SunOS-SunStudio
POCO_COMPILER_NAME := $(shell CC -V 2>&1)
POCO_COMPILER_VERSION := $(subst .,,$(filter 5.%,$(POCO_COMPILER_NAME)))
ifeq (0, $(shell test $(POCO_COMPILER_VERSION) -gt 55; echo $$?))
POCO_CONFIG := SunOS-SunStudio
else
POCO_CONFIG := SunOS-SunForte
endif
endif
endif
#
# End Sun Platforms
#
#
# If POCO_CONFIG is not set, use the OS name as configuration name
#