File libzip-0.8.hg20080403-visibility.patch of Package libzip

Index: libzip-0.10/configure.ac
===================================================================
--- libzip-0.10.orig/configure.ac	2011-03-18 12:37:29.000000000 +0100
+++ libzip-0.10/configure.ac	2011-03-21 13:46:34.674834029 +0100
@@ -38,6 +38,35 @@
     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
 
 AM_PROG_LIBTOOL
Index: libzip-0.10/lib/zip.h
===================================================================
--- libzip-0.10.orig/lib/zip.h	2011-03-04 18:17:43.000000000 +0100
+++ libzip-0.10/lib/zip.h	2011-03-21 13:48:52.466190330 +0100
@@ -34,14 +34,19 @@
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-
 
-#ifndef ZIP_EXTERN
 #ifdef _WIN32
-#define ZIP_EXTERN __declspec(dllimport)
+  #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
openSUSE Build Service is sponsored by