libdv/libdv-visibility.patch

166 lines
4.4 KiB
Diff

--- libdv-1.0.0.orig/libdv/Makefile.am
+++ libdv-1.0.0/libdv/Makefile.am
@@ -3,10 +3,13 @@ MAINTAINERCLEANFILES = Makefile.in
CLEANFILES = asmoff.h
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
+AM_CFLAGS = -fvisibility=hidden
+#LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
lib_LTLIBRARIES= libdv.la
+noinst_LTLIBRARIES = libdv-internal.la
+
if HOST_X86
GASMOFF=gasmoff
endif # HOST_X86
@@ -59,16 +62,18 @@ libdv_la_SOURCES= dv.c dct.c idct_248.c
encode.c headers.c enc_input.c enc_audio_input.c enc_output.c \
$(libdv_la_ASMS)
-libdv_la_LDFLAGS = -version-info 4:3:0
+libdv_la_LDFLAGS = -no-undefined -version-info 4:3:0
+
+libdv_internal_la_SOURCES = $(libdv_la_SOURCES)
dovlc_SOURCES= dovlc.c
-dovlc_LDADD= libdv.la
+dovlc_LDADD= libdv.la libdv-internal.la
testvlc_SOURCES= testvlc.c
-testvlc_LDADD=libdv.la
+testvlc_LDADD=libdv.la libdv-internal.la
testbitstream_SOURCES= testbitstream.c bitstream.h
-testbitstream_LDADD=libdv.la
+testbitstream_LDADD=libdv.la libdv-internal.la
recode_SOURCES=recode.c
recode_LDADD=libdv.la
--- libdv-1.0.0.orig/libdv/dv.h
+++ libdv-1.0.0/libdv/dv.h
@@ -43,7 +43,7 @@
#include <stdio.h>
#include <inttypes.h>
#include <time.h>
-
+#pragma GCC visibility push(default)
#ifdef __cplusplus
extern "C" {
#endif
@@ -154,7 +154,7 @@ extern int dv_get_num_samples (dv_decode
#ifdef __cplusplus
}
#endif
-
+#pragma GCC visibility pop
#endif // DV_H
/*@}*/
--- libdv-1.0.0.orig/libdv/gasmoff.c
+++ libdv-1.0.0/libdv/gasmoff.c
@@ -25,9 +25,7 @@
#include "dv_types.h"
#include <stdio.h>
-
-#define offsetof(S, M) \
- ((int)&(((S*)NULL)->M))
+#include <stddef.h>
#define declare(S, M) \
printf("#define %-40s %d\n", #S "_" #M, offsetof(S, M))
--- libdv-1.0.0.orig/libdv/headers.c
+++ libdv-1.0.0/libdv/headers.c
@@ -31,6 +31,7 @@
#include <string.h>
#include <inttypes.h>
+#include "dv.h"
#include "headers.h"
static void write_header_block(unsigned char* target, int ds, int isPAL)
--- libdv-1.0.0.orig/encodedv/Makefile.am
+++ libdv-1.0.0/encodedv/Makefile.am
@@ -5,22 +5,22 @@ EXTRA_DIST = $(man_MANS)
MAINTAINERCLEANFILES = Makefile.in $(AUX_DIST)
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
-
CLEANFILES =
+AM_CFLAGS = -fvisibility=hidden
+
bin_PROGRAMS= encodedv dvconnect dubdv
noinst_PROGRAMS= fix_headers scan_packet_headers steal_header ppmqscale dvavi
encodedv_SOURCES= encodedv.c
-encodedv_LDADD= ../libdv/libdv.la $(POPT_LIB)
+encodedv_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB)
dubdv_SOURCES = insert_audio.c
-dubdv_LDADD= ../libdv/libdv.la $(POPT_LIB)
+dubdv_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB)
fix_headers_SOURCES = fix_headers.c
-fix_headers_LDADD= ../libdv/libdv.la
+fix_headers_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la
scan_packet_headers_SOURCES = scan_packet_headers.c
@@ -32,4 +32,4 @@ dvconnect_SOURCES = dvconnect.c
dvconnect_LDADD = $(PTHREAD_LIBS) $(POPT_LIB)
dvavi_SOURCES = dvavi.c
-dvavi_LDADD= ../libdv/libdv.la
+dvavi_LDADD= ../libdv/libdv.la ../libdv/libdv-internal.la
--- libdv-1.0.0.orig/playdv/Makefile.am
+++ libdv-1.0.0/playdv/Makefile.am
@@ -6,13 +6,11 @@ MAINTAINERCLEANFILES = Makefile.in
CLEANFILES =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent
-
-AM_CFLAGS = $(SDL_CFLAGS) $(GTK_CFLAGS)
+AM_CFLAGS = -fvisibility=hidden $(SDL_CFLAGS) $(GTK_CFLAGS)
bin_PROGRAMS= playdv
noinst_HEADERS= display.h oss.h
playdv_SOURCES= playdv.c display.c display.h oss.c
-playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB) -lX11 -lXext
+playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la ../libdv/libdv-internal.la $(POPT_LIB) -lX11 -lXext
--- libdv-1.0.0.orig/libdv/vlc_x86.S
+++ libdv-1.0.0/libdv/vlc_x86.S
@@ -88,6 +88,7 @@ dv_decode_vlc:
.align 4
.globl __dv_decode_vlc
.type __dv_decode_vlc,@function
+ .hidden __dv_decode_vlc
__dv_decode_vlc:
pushl %ebx
pushl %ebp
--- libdv-1.0.0.orig/libdv/vlc_x86_64.S
+++ libdv-1.0.0/libdv/vlc_x86_64.S
@@ -5,6 +5,7 @@
.align 4
.globl dv_decode_vlc
.type dv_decode_vlc,@function
+ .hidden dv_decode_vlc
dv_decode_vlc:
push %rbx
push %rbp
@@ -101,6 +102,7 @@ void __dv_decode_vlc(int bits, dv_vlc_t
.align 4
.globl __dv_decode_vlc
.type __dv_decode_vlc,@function
+ .hidden __dv_decode_vlc
__dv_decode_vlc:
push %rbx
push %rbp