commit b55ea0faa3675111971957e6ecea8181f4625607
parent 64c63da758619d3a1896c4dcaafd4bf689ab830f
Author: Heikki Lindholm <holin@iki.fi>
Date: Mon, 17 Nov 2008 08:36:09 +0000
sanitize regex linker flags
Diffstat:
5 files changed, 64 insertions(+), 55 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -515,6 +515,26 @@ AC_ARG_WITH(ffmpeg-arch,
[set FFmpeg --arch setting for cross-compiling.]),
[ffmpegarch=$withval])
+
+LE_LIB_LDFLAGS="-export-dynamic -no-undefined"
+LE_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
+dnl TODO insert a proper check here
+AC_CACHE_CHECK([whether -export-symbols-regex works],
+ gn_cv_export_symbols_regex_works,
+ [
+ case "$host_os" in
+ mingw*) gn_cv_export_symbols_regex_works=no;;
+ *) gn_cv_export_symbols_regex_works=yes;;
+ esac
+ ])
+if test "x$gn_cv_export_symbols_regex_works" = "xyes"
+then
+ LE_LIB_LDFLAGS="$LE_LIB_LDFLAGS -export-symbols-regex \"EXTRACTOR_@<:@a-zA-Z0-9_@:>@*\""
+ LE_PLUGIN_LDFLAGS="$LE_PLUGIN_LDFLAGS -export-symbols-regex \"libextractor_@<:@a-zA-Z0-9_@:>@*_extract\""
+fi
+AC_SUBST(LE_LIB_LDFLAGS)
+AC_SUBST(LE_PLUGIN_LDFLAGS)
+
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(XTRA_CPPLIBS)
@@ -542,7 +562,6 @@ src/plugins/exiv2/Makefile
src/test/Makefile
])
-LIBEXTRACTOR_VERSION="0.5.18a"
AX_CREATE_PKGCONFIG_INFO([libextractor.pc],,[-lextractor],[Metadata extraction library],,)
if test "x$ffmpeg_enabled" = "x1"
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
@@ -7,19 +7,16 @@ lib_LTLIBRARIES = \
libextractor_common.la
if !MINGW
- exportflag=-export-symbols-regex "EXTRACTOR_.*"
if !SOMEBSD
dlflag=-ldl
endif
-else
- winexportflag=-export-dynamic
endif
libextractor_common_la_LDFLAGS = \
- $(exportflag) $(winexportflag) -version-info @LIB_VERSION_CURRENT@:@LIB_VERSION_REVISION@:@LIB_VERSION_AGE@ $(LIBICONV)
+ $(LE_LIB_LDFLAGS)
libextractor_common_la_LIBADD = \
- $(LIBLTDL) $(dlflag) -lz
+ $(LIBLTDL) $(dlflag) $(LIBICONV) -lz
libextractor_common_la_SOURCES = \
unzip.c \
diff --git a/src/main/Makefile.am b/src/main/Makefile.am
@@ -17,12 +17,9 @@ extract_LDADD = \
$(top_builddir)/src/main/libextractor.la
if !MINGW
- exportflag=-export-symbols-regex "EXTRACTOR_[a-zA-Z0-9_]*"
if !SOMEBSD
dlflag=-ldl
endif
-else
- winexportflag=-export-dynamic
endif
if HAVE_ZLIB
@@ -39,9 +36,9 @@ endif
endif
libextractor_la_LDFLAGS = \
- $(exportflag) $(winexportflag) -version-info @LIB_VERSION_CURRENT@:@LIB_VERSION_REVISION@:@LIB_VERSION_AGE@ $(LIBICONV)
+ $(LE_LIB_LDFLAGS) -version-info @LIB_VERSION_CURRENT@:@LIB_VERSION_REVISION@:@LIB_VERSION_AGE@
libextractor_la_LIBADD = \
- $(LIBLTDL) $(dlflag) $(zlib) $(bz2lib) $(GSF_LIBS_X) -lpthread
+ $(LIBLTDL) $(dlflag) $(zlib) $(bz2lib) $(GSF_LIBS_X) $(LIBICONV) -lpthread
EXTRA_DIST = \
diff --git a/src/plugins/Makefile-plugins.am b/src/plugins/Makefile-plugins.am
@@ -6,14 +6,10 @@ plugindir = $(libdir)/@RPLUGINDIR@
LIBS = \
@LTLIBINTL@ @LIBS@
-if !MINGW
- retaincommand=-export-symbols-regex "libextractor_[a-zA-Z0-9_]*_extract"
-endif
-
if HAVE_GNU_LD
makesymbolic=-Wl,-Bsymbolic
endif
-PLUGINFLAGS = $(makesymbolic) -avoid-version -module -no-undefined
+PLUGINFLAGS = $(makesymbolic) $(LE_PLUGIN_LDFLAGS)
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
@@ -129,7 +129,7 @@ if HAVE_VORBISFILE
libextractor_ogg_la_SOURCES = \
oggextractor.c
libextractor_ogg_la_LDFLAGS = \
- -lvorbisfile $(vorbisflag) -logg $(PLUGINFLAGS) $(retaincommand)
+ -lvorbisfile $(vorbisflag) -logg $(PLUGINFLAGS)
endif
@@ -139,12 +139,12 @@ libextractor_flac_la_SOURCES = \
libextractor_flac_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_flac_la_LDFLAGS = \
- -lFLAC $(flacoggflag) $(PLUGINFLAGS) $(retaincommand)
+ -lFLAC $(flacoggflag) $(PLUGINFLAGS)
endif
if HAVE_ZLIB
libextractor_qt_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_qt_la_LIBADD = \
-lz
libextractor_qt_la_SOURCES = \
@@ -155,70 +155,70 @@ libextractor_ps_la_SOURCES = \
psextractor.c
libextractor_ps_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_wav_la_SOURCES = \
wavextractor.c
libextractor_wav_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_pdf_la_SOURCES = \
pdfextractor.c
libextractor_pdf_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_pdf_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_mp3_la_SOURCES = \
mp3extractor.c
libextractor_mp3_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_mp3_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_id3v2_la_SOURCES = \
id3v2extractor.c
libextractor_id3v2_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_id3v2_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_id3v23_la_SOURCES = \
id3v23extractor.c
libextractor_id3v23_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_id3v23_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_id3v24_la_SOURCES = \
id3v24extractor.c
libextractor_id3v24_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_id3v24_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_it_la_SOURCES = \
itextractor.c
libextractor_it_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_it_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_dvi_la_SOURCES = \
dviextractor.c
libextractor_dvi_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_asf_la_SOURCES = \
asfextractor.c
libextractor_asf_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
if HAVE_ZLIB
libextractor_tar_la_SOURCES = \
tarextractor.c
libextractor_tar_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_tar_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la -lz
endif
@@ -226,33 +226,33 @@ endif
libextractor_lower_la_SOURCES = \
lowerextractor.c
libextractor_lower_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_gif_la_SOURCES = \
gifextractor.c
libextractor_gif_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_gif_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_tiff_la_SOURCES = \
tiffextractor.c
libextractor_tiff_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_tiff_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_applefile_la_SOURCES = \
applefileextractor.c
libextractor_applefile_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_applefile_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_elf_la_SOURCES = \
elfextractor.c
libextractor_elf_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_elf_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
@@ -260,17 +260,17 @@ libextractor_zip_la_SOURCES = \
zipextractor.c
libextractor_zip_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_jpeg_la_SOURCES = \
jpegextractor.c
libextractor_jpeg_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_html_la_SOURCES = \
htmlextractor.c
libextractor_html_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_html_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la \
$(top_builddir)/src/common/libextractor_common.la
@@ -278,27 +278,27 @@ libextractor_html_la_LIBADD = \
libextractor_flv_la_SOURCES = \
flvextractor.c
libextractor_flv_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_flv_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la
libextractor_real_la_SOURCES = \
realextractor.c
libextractor_real_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_mime_la_SOURCES = \
mimeextractor.c
libextractor_mime_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
if HAVE_MPEG2
libextractor_mpeg_la_SOURCES = \
mpegextractor.c
libextractor_mpeg_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_mpeg_la_LIBADD = \
-lmpeg2
endif
@@ -307,14 +307,14 @@ libextractor_man_la_SOURCES = \
manextractor.c
libextractor_man_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
if HAVE_ZLIB
libextractor_deb_la_SOURCES = \
debextractor.c
libextractor_deb_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_deb_la_LIBADD = \
-lz
endif
@@ -323,7 +323,7 @@ libextractor_riff_la_SOURCES = \
riffextractor.c
libextractor_riff_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_riff_la_LIBADD = \
-lm
@@ -332,7 +332,7 @@ libextractor_png_la_SOURCES = \
pngextractor.c
libextractor_png_la_LDFLAGS = \
$(top_builddir)/src/main/libextractor.la \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_png_la_LIBADD = \
$(top_builddir)/src/common/libextractor_common.la -lz
endif
@@ -340,7 +340,7 @@ endif
libextractor_filename_la_SOURCES = \
filenameextractor.c
libextractor_filename_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_filename_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la \
$(top_builddir)/src/common/libextractor_common.la
@@ -348,54 +348,54 @@ libextractor_filename_la_LIBADD = \
libextractor_sid_la_SOURCES = \
sidextractor.c
libextractor_sid_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_sid_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_nsf_la_SOURCES = \
nsfextractor.c
libextractor_nsf_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_nsf_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_nsfe_la_SOURCES = \
nsfeextractor.c
libextractor_nsfe_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_nsfe_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_xm_la_SOURCES = \
xmextractor.c
libextractor_xm_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_xm_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_s3m_la_SOURCES = \
s3mextractor.c
libextractor_s3m_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_s3m_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_split_la_SOURCES = \
splitextractor.c
libextractor_split_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_translit_la_SOURCES = \
translitextractor.c
libextractor_translit_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand)
+ $(PLUGINFLAGS)
libextractor_thumbnailqt_la_SOURCES = \
thumbnailextractorqt.cc
libextractor_thumbnailqt_la_LIBADD = \
$(top_builddir)/src/main/libextractor.la
libextractor_thumbnailqt_la_LDFLAGS = \
- $(PLUGINFLAGS) $(retaincommand) $(qtflags) $(svgflags)
+ $(PLUGINFLAGS) $(qtflags) $(svgflags)
libextractor_thumbnailqt_la_CPPFLAGS = \
-I$(top_scrdir)/include \
$(QT_CFLAGS) $(QT_SVG_CFLAGS)