| 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 |