diff options
author | cognet <cognet@FreeBSD.org> | 2013-03-22 21:50:32 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2013-03-22 21:50:32 +0000 |
commit | 45f62f67d30e33d8fa4d0e6d3a3a0ff5a231f18f (patch) | |
tree | d32f5be75ffedcf8bf0ee71af6ca49a8fa02a3e9 /gnu | |
parent | be2f56b8d7746e3a931d3f607c34cf88e72f901b (diff) | |
download | FreeBSD-src-45f62f67d30e33d8fa4d0e6d3a3a0ff5a231f18f.zip FreeBSD-src-45f62f67d30e33d8fa4d0e6d3a3a0ff5a231f18f.tar.gz |
As it's done for libstdc++, use SJLJ-based exceptions on arm when we're not
using EABI, and use unwind-arm.h instead of unwind-generic.h when using EABI.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/lib/libsupc++/Makefile | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gnu/lib/libsupc++/Makefile b/gnu/lib/libsupc++/Makefile index 9068615..ee6c601 100644 --- a/gnu/lib/libsupc++/Makefile +++ b/gnu/lib/libsupc++/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + GCCVER= 4.2 GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -20,6 +22,9 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \ SRCS+= cp-demangle.c CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H +.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} == "no" +CFLAGS+= -D_GLIBCXX_SJLJ_EXCEPTIONS=1 +.endif CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} -I${GCCDIR} CFLAGS+= -I${.CURDIR}/../libstdc++ -I. CFLAGS+= -frandom-seed=RepeatabilityConsideredGood @@ -30,7 +35,13 @@ HDRS= exception new typeinfo cxxabi.h exception_defines.h INCS= ${HDRS:S;^;${SRCDIR}/;} INCSDIR=${INCLUDEDIR}/c++/${GCCVER} +.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" +unwind.h: ${GCCDIR}/config/arm/unwind-arm.h +.else unwind.h: ${GCCDIR}/unwind-generic.h +.endif + +unwind.h: ln -sf ${.ALLSRC} ${.TARGET} SRCS+= unwind.h |