]> git.sesse.net Git - vlc/commitdiff
Mark other symbols as hidden
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 7 May 2011 16:38:42 +0000 (19:38 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 7 May 2011 16:38:42 +0000 (19:38 +0300)
Unfortunately, libtool is yet incapable of doing marking symbols as
hidden (not exported) at compilation time.  So lets do it manually.
According to the GCC documentation, this allow some compile-time
optimizations depending on the platform.
This was already done by Damien earlier (and removed during the
plugin headers cleanup).

The check is disabled on Windows, as the compiler accepts the flag,
but generates lots of warnings during compilation.

configure.ac

index c851043bb75a15b564fb4b346769236fa94d9511..2f436afb23d810ea7b29dc62657845c3ac8b5d18 100644 (file)
@@ -1036,6 +1036,23 @@ AS_IF([test "${enable_coverage}" != "no"], [
   LDFLAGS_save="${LDFLAGS}"
 ])
 
+AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
+  AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
+                 [ac_cv_c_visibility_hidden], [
+    CFLAGS="${CFLAGS_save} -ffast-math"
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
+      ac_cv_c_visibility_hidden=yes
+    ], [
+      ac_cv_c_visibility_hidden=no
+    ])
+  ])
+  AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
+    CFLAGS="${CFLAGS} -fvisibility=hidden"
+    CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
+    OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
+  ])
+])
+
 VLC_SAVE_FLAGS
 
 dnl