svn commit: r210388 - in head: lib/clang lib/clang/libllvmcore
lib/clang/libllvmsupport lib/clang/libllvmsystem
usr.bin/clang/tblgen
Rui Paulo
rpaulo at FreeBSD.org
Thu Jul 22 19:09:35 UTC 2010
Author: rpaulo
Date: Thu Jul 22 19:09:34 2010
New Revision: 210388
URL: http://svn.freebsd.org/changeset/base/210388
Log:
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>
Modified:
head/lib/clang/clang.build.mk
head/lib/clang/libllvmcore/Makefile
head/lib/clang/libllvmsupport/Makefile
head/lib/clang/libllvmsystem/Makefile
head/usr.bin/clang/tblgen/Makefile
Modified: head/lib/clang/clang.build.mk
==============================================================================
--- head/lib/clang/clang.build.mk Thu Jul 22 18:57:47 2010 (r210387)
+++ head/lib/clang/clang.build.mk Thu Jul 22 19:09:34 2010 (r210388)
@@ -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*}
Modified: head/lib/clang/libllvmcore/Makefile
==============================================================================
--- head/lib/clang/libllvmcore/Makefile Thu Jul 22 18:57:47 2010 (r210387)
+++ head/lib/clang/libllvmcore/Makefile Thu Jul 22 19:09:34 2010 (r210388)
@@ -35,6 +35,7 @@ SRCS= AsmWriter.cpp \
ValueSymbolTable.cpp \
ValueTypes.cpp \
Verifier.cpp
+LLVM_REQUIRES_RTTI=
TGHDRS= Intrinsics
Modified: head/lib/clang/libllvmsupport/Makefile
==============================================================================
--- head/lib/clang/libllvmsupport/Makefile Thu Jul 22 18:57:47 2010 (r210387)
+++ head/lib/clang/libllvmsupport/Makefile Thu Jul 22 19:09:34 2010 (r210388)
@@ -48,5 +48,6 @@ SRCS= APFloat.cpp \
regexec.c \
regfree.c \
regstrlcpy.c
+LLVM_REQUIRES_RTTI=
.include "../clang.lib.mk"
Modified: head/lib/clang/libllvmsystem/Makefile
==============================================================================
--- head/lib/clang/libllvmsystem/Makefile Thu Jul 22 18:57:47 2010 (r210387)
+++ head/lib/clang/libllvmsystem/Makefile Thu Jul 22 19:09:34 2010 (r210388)
@@ -22,5 +22,6 @@ SRCS= Alarm.cpp \
Threading.cpp \
TimeValue.cpp \
Valgrind.cpp
+LLVM_REQUIRES_RTTI=
.include "../clang.lib.mk"
Modified: head/usr.bin/clang/tblgen/Makefile
==============================================================================
--- head/usr.bin/clang/tblgen/Makefile Thu Jul 22 18:57:47 2010 (r210387)
+++ head/usr.bin/clang/tblgen/Makefile Thu Jul 22 19:09:34 2010 (r210388)
@@ -40,6 +40,7 @@ SRCS= ARMDecoderEmitter.cpp \
X86DisassemblerTables.cpp \
X86RecognizableInstr.cpp
MAN=
+LLVM_REQUIRES_EH=
LIBDEPS=llvmsupport llvmsystem
More information about the svn-src-all
mailing list