blob: 4bb934736944ec59327713cd14a34241cdf8fda4 [file] [log] [blame]
#
# $Id$
#
# configuration file for Intel C++
#
##############################################################################
#
# 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 = icc
ifeq ($(shell uname -m),ia64)
# check if icc works (prior to 8.0 the name of the IA64 compiler was ecc
ifneq ($(shell $(CXX) -v >/dev/null 2>&1 && echo $$?),0)
CXX = ecc
endif
endif
CCVER := $(shell $(CXX) -V foo.c 2>&1 | sed -n "s/.*Version *\([0-9.]*\).*/\1/p")
CXX_MAJOR := $(shell echo "$(CCVER)" | sed "s/^\([1-9][0-9]*\).*/\1/")
CXX_MINOR := $(shell echo "$(CCVER)" | sed "s/[1-9]*\.\([0-9]*\).*/\1/")
CPPFLAGS = -I$(TOPDIR)/include/ansi
WARNFLAGS = -w1
PHWARNFLAGS =
DEPENDFLAGS = -M
PICFLAGS = -fpic
PRELINKFLAGS =
ICCDIR = `which $(CXX) | sed 's:bin/$(CXX):lib:'`
LDSOFLAGS = -shared
# -cxxlib-nostd, present in all compilers since 8.1, will be documented in 10.x
ifeq ($(shell [ $(CXX_MAJOR) -gt 8 -o $(CXX_MAJOR) -eq 8 -a $(CXX_MINOR) -ge 1 ]), 0)
LD = $(CXX) -no_cpprt $(ICCDIR)/crtxi.o
CXXFLAGS = -Xc -no_cpprt
LDFLAGS =
LDLIBS = -Bstatic -lcxa -lunwind -Bdynamic $(ICCDIR)/crtxn.o
else
LD = $(CXX)
CXXFLAGS = -cxxlib-nostd
LDFLAGS = -cxxlib-nostd
LDLIBS = -lcxaguard -lsupc++
endif
# The flag(s) to use to embed a library search path into generated executables.
RPATH = -Wl,-R
# debug/optimization options
DEBUG_CXXFLAGS = -g
DEBUG_CPPFLAGS =
OPTMZ_CXXFLAGS = -O2
OPTMZ_CPPFLAGS =
# shared/archive library options
SHARED_CXXFLAGS =
SHARED_CPPFLAGS =
SHARED_LDFLAGS =
STATIC_CXXFLAGS =
STATIC_CPPFLAGS =
STATIC_LDFLAGS =
# compiler and linker flags for thread safety
MULTI_CPPFLAGS_POSIX = -D_REENTRANT
MULTI_CPPFLAGS_SOLARIS =
MULTI_CPPFLAGS_DCE =
MULTI_LDFLAGS_POSIX = -lpthread
MULTI_LDFLAGS_SOLARIS =
MULTI_LDFLAGS_DCE =
# POSIX
MULTI_CPPFLAGS = $(MULTI_CPPFLAGS_POSIX)
MULTI_LDFLAGS = $(MULTI_LDFLAGS_POSIX)
SINGL_CPPFLAGS =
SINGL_LDFLAGS =