first commit
This commit is contained in:
167
extern/stdcxx/4.2.1/etc/config/sunpro.config
vendored
Normal file
167
extern/stdcxx/4.2.1/etc/config/sunpro.config
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
# -*- Makefile -*-
|
||||
#
|
||||
# $Id: sunpro.config 580483 2007-09-28 20:55:52Z sebor $
|
||||
#
|
||||
# configuration file for SunPro CC on SunOS
|
||||
#
|
||||
########################################################################
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed
|
||||
# with this work for additional information regarding copyright
|
||||
# ownership. The ASF licenses this file to you under the Apache
|
||||
# License, Version 2.0 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# permissions and limitations under the License.
|
||||
#
|
||||
# Copyright 1999-2007 Rogue Wave Software, Inc.
|
||||
#
|
||||
########################################################################
|
||||
|
||||
CXX = CC
|
||||
|
||||
# extract the "C++ m.n" substring from version string (whcih changes
|
||||
# from one release of the compiler to another)
|
||||
CCVER := $(shell $(CXX) -V 2>&1 | head -n1 \
|
||||
| sed 's/.*C++ *\([^ ]*\).*/\1/')
|
||||
CCMAJOR := $(shell echo $(CCVER) | cut -f1 -d'.')
|
||||
CCMINOR := $(shell echo $(CCVER) | cut -f2 -d'.')
|
||||
|
||||
ifeq ($(shell expr $(CCMAJOR) = 5 \& $(CCMINOR) = 9),1)
|
||||
# in Sun C++ 5.9 -xM can only be used with C and C++ files
|
||||
# and it produces the wrong results with .{S,s} files
|
||||
DEPENDFLAGS.cpp = -xM
|
||||
|
||||
# deliberately undefined:
|
||||
# DEPENDFLAGS.S =
|
||||
# DEPENDFLAGS =
|
||||
else
|
||||
DEPENDFLAGS = -xM
|
||||
endif
|
||||
|
||||
WARNFLAGS = +w
|
||||
|
||||
ifeq ($(shell expr \( $(CCMAJOR) = 5 \& $(CCMINOR) \> 6 \) \
|
||||
\| $(CCMAJOR) \> 5),1)
|
||||
# for Sun C++ 5.7 and beyond, enable diagnostic "tags" in compiler output
|
||||
# and use -erroff to silence Warning: std::stringstream::rdbuf hides the
|
||||
# function std::ios::rdbuf(std::streambuf*) (see STDCXX-344)
|
||||
WARNFLAGS += -errtags -erroff=hidef
|
||||
endif
|
||||
|
||||
PICFLAGS = -KPIC
|
||||
LDSOFLAGS =
|
||||
CXXFLAGS = -library=%none
|
||||
CXXPRELINK =
|
||||
CPPFLAGS =
|
||||
LDFLAGS = -library=%none
|
||||
LDSOFLAGS = -G
|
||||
|
||||
# use CC to invoke the compiler (needed to pick up template
|
||||
# instantiations from SunWS_cache)
|
||||
AR = CC
|
||||
ARFLAGS = -xar -o
|
||||
|
||||
# The flag(s) to use to embed a library search path into generated executables.
|
||||
RPATH = -R
|
||||
|
||||
# debug/optimization options
|
||||
DEBUG_CXXFLAGS = -g
|
||||
DEBUG_CPPFLAGS =
|
||||
|
||||
OPTMZ_CXXFLAGS = -O
|
||||
OPTMZ_CPPFLAGS =
|
||||
|
||||
# shared/static library options
|
||||
SHARED_CXXFLAGS =
|
||||
SHARED_CPPFLAGS =
|
||||
SHARED_LDFLAGS =
|
||||
|
||||
STATIC_CXXFLAGS =
|
||||
STATIC_CPPFLAGS =
|
||||
STATIC_LDFLAGS =
|
||||
|
||||
# multi/single thread options; -mt defines _REENTRANT
|
||||
MULTI_CPPFLAGS_POSIX = -mt
|
||||
MULTI_CPPFLAGS_SOLARIS = -mt -D_RWSTD_SOLARIS_THREADS
|
||||
MULTI_CPPFLAGS_DCE =
|
||||
|
||||
# avoid linking with the redundant libpthread and libthread
|
||||
# on Solaris 10 and beyond to prevent error 543
|
||||
ifeq ($(OSNAME),SunOS)
|
||||
OSVER = $(shell uname -r)
|
||||
OSMAJOR = $(shell echo $(OSVER) | sed "s/\([0-9][0-9]*\)\..*/\1/")
|
||||
OSMINOR = $(shell echo $(OSVER) | sed "s/[^.]*\.\([0-9][0-9]*\)/\1/")
|
||||
|
||||
ifneq ($(shell expr $(OSMAJOR) \> 5 \| $(OSMINOR) = 10),1)
|
||||
LIBPTHREAD = -lpthread
|
||||
LIBTHREAD = -lthread
|
||||
endif
|
||||
else
|
||||
LIBPTHREAD = -lpthread
|
||||
LIBTHREAD = -lthread
|
||||
endif
|
||||
|
||||
MULTI_LDFLAGS_POSIX = -mt $(LIBPTHREAD)
|
||||
MULTI_LDFLAGS_SOLARIS = -mt $(LIBTHREAD)
|
||||
MULTI_LDFLAGS_DCE =
|
||||
|
||||
# POSIX
|
||||
MULTI_CPPFLAGS = $(MULTI_CPPFLAGS_POSIX)
|
||||
MULTI_LDFLAGS = $(MULTI_LDFLAGS_POSIX)
|
||||
|
||||
SINGL_CPPFLAGS =
|
||||
SINGL_LDFLAGS =
|
||||
|
||||
ifeq ($(shell expr $(CCMAJOR) \>= 5 \& $(CCMINOR) \>= 9),1)
|
||||
|
||||
# starting with Sun C++ 5.9, the compiler prefers the generic
|
||||
# -m32 and -m64 options to the architecture specific -xarch
|
||||
# options some of which have been deprecated
|
||||
wide_flags = -m64
|
||||
narrow_flags = -m32
|
||||
else
|
||||
# (try to) determine the architecture via the (non-standard)
|
||||
# -p option recognized on (at least) Linux and Solaris
|
||||
arch := $(shell uname -p 2>/dev/null)
|
||||
|
||||
ifeq ($(arch),sparc)
|
||||
# wide (64-bit) flags -- must be set explicitly
|
||||
# narrow (32-bit) flags are implicit on SPARC
|
||||
wide_flags = -xarch=v9
|
||||
narrow_flags = -xarch=v8
|
||||
else
|
||||
# wide (64-bit) flags -- must be set explicitly
|
||||
# narrow (32-bit) flags are implicit on AMD64
|
||||
ifeq ($(OSNAME),SunOS)
|
||||
# Solaris uname -p prints i386 on AMD64, use the optisa
|
||||
# command to deterrmine "the best" architecture
|
||||
arch := $(shell optisa amd64)
|
||||
endif
|
||||
ifeq ($(arch),amd64)
|
||||
wide_flags = -xarch=amd64
|
||||
narrow_flags = -xarch=386 # the default (same as generic)
|
||||
else
|
||||
wide_flags = -xarch=generic64
|
||||
narrow_flags = -xarch=generic # the default (same as 386)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
CXXFLAGS.wide = $(wide_flags)
|
||||
LDFLAGS.wide = $(wide_flags)
|
||||
LDSOFLAGS.wide = $(wide_flags)
|
||||
ARFLAGS.wide =
|
||||
|
||||
CXXFLAGS.narrow = $(narrow_flags)
|
||||
LDFLAGS.narrow = $(narrow_flags)
|
||||
LDSOFLAGS.narrow = $(narrow_flags)
|
||||
ARFLAGS.narrow =
|
||||
Reference in New Issue
Block a user