build system: use correct order for linker flags for internal libEBML/libMatroska

Should fix #1177.
This commit is contained in:
Moritz Bunkus 2015-04-28 13:21:40 +02:00
parent 8a90335fab
commit afb6472d6d
4 changed files with 9 additions and 17 deletions

View File

@ -106,17 +106,22 @@ def setup_globals
cflags_common = "-Wall -Wno-comment -Wfatal-errors #{c(:WLOGICAL_OP)} #{c(:WNO_MISMATCHED_TAGS)} #{c(:WNO_SELF_ASSIGN)} #{c(:QUNUSED_ARGUMENTS)}"
cflags_common += " #{c(:WNO_INCONSISTENT_MISSING_OVERRIDE)} #{c(:WNO_POTENTIALLY_EVALUATED_EXPRESSION)}"
cflags_common += " #{c(:OPTIMIZATION_CFLAGS)} -D_FILE_OFFSET_BITS=64 #{c(:MATROSKA_CFLAGS)} #{c(:EBML_CFLAGS)} #{c(:EXTRA_CFLAGS)} #{c(:DEBUG_CFLAGS)} #{c(:PROFILING_CFLAGS)} #{c(:USER_CPPFLAGS)}"
cflags_common += " #{c(:OPTIMIZATION_CFLAGS)} -D_FILE_OFFSET_BITS=64"
cflags_common += " -DMTX_LOCALE_DIR=\\\"#{c(:localedir)}\\\" -DMTX_PKG_DATA_DIR=\\\"#{c(:pkgdatadir)}\\\" -DMTX_DOC_DIR=\\\"#{c(:docdir)}\\\""
cflags_common += " -Ilib/libebml -Ilib/libmatroska" if c?(:EBML_MATROSKA_INTERNAL)
cflags_common += " #{c(:MATROSKA_CFLAGS)} #{c(:EBML_CFLAGS)} #{c(:EXTRA_CFLAGS)} #{c(:DEBUG_CFLAGS)} #{c(:PROFILING_CFLAGS)} #{c(:USER_CPPFLAGS)}"
cflags_common += " -mno-ms-bitfields -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 " if c?(:MINGW)
cflags_common += " -fPIC " if c?(:USE_QT) && !c?(:MINGW)
cflags_common += " -DQT_STATICPLUGIN" if c?(:USE_QT) && c?(:MINGW)
ldflags = ""
ldflags += " -Llib/libebml/src -Llib/libmatroska/src" if c?(:EBML_MATROSKA_INTERNAL)
ldflags += " #{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} #{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}"
$flags = {
:cflags => "#{cflags_common} #{c(:USER_CFLAGS)}",
:cxxflags => "#{cflags_common} #{c(:STD_CXX)} -Wnon-virtual-dtor -Woverloaded-virtual -Wextra -Wno-missing-field-initializers #{c(:WXWIDGETS_CFLAGS)} #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} #{c(:CURL_CFLAGS)} #{c(:USER_CXXFLAGS)}",
:cppflags => "#{c(:USER_CPPFLAGS)}",
:ldflags => "#{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} #{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}",
:windres => (c(:MINGW_PROCESSOR_ARCH) == 'amd64' ? '-DMINGW_PROCESSOR_ARCH_AMD64=1 ' : '') + (c?(:USE_WXWIDGETS) ? c(:WXWIDGETS_INCLUDES) : '-DNOWXWIDGETS'),
:ldflags => ldflags,
}
$build_system_modules.values.each { |bsm| bsm[:setup].call if bsm[:setup] }

View File

@ -28,15 +28,6 @@ if test x"$EBML_MATROSKA_INTERNAL" = xyes; then
echo '*** git submodule update'
exit 1
fi
EBML_CFLAGS="-Ilib/libebml"
EBML_LIBS="-Llib/libebml/src -lebml"
MATROSKA_CFLAGS="-Ilib/libmatroska"
MATROSKA_LIBS="-Llib/libmatroska/src -lmatroska"
fi
AC_SUBST(EBML_CFLAGS)
AC_SUBST(EBML_LIBS)
AC_SUBST(MATROSKA_CFLAGS)
AC_SUBST(MATROSKA_LIBS)
AC_SUBST(EBML_MATROSKA_INTERNAL)

View File

@ -78,8 +78,6 @@ CURL_LIBS = @CURL_LIBS@
DEBUG_CFLAGS = @DEBUG_CFLAGS@
DOCBOOK_MANPAGES_STYLESHEET = @DOCBOOK_MANPAGES_STYLESHEET@
DOCBOOK_ROOT = @DOCBOOK_ROOT@
EBML_CFLAGS = @EBML_CFLAGS@
EBML_LIBS = @EBML_LIBS@
EBML_MATROSKA_INTERNAL = @EBML_MATROSKA_INTERNAL@
EGREP = @EGREP@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
@ -90,8 +88,6 @@ FLAC_LIBS = @FLAC_LIBS@
ICONV_LIBS = @ICONV_LIBS@
LIBINTL_LIBS = @LIBINTL_LIBS@
MAGIC_LIBS = @MAGIC_LIBS@
MATROSKA_CFLAGS = @MATROSKA_CFLAGS@
MATROSKA_LIBS = @MATROSKA_LIBS@
MINGW_GUIAPP = @MINGW_GUIAPP@
MINGW_LIBS = @MINGW_LIBS@
MINGW_PROCESSOR_ARCH = @MINGW_PROCESSOR_ARCH@

View File

@ -151,8 +151,8 @@ class Target
when :mtxextract then [ '-Lsrc/extract', '-lmtxextract' ]
when :mtxpropedit then [ '-Lsrc/propedit', '-lmtxpropedit' ]
when :mtxunittest then [ '-Ltests/unit', '-lmtxunittest' ]
when :ebml then c(:EBML_LIBS)
when :matroska then c(:MATROSKA_LIBS)
when :ebml then '-lebml'
when :matroska then '-lmatroska'
when String then entry
else "-l#{entry}"
end