diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-07-10 22:08:12 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-07-10 22:08:12 +0000 |
commit | e70c5600f5653c6915931717bdd52f9a6a2f2d9d (patch) | |
tree | a0d5282f9deb660def1026701c8e68a273099ede /src/dxr3 | |
parent | 32ad3ca6265c8cbac584dd3510109b920415a8e1 (diff) | |
download | xine-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/dxr3')
-rw-r--r-- | src/dxr3/Makefile.am | 3 | ||||
-rw-r--r-- | src/dxr3/dxr3_decode_spu.c | 4 | ||||
-rw-r--r-- | src/dxr3/dxr3_decode_video.c | 4 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/dxr3/Makefile.am b/src/dxr3/Makefile.am index b93cb3a62..f364a375e 100644 --- a/src/dxr3/Makefile.am +++ b/src/dxr3/Makefile.am @@ -23,6 +23,7 @@ lib_LTLIBRARIES = $(dxr3_modules) xineplug_decode_dxr3_video_la_SOURCES = dxr3_decode_video.c xineplug_decode_dxr3_video_la_LIBADD = $(XINE_LIB) +xineplug_decode_dxr3_video_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) xineplug_decode_dxr3_video_la_LDFLAGS = -avoid-version -module if HAVE_DVDNAV @@ -34,6 +35,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/input/libdvdnav xineplug_decode_dxr3_spu_la_SOURCES = dxr3_decode_spu.c nav_read.c xineplug_decode_dxr3_spu_la_LIBADD = $(XINE_LIB) endif +xineplug_decode_dxr3_spu_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) xineplug_decode_dxr3_spu_la_LDFLAGS = -avoid-version -module xineplug_vo_out_dxr3_la_SOURCES = \ @@ -43,6 +45,7 @@ xineplug_vo_out_dxr3_la_SOURCES = \ video_out_dxr3.c xineplug_vo_out_dxr3_la_LIBADD = $(link_fame) $(link_rte) $(link_x_libs) $(XINE_LIB) +xineplug_vo_out_dxr3_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) xineplug_vo_out_dxr3_la_LDFLAGS = -avoid-version -module noinst_HEADERS = \ diff --git a/src/dxr3/dxr3_decode_spu.c b/src/dxr3/dxr3_decode_spu.c index c29bf6789..f8fb5264d 100644 --- a/src/dxr3/dxr3_decode_spu.c +++ b/src/dxr3/dxr3_decode_spu.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: dxr3_decode_spu.c,v 1.55 2006/06/18 20:29:04 dgp85 Exp $ + * $Id: dxr3_decode_spu.c,v 1.56 2006/07/10 22:08:13 dgp85 Exp $ */ /* dxr3 spu decoder plugin. @@ -73,7 +73,7 @@ static const decoder_info_t dxr3_spudec_info = { 10 /* 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_SPU_DECODER, 16, "dxr3-spudec", XINE_VERSION_CODE, &dxr3_spudec_info, &dxr3_spudec_init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } diff --git a/src/dxr3/dxr3_decode_video.c b/src/dxr3/dxr3_decode_video.c index c2237dff5..816787dc0 100644 --- a/src/dxr3/dxr3_decode_video.c +++ b/src/dxr3/dxr3_decode_video.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: dxr3_decode_video.c,v 1.63 2006/06/18 20:29:04 dgp85 Exp $ + * $Id: dxr3_decode_video.c,v 1.64 2006/07/10 22:08:13 dgp85 Exp $ */ /* dxr3 video decoder plugin. @@ -74,7 +74,7 @@ static const decoder_info_t dxr3_video_decoder_info = { 10 /* 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_VIDEO_DECODER, 18, "dxr3-mpeg2", XINE_VERSION_CODE, &dxr3_video_decoder_info, &dxr3_init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } |