SHA256
1
0
forked from pool/giflib

Accepting request 87280 from devel:libraries:c_c++

- annotate functions from gif_lib_private.h with visibility
  hidden so they are not exported. (forwarded request 87211 from elvigia)

OBS-URL: https://build.opensuse.org/request/show/87280
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/giflib?expand=0&rev=17
This commit is contained in:
Lars Vogdt 2011-10-11 14:53:30 +00:00 committed by Git OBS Bridge
commit fcd087e814
3 changed files with 106 additions and 2 deletions

89
giflib-visibility.patch Normal file
View File

@ -0,0 +1,89 @@
--- lib/gif_lib_private.h.orig
+++ lib/gif_lib_private.h
@@ -30,6 +30,8 @@
#define IS_READABLE(Private) (Private->FileState & FILE_STATE_READ)
#define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE)
+#pragma GCC visibility push(hidden)
+
typedef struct GifFilePrivateType {
GifWord FileState, FileHandle, /* Where all this data goes to! */
BitsPerPixel, /* Bits per pixel (Codes uses at least this + 1). */
@@ -55,5 +57,5 @@ typedef struct GifFilePrivateType {
} GifFilePrivateType;
extern int _GifError;
-
+#pragma GCC visibility pop
#endif /* _GIF_LIB_PRIVATE_H */
--- lib/getarg.h.orig
+++ lib/getarg.h
@@ -16,6 +16,8 @@
#define CMD_ERR_NumRead 4 /* Failed on reading number. */
#define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */
+#pragma GCC visibility push(hidden)
+
#ifdef HAVE_STDARG_H
int GAGetArgs(int argc, char **argv, char *CtrlStr, ...);
#elif defined (HAVE_VARARGS_H)
@@ -25,4 +27,5 @@ int GAGetArgs(int va_alist, ...);
void GAPrintErrMsg(int Error);
void GAPrintHowTo(char *CtrlStr);
+#pragma GCC visibility pop
#endif /* _GETARG_H */
--- lib/gif_hash.h.orig
+++ lib/gif_hash.h
@@ -47,6 +47,8 @@
#define HT_PUT_KEY(l) (l << 12)
#define HT_PUT_CODE(l) (l & 0x0FFF)
+#pragma GCC visibility push(hidden)
+
typedef struct GifHashTableType {
UINT32 HTable[HT_SIZE];
} GifHashTableType;
@@ -56,4 +58,6 @@ void _ClearHashTable(GifHashTableType *H
void _InsertHashTable(GifHashTableType *HashTable, UINT32 Key, int Code);
int _ExistsHashTable(GifHashTableType *HashTable, UINT32 Key);
+#pragma GCC visibility pop
+
#endif /* _GIF_HASH_H_ */
--- Makefile.am.orig
+++ Makefile.am
@@ -1,3 +1,4 @@
+ACLOCAL_AMFLAGS = -I m4
SUBDIRS = lib util doc pic
WINDOWS = $(top_srcdir)/windows/GifWin.cpp \
$(top_srcdir)/windows/GifWin.h \
--- configure.ac.orig
+++ configure.ac
@@ -3,11 +3,14 @@ AC_INIT(giflib, [4.1.6], [abadger1999@so
AC_CONFIG_SRCDIR([lib/dgif_lib.c])
AM_INIT_AUTOMAKE([gnu check-news dist-bzip2 -Wall])
AM_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIR([m4])
dnl Checks for programs.
-AC_PROG_LIBTOOL
-AC_PROG_CC
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
AC_PROG_CPP
+LT_INIT([pic-only disable-static])
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
--- lib/Makefile.am.orig
+++ lib/Makefile.am
@@ -21,6 +21,6 @@ libgif_la_SOURCES = dev2gif.c \
quantize.c \
gif_lib_private.h
-libgif_la_LDFLAGS = -version-info 5:6:1
+libgif_la_LDFLAGS = -no-undefined -version-info 5:6:1
libgif_la_LIBADD = @DEVS@
libgif_CFLAGS = $(X_CFLAGS) $(AM_CFLAGS)

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Oct 10 02:57:31 UTC 2011 - crrodriguez@opensuse.org
- annotate functions from gif_lib_private.h with visibility
hidden so they are not exported.
-------------------------------------------------------------------
Sat Oct 1 05:39:13 UTC 2011 - coolo@suse.com
- add libtool as buildrequire to make the spec file more reliable
-------------------------------------------------------------------
Wed Sep 21 10:59:15 UTC 2011 - jengelh@medozas.de

View File

@ -20,15 +20,17 @@
Name: giflib
%define lname libgif4
BuildRequires: xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXt-devel
BuildRequires: libtool
License: MIT
Group: System/Libraries
URL: http://sourceforge.net/projects/libungif
Url: http://sourceforge.net/projects/giflib
Version: 4.1.6
Release: 23
Summary: A Library for Working with GIF Images
Source: giflib-%{version}.tar.bz2
Source2: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch: giflib-visibility.patch
%description
This Library allows manipulating GIF Image files. Since the LZW patents
@ -84,6 +86,7 @@ have expired, giflib can again be used instead of libungif.
%prep
%setup -q
%patch
%build
# USE __TIMESTAMP__ instead of __DATE__ , __TIME__
@ -96,7 +99,7 @@ for file in `find util -name "*.c"`; do
rm -v $file.stamp
done
autoreconf -fiv
mkdir m4;autoreconf -fiv
%configure --disable-static --with-pic --x-libraries=%{_libdir}
make %{?_smp_mflags}
@ -109,6 +112,7 @@ ln -sf libungif.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libungif.so
#ln -sf libgif.a $RPM_BUILD_ROOT%{_libdir}/libungif.a
rm -f %{buildroot}%{_libdir}/*.la
find doc -name "Makefile*" -print -delete
nm -C -D %{buildroot}%{_libdir}/lib*.so
%post -n %lname -p /sbin/ldconfig