2002-05-06 18:07:27 -04:00
|
|
|
# $FreeBSD$
|
2002-05-06 21:01:38 -04:00
|
|
|
|
2014-05-06 00:22:01 -04:00
|
|
|
.include <src.opts.mk>
|
2013-03-22 17:50:32 -04:00
|
|
|
|
2010-05-12 15:59:32 -04:00
|
|
|
GCCVER= 4.2
|
2002-05-28 20:45:51 -04:00
|
|
|
GCCDIR= ${.CURDIR}/../../../contrib/gcc
|
2007-05-19 00:25:59 -04:00
|
|
|
GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
|
2002-05-28 20:45:51 -04:00
|
|
|
SRCDIR= ${.CURDIR}/../../../contrib/libstdc++/libsupc++
|
2002-05-06 21:01:38 -04:00
|
|
|
|
2010-05-12 15:59:32 -04:00
|
|
|
.PATH: ${SRCDIR} ${GCCLIB}/libiberty
|
2002-05-28 20:45:51 -04:00
|
|
|
|
|
|
|
|
LIB= supc++
|
2012-03-31 10:25:12 -04:00
|
|
|
SHLIB_MAJOR=1
|
2007-05-19 00:25:59 -04:00
|
|
|
SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \
|
|
|
|
|
eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \
|
2006-08-18 20:52:54 -04:00
|
|
|
eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \
|
|
|
|
|
eh_type.cc eh_unex_handler.cc guard.cc new_handler.cc new_op.cc \
|
|
|
|
|
new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \
|
|
|
|
|
vec.cc vterminate.cc
|
2002-05-06 21:01:38 -04:00
|
|
|
|
|
|
|
|
# from libiberty:
|
2004-07-28 01:27:21 -04:00
|
|
|
SRCS+= cp-demangle.c
|
2002-05-06 21:01:38 -04:00
|
|
|
|
|
|
|
|
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
|
2007-05-19 00:25:59 -04:00
|
|
|
CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} -I${GCCDIR}
|
|
|
|
|
CFLAGS+= -I${.CURDIR}/../libstdc++ -I.
|
2005-08-17 11:46:18 -04:00
|
|
|
CFLAGS+= -frandom-seed=RepeatabilityConsideredGood
|
2002-05-28 20:45:51 -04:00
|
|
|
CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections
|
2010-01-22 09:09:15 -05:00
|
|
|
PO_CXXFLAGS= ${CXXFLAGS:N-ffunction-sections}
|
2002-05-06 21:01:38 -04:00
|
|
|
|
|
|
|
|
HDRS= exception new typeinfo cxxabi.h exception_defines.h
|
2002-05-12 12:01:00 -04:00
|
|
|
INCS= ${HDRS:S;^;${SRCDIR}/;}
|
2010-05-12 15:59:32 -04:00
|
|
|
INCSDIR=${INCLUDEDIR}/c++/${GCCVER}
|
2007-05-19 00:25:59 -04:00
|
|
|
|
2014-10-01 04:26:51 -04:00
|
|
|
.if ${MACHINE_CPUARCH} == "arm"
|
2013-03-22 17:50:32 -04:00
|
|
|
unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
|
|
|
|
|
.else
|
2007-05-19 00:25:59 -04:00
|
|
|
unwind.h: ${GCCDIR}/unwind-generic.h
|
2013-03-22 17:50:32 -04:00
|
|
|
.endif
|
|
|
|
|
|
2015-11-25 14:44:43 -05:00
|
|
|
unwind.h: .NOMETA
|
2007-05-19 00:25:59 -04:00
|
|
|
ln -sf ${.ALLSRC} ${.TARGET}
|
|
|
|
|
|
|
|
|
|
SRCS+= unwind.h
|
|
|
|
|
CLEANFILES+= unwind.h
|
2002-05-06 21:01:38 -04:00
|
|
|
|
2012-03-31 10:25:12 -04:00
|
|
|
# Symbol versioning
|
|
|
|
|
|
|
|
|
|
VERSION_MAP= ${.CURDIR}/Version.map
|
|
|
|
|
|
2014-05-11 17:07:00 -04:00
|
|
|
CXXFLAGS.clang+= -stdlib=libstdc++
|
2012-03-31 10:25:12 -04:00
|
|
|
|
2002-05-06 21:01:38 -04:00
|
|
|
.include <bsd.lib.mk>
|
2012-10-23 14:57:20 -04:00
|
|
|
|
|
|
|
|
# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
|
|
|
|
|
CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
|