summaryrefslogtreecommitdiff
path: root/autoconf/m4
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-30 01:16:19 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-30 01:16:19 +0000
commitdcf114e8610784e15c89eed2ad3ca930fa0634ed (patch)
treefab38965d9c4d650460254a0174d61916f173d49 /autoconf/m4
parentc4db7276e0055931bb29942d12a10494f569e749 (diff)
downloadllvm-dcf114e8610784e15c89eed2ad3ca930fa0634ed.tar.gz
llvm-dcf114e8610784e15c89eed2ad3ca930fa0634ed.tar.bz2
llvm-dcf114e8610784e15c89eed2ad3ca930fa0634ed.tar.xz
Enable -fvisibility-inlines-hidden by default for compilers which
support it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55557 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'autoconf/m4')
-rw-r--r--autoconf/m4/visibility_inlines_hidden.m422
1 files changed, 22 insertions, 0 deletions
diff --git a/autoconf/m4/visibility_inlines_hidden.m4 b/autoconf/m4/visibility_inlines_hidden.m4
new file mode 100644
index 0000000000..42ddbe9128
--- /dev/null
+++ b/autoconf/m4/visibility_inlines_hidden.m4
@@ -0,0 +1,22 @@
+#
+# Determine if the compiler accepts -fvisibility-inlines-hidden
+#
+# This macro is specific to LLVM.
+#
+AC_DEFUN([AC_CXX_USE_VISIBILITY_INLINES_HIDDEN],
+[AC_CACHE_CHECK([for compiler -fvisibility-inlines-hidden option],
+ [llvm_cv_cxx_visibility_inlines_hidden],
+[ AC_LANG_PUSH([C++])
+ oldcxxflags="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+ [llvm_cv_cxx_visibility_inlines_hidden=yes],[llvm_cv_cxx_visibility_inlines_hidden=no])
+ CXXFLAGS="$oldcxxflags"
+ AC_LANG_POP([C++])
+])
+if test "$llvm_cv_cxx_visibility_inlines_hidden" = yes ; then
+ AC_SUBST([ENABLE_VISIBILITY_INLINES_HIDDEN],[1])
+else
+ AC_SUBST([ENABLE_VISIBILITY_INLINES_HIDDEN],[0])
+fi
+])