summaryrefslogtreecommitdiff
path: root/src/libxineadec
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2006-07-10 22:08:12 +0000
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2006-07-10 22:08:12 +0000
commite70c5600f5653c6915931717bdd52f9a6a2f2d9d (patch)
treea0d5282f9deb660def1026701c8e68a273099ede /src/libxineadec
parent32ad3ca6265c8cbac584dd3510109b920415a8e1 (diff)
downloadxine-lib-e70c5600f5653c6915931717bdd52f9a6a2f2d9d.tar.gz
xine-lib-e70c5600f5653c6915931717bdd52f9a6a2f2d9d.tar.bz2
Implement visibility support, available on GCC 4.0 and later and on some 3.4 (through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway.
CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
Diffstat (limited to 'src/libxineadec')
-rw-r--r--src/libxineadec/Makefile.am9
-rw-r--r--src/libxineadec/fooaudio.c4
-rw-r--r--src/libxineadec/gsm610.c4
-rw-r--r--src/libxineadec/gsm610/Makefile.am1
-rw-r--r--src/libxineadec/nosefart/Makefile.am4
-rw-r--r--src/libxineadec/nsf.c4
6 files changed, 12 insertions, 14 deletions
diff --git a/src/libxineadec/Makefile.am b/src/libxineadec/Makefile.am
index b2ea8d6ae..edd259f8f 100644
--- a/src/libxineadec/Makefile.am
+++ b/src/libxineadec/Makefile.am
@@ -4,8 +4,6 @@ EXTRA_DIST = fooaudio.c
libdir = $(XINE_PLUGINDIR)
-AM_CFLAGS = -DNSF_PLAYER
-
SUBDIRS = gsm610 nosefart
lib_LTLIBRARIES = \
@@ -13,14 +11,15 @@ lib_LTLIBRARIES = \
xineplug_decode_nsf.la
xineplug_decode_gsm610_la_SOURCES = gsm610.c
-xineplug_decode_gsm610_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_decode_gsm610_la_CFLAGS = $(VISIBILITY_FLAG)
+xineplug_decode_gsm610_la_LDFLAGS = -avoid-version -module
xineplug_decode_gsm610_la_LIBADD = \
$(XINE_LIB) \
$(top_builddir)/src/libxineadec/gsm610/libgsm610.la
xineplug_decode_nsf_la_SOURCES = nsf.c
-xineplug_decode_nsf_la_CFLAGS = -DNSF_PLAYER -fno-strict-aliasing
-xineplug_decode_nsf_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_decode_nsf_la_CFLAGS = $(VISIBILITY_FLAG) -DNSF_PLAYER -fno-strict-aliasing
+xineplug_decode_nsf_la_LDFLAGS = -avoid-version -module
xineplug_decode_nsf_la_LIBADD = \
$(XINE_LIB) \
$(top_builddir)/src/libxineadec/nosefart/libnosefart.la
diff --git a/src/libxineadec/fooaudio.c b/src/libxineadec/fooaudio.c
index 0d9b01c16..be2903dd0 100644
--- a/src/libxineadec/fooaudio.c
+++ b/src/libxineadec/fooaudio.c
@@ -21,7 +21,7 @@
* player. It really works too! It will output a continuous sine wave in
* place of the data it should actually send.
*
- * $Id: fooaudio.c,v 1.17 2006/06/02 22:13:45 dsalt Exp $
+ * $Id: fooaudio.c,v 1.18 2006/07/10 22:08:43 dgp85 Exp $
*/
#include <stdio.h>
@@ -342,7 +342,7 @@ static const decoder_info_t dec_info_audio = {
/* The plugin catalog entry. This is the only information that this plugin
* will export to the public. */
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* { type, API version, "name", version, special_info, init_function }, */
{ PLUGIN_AUDIO_DECODER, 15, "fooaudio", XINE_VERSION_CODE, &dec_info_audio, &init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/libxineadec/gsm610.c b/src/libxineadec/gsm610.c
index e8f566f84..4f54714c9 100644
--- a/src/libxineadec/gsm610.c
+++ b/src/libxineadec/gsm610.c
@@ -44,7 +44,7 @@
* Carsten Bormann
* --------------------------------------------------------------------
*
- * $Id: gsm610.c,v 1.18 2006/06/02 22:13:45 dsalt Exp $
+ * $Id: gsm610.c,v 1.19 2006/07/10 22:08:43 dgp85 Exp $
*
*/
@@ -289,7 +289,7 @@ static const decoder_info_t dec_info_audio = {
9 /* priority */
};
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_AUDIO_DECODER, 15, "gsm610", XINE_VERSION_CODE, &dec_info_audio, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/libxineadec/gsm610/Makefile.am b/src/libxineadec/gsm610/Makefile.am
index 07fc0e2fa..fe25ad9c3 100644
--- a/src/libxineadec/gsm610/Makefile.am
+++ b/src/libxineadec/gsm610/Makefile.am
@@ -14,6 +14,7 @@ libgsm610_la_SOURCES = \
short_term.c \
table.c
+libgsm610_la_CFLAGS = $(VISIBILITY_FLAG)
libgsm610_la_LDFLAGS = -avoid-version -module
noinst_HEADERS = \
diff --git a/src/libxineadec/nosefart/Makefile.am b/src/libxineadec/nosefart/Makefile.am
index 5a5fd67f8..51cc3f238 100644
--- a/src/libxineadec/nosefart/Makefile.am
+++ b/src/libxineadec/nosefart/Makefile.am
@@ -1,7 +1,5 @@
include $(top_srcdir)/misc/Makefile.common
-AM_CFLAGS = -DNSF_PLAYER -fno-strict-aliasing
-
noinst_LTLIBRARIES = libnosefart.la
libnosefart_la_SOURCES = \
@@ -17,7 +15,7 @@ libnosefart_la_SOURCES = \
nsf.c \
vrcvisnd.c
-libnosefart_la_LDFLAGS = -avoid-version -module
+libnosefart_la_CFLAGS = $(VISIBILITY_FLAG) -DNSF_PLAYER -fno-strict-aliasing
noinst_HEADERS = \
dis6502.h \
diff --git a/src/libxineadec/nsf.c b/src/libxineadec/nsf.c
index db906b087..0d58e9be5 100644
--- a/src/libxineadec/nsf.c
+++ b/src/libxineadec/nsf.c
@@ -20,7 +20,7 @@
* NSF Audio "Decoder" using the Nosefart NSF engine by Matt Conte
* http://www.baisoku.org/
*
- * $Id: nsf.c,v 1.11 2006/06/02 22:13:45 dsalt Exp $
+ * $Id: nsf.c,v 1.12 2006/07/10 22:08:43 dgp85 Exp $
*/
#include <stdio.h>
@@ -286,7 +286,7 @@ static const decoder_info_t dec_info_audio = {
/* The plugin catalog entry. This is the only information that this plugin
* will export to the public. */
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* { type, API version, "name", version, special_info, init_function }, */
{ PLUGIN_AUDIO_DECODER, 15, "nsf", XINE_VERSION_CODE, &dec_info_audio, &init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }