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 </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 < #include #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