File libzip-0.8.hg20080403-visibility.patch of Package libzip1
diff -r 231ba73a2bcf configure.ac
--- a/configure.ac Mon Feb 18 16:07:47 2008 +0100
+++ b/configure.ac Thu Apr 03 14:04:11 2008 -0400
@@ -36,6 +36,35 @@ then
then
AC_MSG_ERROR([ZLIB version too old, please install at least v1.1.2])
fi
+
+AC_CACHE_CHECK(for visibility(hidden) attribute,
+ ac_cv_visibility_hidden,
+ [cat > conftest.c <<EOF
+ int foo __attribute__ ((visibility ("hidden"))) = 1;
+EOF
+ ac_cv_visibility_hidden=no
+ if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+ if grep '\.hidden.*foo' conftest.s >/dev/null; then
+ ac_cv_visibility_hidden=yes
+ fi
+ fi
+ rm -f conftest.[cs]
+ ])
+
+ if test "$ac_cv_visibility_hidden" = "yes"; then
+ CFLAGS="$CFLAGS -DHAVE_GCCVISIBILITYPATCH=1 -fvisibility=hidden"
+ fi
+
+
+
+
+
+
+
+
+
+
+
AC_EXEEXT
diff -r 231ba73a2bcf lib/zip.h
--- a/lib/zip.h Mon Feb 18 16:07:47 2008 +0100
+++ b/lib/zip.h Thu Apr 03 14:04:11 2008 -0400
@@ -34,14 +34,19 @@
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-#ifndef ZIP_EXTERN
#ifdef _MSC_VER
-#define ZIP_EXTERN __declspec(dllexport)
+ #ifdef BUILDING_DLL
+ #define ZIP_EXTERN __declspec(dllexport)
+ #else
+ #define ZIP_EXTERN __declspec(dllimport)
+ #endif
#else
-#define ZIP_EXTERN
-#endif
+ #ifdef HAVE_GCCVISIBILITYPATCH
+ #define ZIP_EXTERN __attribute__ ((visibility("default")))
+ #else
+ #define ZIP_EXTERN
+ #endif
#endif
#ifdef __cplusplus