summaryrefslogtreecommitdiffstats
path: root/lib/clang/clang.build.mk
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2010-07-22 19:09:34 +0000
committerrpaulo <rpaulo@FreeBSD.org>2010-07-22 19:09:34 +0000
commitf2d14f41cfaba8b7f13b549c183c6c939670cfad (patch)
tree8f739694685ee950c59aaa294112a414c90d2028 /lib/clang/clang.build.mk
parent85cc5d9d3e19a527f230ceab8f6e2f965484aae8 (diff)
downloadFreeBSD-src-f2d14f41cfaba8b7f13b549c183c6c939670cfad.zip
FreeBSD-src-f2d14f41cfaba8b7f13b549c183c6c939670cfad.tar.gz
Build clang libraries by default with -fno-exceptions and with
-fno-rtti. The clang libaries that really use exceptions and virtual functions can enable LLVM_REQUIRES_EH and LLVM_REQUIRES_RTTI respectively. This saves space on the resulting binaries and follows what's being done upstream. Submitted by: Dimitry Andric <dimitry at andric.com>
Diffstat (limited to 'lib/clang/clang.build.mk')
-rw-r--r--lib/clang/clang.build.mk11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk
index fad4317..6351eda 100644
--- a/lib/clang/clang.build.mk
+++ b/lib/clang/clang.build.mk
@@ -17,6 +17,17 @@ TARGET_ARCH?= ${MACHINE_ARCH}
# XXX: 8.0, to keep __FreeBSD_cc_version happy
CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH}-undermydesk-freebsd9.0\"
+.ifndef LLVM_REQUIRES_EH
+CFLAGS+=-fno-exceptions
+.else
+# If the library or program requires EH, it also requires RTTI.
+LLVM_REQUIRES_RTTI=
+.endif
+
+.ifndef LLVM_REQUIRES_RTTI
+CFLAGS+=-fno-rtti
+.endif
+
.PATH: ${LLVM_SRCS}/${SRCDIR}
TBLGEN=tblgen ${CFLAGS:M-I*}
OpenPOWER on IntegriCloud