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/libdts | |
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/libdts')
-rw-r--r-- | src/libdts/Makefile.am | 7 | ||||
-rw-r--r-- | src/libdts/xine_decoder.c | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/libdts/Makefile.am b/src/libdts/Makefile.am index cb919c93a..c2d86e073 100644 --- a/src/libdts/Makefile.am +++ b/src/libdts/Makefile.am @@ -9,20 +9,21 @@ endif lib_LTLIBRARIES = $(dts_module) if EXTERNAL_LIBDTS +fnsa = internal_sources = else +fnsa = -fno-strict-aliasing internal_sources = bitstream.c downmix.c parse.c endif xineplug_decode_dts_la_SOURCES = xine_decoder.c $(internal_sources) -xineplug_decode_dts_la_LDFLAGS = -avoid-version -module $(XINE_PLUGIN_MIN_SYMS) +xineplug_decode_dts_la_CFLAGS = $(LIBDTS_CFLAGS) $(VISIBILITY_FLAG) $(fnsa) +xineplug_decode_dts_la_LDFLAGS = -avoid-version -module if EXTERNAL_LIBDTS xineplug_decode_dts_la_LIBADD = $(XINE_LIB) $(LIBDTS_LIBS) -xineplug_decode_dts_la_CFLAGS = $(LIBDTS_CFLAGS) else xineplug_decode_dts_la_LIBADD = $(XINE_LIB) -xineplug_decode_dts_la_CFLAGS = -fno-strict-aliasing endif noinst_HEADERS = bitstream.h dts.h dts_internal.h tables.h tables_adpcm.h \ diff --git a/src/libdts/xine_decoder.c b/src/libdts/xine_decoder.c index 8bc95016d..a97ee1a9b 100644 --- a/src/libdts/xine_decoder.c +++ b/src/libdts/xine_decoder.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: xine_decoder.c,v 1.65 2006/06/02 22:18:57 dsalt Exp $ + * $Id: xine_decoder.c,v 1.66 2006/07/10 22:08:29 dgp85 Exp $ * * 04-09-2001 DTS passtrough (C) Joachim Koenig * 09-12-2001 DTS passthrough inprovements (C) James Courtier-Dutton @@ -607,7 +607,7 @@ static const decoder_info_t dec_info_audio = { 1 /* 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, "dts", XINE_VERSION_CODE, &dec_info_audio, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } |