46 lines
1016 B
Diff
46 lines
1016 B
Diff
Only export symbols that should be exported.
|
|
|
|
Patch by Mike Frysinger
|
|
|
|
http://bugs.gentoo.org/32764
|
|
http://bugs.gentoo.org/149929
|
|
|
|
--- zlib-1.2.3/configure
|
|
+++ zlib-1.2.3/configure
|
|
@@ -209,6 +209,20 @@
|
|
fi
|
|
|
|
cat > $test.c <<EOF
|
|
+int foo __attribute__ ((visibility ("hidden")));
|
|
+int main()
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
+EOF
|
|
+if ($CC -c -fvisibility=hidden $CFLAGS $test.c) 2>/dev/null; then
|
|
+ CFLAGS="$CFLAGS -DHAS_attribute_visibility -fvisibility=hidden"
|
|
+ echo "Checking for attribute(visibility) support... Yes."
|
|
+else
|
|
+ echo "Checking for attribute(visibility) support... No."
|
|
+fi
|
|
+
|
|
+cat > $test.c <<EOF
|
|
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
#include "zconf.h"
|
|
--- zlib-1.2.3/zconf.in.h
|
|
+++ zlib-1.2.3/zconf.in.h
|
|
@@ -244,7 +244,11 @@
|
|
#endif
|
|
|
|
#ifndef ZEXTERN
|
|
-# define ZEXTERN extern
|
|
+# if defined(ZLIB_INTERNAL) && defined(HAS_attribute_visibility)
|
|
+# define ZEXTERN extern __attribute__ ((visibility("default")))
|
|
+# else
|
|
+# define ZEXTERN extern
|
|
+# endif
|
|
#endif
|
|
#ifndef ZEXPORT
|
|
# define ZEXPORT
|