summaryrefslogtreecommitdiff
path: root/src/input
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/input
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/input')
-rw-r--r--src/input/Makefile.am48
-rw-r--r--src/input/input_cdda.c4
-rw-r--r--src/input/input_dvb.c2
-rw-r--r--src/input/input_dvd.c4
-rw-r--r--src/input/input_file.c4
-rw-r--r--src/input/input_gnome_vfs.c4
-rw-r--r--src/input/input_http.c4
-rw-r--r--src/input/input_mms.c4
-rw-r--r--src/input/input_net.c4
-rw-r--r--src/input/input_pnm.c2
-rw-r--r--src/input/input_pvr.c4
-rw-r--r--src/input/input_rtp.c2
-rw-r--r--src/input/input_rtsp.c2
-rw-r--r--src/input/input_smb.c4
-rw-r--r--src/input/input_stdin_fifo.c4
-rw-r--r--src/input/input_v4l.c2
-rw-r--r--src/input/input_vcd.c4
-rw-r--r--src/input/libdvdnav/Makefile.am1
-rw-r--r--src/input/libreal/Makefile.am2
-rw-r--r--src/input/librtsp/Makefile.am1
-rw-r--r--src/input/vcd/xineplug_inp_vcd.c4
21 files changed, 64 insertions, 46 deletions
diff --git a/src/input/Makefile.am b/src/input/Makefile.am
index 64b7b4920..1b651f1f5 100644
--- a/src/input/Makefile.am
+++ b/src/input/Makefile.am
@@ -73,67 +73,83 @@ lib_LTLIBRARIES = \
xineplug_inp_file_la_SOURCES = input_file.c
xineplug_inp_file_la_LIBADD = $(XINE_LIB)
-xineplug_inp_file_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_file_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_file_la_LDFLAGS = -avoid-version -module
xineplug_inp_dvd_la_SOURCES = input_dvd.c media_helper.c
xineplug_inp_dvd_la_LIBADD = $(XINE_LIB) $(link_dvdnav) $(THREAD_LIBS)
-xineplug_inp_dvd_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_dvd_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_dvd_la_LDFLAGS = -avoid-version -module
xineplug_inp_net_la_SOURCES = input_net.c net_buf_ctrl.c
xineplug_inp_net_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_net_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_net_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_net_la_LDFLAGS = -avoid-version -module
xineplug_inp_mms_la_SOURCES = input_mms.c net_buf_ctrl.c mms.c mmsh.c http_helper.c
xineplug_inp_mms_la_LIBADD = $(XINE_LIB) @LIBICONV@ $(THREAD_LIBS)
-xineplug_inp_mms_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_mms_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_mms_la_LDFLAGS = -avoid-version -module
xineplug_inp_vcdo_la_SOURCES = input_vcd.c media_helper.c
xineplug_inp_vcdo_la_LIBADD = $(XINE_LIB)
-xineplug_inp_vcdo_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_vcdo_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_vcdo_la_LDFLAGS = -avoid-version -module
xineplug_inp_stdin_fifo_la_SOURCES = input_stdin_fifo.c net_buf_ctrl.c
xineplug_inp_stdin_fifo_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_stdin_fifo_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_stdin_fifo_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_stdin_fifo_la_LDFLAGS = -avoid-version -module
xineplug_inp_rtp_la_SOURCES = input_rtp.c net_buf_ctrl.c
xineplug_inp_rtp_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_rtp_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_rtp_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_rtp_la_LDFLAGS = -avoid-version -module
xineplug_inp_http_la_SOURCES = input_http.c net_buf_ctrl.c http_helper.c
xineplug_inp_http_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_http_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_http_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_http_la_LDFLAGS = -avoid-version -module
xineplug_inp_pnm_la_SOURCES = input_pnm.c net_buf_ctrl.c pnm.c
xineplug_inp_pnm_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_pnm_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_pnm_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_pnm_la_LDFLAGS = -avoid-version -module
xineplug_inp_dvb_la_SOURCES = input_dvb.c net_buf_ctrl.c
xineplug_inp_dvb_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_dvb_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_dvb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_dvb_la_LDFLAGS = -avoid-version -module
xineplug_inp_rtsp_la_SOURCES = input_rtsp.c net_buf_ctrl.c
xineplug_inp_rtsp_la_LIBADD = $(XINE_LIB) $(THREAD_LIBS) libreal/libreal.la librtsp/librtsp.la
-xineplug_inp_rtsp_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_rtsp_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_rtsp_la_LDFLAGS = -avoid-version -module
xineplug_inp_cdda_la_SOURCES = input_cdda.c media_helper.c sha1.c sha1.h base64.c base64.h
xineplug_inp_cdda_la_LIBADD = $(XINE_LIB)
-xineplug_inp_cdda_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_cdda_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_cdda_la_LDFLAGS = -avoid-version -module
xineplug_inp_v4l_la_SOURCES = input_v4l.c
xineplug_inp_v4l_la_LIBADD = $(ALSA_LIBS) $(XINE_LIB)
-xineplug_inp_v4l_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_v4l_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_v4l_la_LDFLAGS = -avoid-version -module
xineplug_inp_gnome_vfs_la_SOURCES = input_gnome_vfs.c net_buf_ctrl.c
xineplug_inp_gnome_vfs_la_LIBADD = $(GNOME_VFS_LIBS) $(XINE_LIB) $(THREAD_LIBS)
-xineplug_inp_gnome_vfs_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_gnome_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_gnome_vfs_la_LDFLAGS = -avoid-version -module
xineplug_inp_smb_la_SOURCES = input_smb.c
xineplug_inp_smb_la_LIBADD = $(LIBSMBCLIENT_LIBS) $(XINE_LIB)
-xineplug_inp_smb_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_smb_la_LDFLAGS = -avoid-version -module
xineplug_inp_pvr_la_SOURCES = input_pvr.c
xineplug_inp_pvr_la_LIBADD = $(XINE_LIB)
-xineplug_inp_pvr_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
+xineplug_inp_pvr_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
+xineplug_inp_pvr_la_LDFLAGS = -avoid-version -module
include_HEADERS = input_plugin.h
noinst_HEADERS = net_buf_ctrl.h mms.h mmsh.h pnm.h media_helper.h videodev2.h http_helper.h
diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c
index 70642f192..480759de9 100644
--- a/src/input/input_cdda.c
+++ b/src/input/input_cdda.c
@@ -20,7 +20,7 @@
* Compact Disc Digital Audio (CDDA) Input Plugin
* by Mike Melanson (melanson@pcisys.net)
*
- * $Id: input_cdda.c,v 1.88 2006/07/08 14:08:48 dsalt Exp $
+ * $Id: input_cdda.c,v 1.89 2006/07/10 22:08:14 dgp85 Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -2725,7 +2725,7 @@ static void *init_plugin (xine_t *xine, void *data) {
return this;
}
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "CD", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c
index 56c8e6cd4..28d10caaf 100644
--- a/src/input/input_dvb.c
+++ b/src/input/input_dvb.c
@@ -3265,7 +3265,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "DVB", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c
index 57f6b2b06..eaf60f473 100644
--- a/src/input/input_dvd.c
+++ b/src/input/input_dvd.c
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_dvd.c,v 1.207 2006/05/03 19:46:07 dsalt Exp $
+ * $Id: input_dvd.c,v 1.208 2006/07/10 22:08:15 dgp85 Exp $
*
*/
@@ -1906,7 +1906,7 @@ static void *init_class (xine_t *xine, void *data) {
}
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "DVD", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_file.c b/src/input/input_file.c
index c22341552..eeee8c5f4 100644
--- a/src/input/input_file.c
+++ b/src/input/input_file.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_file.c,v 1.109 2006/05/03 19:46:07 dsalt Exp $
+ * $Id: input_file.c,v 1.110 2006/07/10 22:08:15 dgp85 Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -913,7 +913,7 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "FILE", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_gnome_vfs.c b/src/input/input_gnome_vfs.c
index dfe0df8e0..564ce2325 100644
--- a/src/input/input_gnome_vfs.c
+++ b/src/input/input_gnome_vfs.c
@@ -18,7 +18,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_gnome_vfs.c,v 1.30 2006/05/03 19:46:07 dsalt Exp $
+ * $Id: input_gnome_vfs.c,v 1.31 2006/07/10 22:08:15 dgp85 Exp $
*/
@@ -389,7 +389,7 @@ static input_info_t input_info_gnomevfs = {
100 /* priority */
};
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
{ PLUGIN_INPUT | PLUGIN_NO_UNLOAD, 17, "gnomevfs", XINE_VERSION_CODE,
&input_info_gnomevfs, init_input_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_http.c b/src/input/input_http.c
index 24b7df78c..874cb891c 100644
--- a/src/input/input_http.c
+++ b/src/input/input_http.c
@@ -19,7 +19,7 @@
*
* input plugin for http network streams
*
- * $Id: input_http.c,v 1.119 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_http.c,v 1.120 2006/07/10 22:08:15 dgp85 Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -1076,7 +1076,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "http", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_mms.c b/src/input/input_mms.c
index e6aa63312..e2939428d 100644
--- a/src/input/input_mms.c
+++ b/src/input/input_mms.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_mms.c,v 1.62 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_mms.c,v 1.63 2006/07/10 22:08:15 dgp85 Exp $
*
* mms input plugin based on work from major mms
*/
@@ -473,7 +473,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "mms", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_net.c b/src/input/input_net.c
index b06160fed..19326c301 100644
--- a/src/input/input_net.c
+++ b/src/input/input_net.c
@@ -20,7 +20,7 @@
* Read from a tcp network stream over a lan (put a tweaked mp1e encoder the
* other end and you can watch tv anywhere in the house ..)
*
- * $Id: input_net.c,v 1.67 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_net.c,v 1.68 2006/07/10 22:08:15 dgp85 Exp $
*
* how to set up mp1e for use with this plugin:
*
@@ -543,7 +543,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT, 17, "tcp", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_pnm.c b/src/input/input_pnm.c
index cbf23c076..26fdd350e 100644
--- a/src/input/input_pnm.c
+++ b/src/input/input_pnm.c
@@ -295,7 +295,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT, 17, "pnm", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_pvr.c b/src/input/input_pvr.c
index 843e7c3e6..1461d0f9e 100644
--- a/src/input/input_pvr.c
+++ b/src/input/input_pvr.c
@@ -38,7 +38,7 @@
* usage:
* xine pvr:/<prefix_to_tmp_files>\!<prefix_to_saved_files>\!<max_page_age>
*
- * $Id: input_pvr.c,v 1.61 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_pvr.c,v 1.62 2006/07/10 22:08:15 dgp85 Exp $
*/
/**************************************************************************
@@ -1571,7 +1571,7 @@ static void *init_plugin (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "pvr", XINE_VERSION_CODE, NULL, init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_rtp.c b/src/input/input_rtp.c
index c391c4035..b23ecb895 100644
--- a/src/input/input_rtp.c
+++ b/src/input/input_rtp.c
@@ -777,7 +777,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT, 17, "rtp", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_rtsp.c b/src/input/input_rtsp.c
index f78762bcb..0256edc8d 100644
--- a/src/input/input_rtsp.c
+++ b/src/input/input_rtsp.c
@@ -307,7 +307,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT, 17, "rtsp", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_smb.c b/src/input/input_smb.c
index cbd4d34cd..21b45fa73 100644
--- a/src/input/input_smb.c
+++ b/src/input/input_smb.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_smb.c,v 1.14 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_smb.c,v 1.15 2006/07/10 22:08:16 dgp85 Exp $
*/
@@ -537,7 +537,7 @@ static const input_info_t input_info_smb = {
0 /* priority */
};
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
{ PLUGIN_INPUT, 17, "smb", XINE_VERSION_CODE, &input_info_smb,
init_input_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_stdin_fifo.c b/src/input/input_stdin_fifo.c
index 4b0dd66a6..3780a1cef 100644
--- a/src/input/input_stdin_fifo.c
+++ b/src/input/input_stdin_fifo.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_stdin_fifo.c,v 1.66 2006/06/20 01:46:41 dgp85 Exp $
+ * $Id: input_stdin_fifo.c,v 1.67 2006/07/10 22:08:16 dgp85 Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -383,7 +383,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT, 17, "stdin", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/input_v4l.c b/src/input/input_v4l.c
index 6ca50ac87..1dfde167f 100644
--- a/src/input/input_v4l.c
+++ b/src/input/input_v4l.c
@@ -1946,7 +1946,7 @@ static void *init_radio_class (xine_t *xine, void *data)
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "v4l_radio", XINE_VERSION_CODE, NULL, init_radio_class },
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "v4l_tv", XINE_VERSION_CODE, NULL, init_video_class },
diff --git a/src/input/input_vcd.c b/src/input/input_vcd.c
index df908b2ae..0103027bf 100644
--- a/src/input/input_vcd.c
+++ b/src/input/input_vcd.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_vcd.c,v 1.84 2006/05/03 19:46:07 dsalt Exp $
+ * $Id: input_vcd.c,v 1.85 2006/07/10 22:08:16 dgp85 Exp $
*
*/
@@ -1114,7 +1114,7 @@ static void *init_class (xine_t *xine, void *data) {
* exported plugin catalog entry
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, "VCDO", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
diff --git a/src/input/libdvdnav/Makefile.am b/src/input/libdvdnav/Makefile.am
index 070a16f28..2aadb3588 100644
--- a/src/input/libdvdnav/Makefile.am
+++ b/src/input/libdvdnav/Makefile.am
@@ -23,6 +23,7 @@ libdvdnav_la_SOURCES = \
dvd_input.c \
dvd_udf.c
libdvdnav_la_LIBADD = $(THREAD_LIBS)
+libdvdnav_la_CFLAGS = $(VISIBILITY_FLAG)
libdvdnav_la_LDFLAGS = -avoid-version -module
noinst_HEADERS = \
diff --git a/src/input/libreal/Makefile.am b/src/input/libreal/Makefile.am
index 57928e26c..5b10d1bca 100644
--- a/src/input/libreal/Makefile.am
+++ b/src/input/libreal/Makefile.am
@@ -10,7 +10,7 @@ libreal_la_SOURCES = \
rmff.c \
sdpplin.c
-libreal_la_LDFLAGS = -avoid-version -module
+libreal_la_CFLAGS = $(VISIBILITY_FLAG)
noinst_HEADERS = \
real.h \
diff --git a/src/input/librtsp/Makefile.am b/src/input/librtsp/Makefile.am
index 2207482b6..bb85f9cf4 100644
--- a/src/input/librtsp/Makefile.am
+++ b/src/input/librtsp/Makefile.am
@@ -8,6 +8,7 @@ librtsp_la_SOURCES = \
rtsp.c \
rtsp_session.c
+librtsp_la_CFLAGS = $(VISIBILITY_FLAG)
librtsp_la_LDFLAGS = -avoid-version -module
noinst_HEADERS = \
diff --git a/src/input/vcd/xineplug_inp_vcd.c b/src/input/vcd/xineplug_inp_vcd.c
index 3c83a8c3e..baa6b0d9a 100644
--- a/src/input/vcd/xineplug_inp_vcd.c
+++ b/src/input/vcd/xineplug_inp_vcd.c
@@ -1,5 +1,5 @@
/*
- $Id: xineplug_inp_vcd.c,v 1.49 2006/06/20 01:07:58 dgp85 Exp $
+ $Id: xineplug_inp_vcd.c,v 1.50 2006/07/10 22:08:29 dgp85 Exp $
Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com>
@@ -1990,7 +1990,7 @@ _("For tracking down bugs in the VCD plugin. Mask values are:\n"
the next API number since in both cases the plugin is broken.
*/
-const plugin_info_t xine_plugin_info[] = {
+const plugin_info_t xine_plugin_info[] EXPORTED = {
/* type, API, "name", version, special_info, init_function */
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 17, (char *) SHORT_PLUGIN_NAME,
XINE_VERSION_CODE, NULL, vcd_init },