X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=a19662e631ac38eb08d351180aeca78ea71b4117;hb=d49a678a665480f030d77c69d36a9604a11d0686;hp=817f370329482f623bf7e8474c033a967f77ba8c;hpb=9b007c13bd82a29ae60e4aae9da26487ecaa89f7;p=vlc diff --git a/bootstrap b/bootstrap index 817f370329..a19662e631 100755 --- a/bootstrap +++ b/bootstrap @@ -99,7 +99,9 @@ esac # Check for libtool libtoolize="no" -if glibtoolize --version >/dev/null 2>&1; then +if test -x extras/contrib/bin/libtoolize; then + libtoolize="extras/contrib/bin/libtoolize" +elif glibtoolize --version >/dev/null 2>&1; then libtoolize="glibtoolize" elif libtoolize --version >/dev/null 2>&1; then libtoolize="libtoolize" @@ -192,11 +194,9 @@ do # automake will not recurse for make dist if we don't define SUBDIRS = . subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`" mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`" - extra_libs="" extra_ltlibs="" for mod in $mods do - extra_libs="${extra_libs} lib${mod}_plugin.a lib${mod}.a" extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la" done rm -f "${makf}" && cat > "${makf}" << EOF @@ -209,25 +209,29 @@ mods = ${mods} NULL = libvlc_LTLIBRARIES = -noinst_LTLIBRARIES = EXTRA_DIST = Modules.am BUILT_SOURCES = -clean_modules = +CLEANFILES = SUBDIRS = ${subdirs} -SUFFIXES = _plugin\$(LIBEXT) _plugin.a +SUFFIXES = _plugin\$(LIBEXT) _plugin.la libvlcdir = \$(libdir)/vlc/\$(basedir) -EXTRA_LIBRARIES = ${extra_libs} EXTRA_LTLIBRARIES = ${extra_ltlibs} include Modules.am -LTLIBVLC = \$(top_builddir)/src/libvlc.la +if HAVE_PLUGINS +LTLIBVLC = -L\$(top_builddir)/src -lvlc -if HAVE_WIN32 -LIBVLC = -L\$(top_builddir)/src -lvlc -LIBADD = \$(LIBVLC) +AM_LDFLAGS = -rpath '\$(libvlcdir)' -avoid-version \\ + -module -no-undefined -shrext \$(LIBEXT) +if HAVE_COMPILER_EXPORT +AM_LDFLAGS += -export-dynamic +else +AM_LDFLAGS += -export-symbol-regex ^\$(VLC_ENTRY)\$\$ +endif +AM_LIBADD = \$(LTLIBVLC) endif all: all-modules @@ -237,23 +241,15 @@ nice: # Find out which modules were enabled and tell make to build them all-modules: -if USE_LIBTOOL @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin.la;; esac; done; \\ \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ test -z "\$\$fail" -else - @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ - z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; \\ - z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; \\ - \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ - test -z "\$\$fail" -endif # Build a plugin with the adequate linker and linker's flags -_plugin.a_plugin\$(LIBEXT): +_plugin.la_plugin\$(LIBEXT): @mod="\$*" ; mod=\$\${mod#lib} ; \ - ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBADD) -u \$(SYMPREF)\$(VLC_ENTRY)" ; \ + ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBVLC) -u \$(SYMPREF)\$(VLC_ENTRY)" ; \ case \`\$(VLC_CONFIG) --linkage \$\$mod\` in \\ c++) ld="\$(CXXLINK)" ;; \ objc) ld="\$(OBJCLINK)" ;; \ @@ -261,10 +257,6 @@ _plugin.a_plugin\$(LIBEXT): esac ; \ echo \$\$ld \$< \$\$ldfl ; \ \$\$ld \$< \$\$ldfl -#ifneq (,\$(findstring cygwin,\$(host))) -# mv -f "\$@.exe" "\$@" -#endif - @if test -f "\$@.exe"; then mv -f "\$@.exe" "\$@"; fi if MAINTAINER_MODE \$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap @@ -272,56 +264,25 @@ if MAINTAINER_MODE endif mostlyclean-local: -if USE_LIBTOOL - -rm -f *.la -else - -rm -f *.a *\$(LIBEXT) -endif - -clean-local: \$(clean_modules) + -rm -f -- *.la ### automake creates libvlcdir after running install-*-local ### so we have to create it ourselves first install-exec-local: all-modules -if USE_LIBTOOL @if test -z "\$(libvlc_LTLIBRARIES)"; then \ z=\$\$(\$(VLC_CONFIG) --list plugin); \ m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \ test -z "\$\$m" || \ \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" install-libvlcLTLIBRARIES || exit \$\$? ; \ fi -else - mkdir -p -- "\$(DESTDIR)\$(libvlcdir)" - @z=\$\$(\$(VLC_CONFIG) --list plugin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo \$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" ; \ - \$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" || exit \$\$?; \ - ;; \ - esac; \ - done -endif uninstall-local: -if USE_LIBTOOL @if test -z "\$(libvlc_LTLIBRARIES)"; then \ z=\$\$(\$(VLC_CONFIG) --list plugin); \ m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \ test -z "\$\$m" || \ \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" uninstall-libvlcLTLIBRARIES || exit \$\$?; \ fi -else - @z=\$\$(\$(VLC_CONFIG) --list plugin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo rm -f "\$(DESTDIR)\$(libvlcdir)/lib\$\${mod}_plugin\$(LIBEXT)" ; \ - rm -f "\$(DESTDIR)\$(libvlcdir)/lib\$\${mod}_plugin\$(LIBEXT)" || true; \ - ;; \ - esac; \ - done -endif EOF for mod in $mods @@ -343,53 +304,27 @@ EOF # The ${mod} plugin EOF - if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -clean_modules += clean-${mod} -clean-${mod}: - -test -z "\$(nodist_SOURCES_${mod})" || rm -f \$(nodist_SOURCES_${mod}) - -EOF - fi - if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -BUILT_SOURCES += \$(B${mod}) -EOF - fi cat >> "${makf}" << EOF -lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod}) lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod}) EOF if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod}) nodist_lib${mod}_plugin_la_SOURCES = \$(nodist_SOURCES_${mod}) +CLEANFILES += \$(nodist_SOURCES_${mod}) +BUILT_SOURCES += \$(B${mod}) EOF fi cat >> "${makf}" << EOF -lib${mod}_plugin_a_CFLAGS = \`\$(VLC_CONFIG) --cflags plugin ${mod}\` -lib${mod}_plugin_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags plugin ${mod}\` -lib${mod}_plugin_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags plugin ${mod}\` lib${mod}_plugin_la_CFLAGS = \`\$(VLC_CONFIG) --cflags plugin ${mod}\` lib${mod}_plugin_la_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags plugin ${mod}\` lib${mod}_plugin_la_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags plugin ${mod}\` -lib${mod}_plugin_la_LDFLAGS = \`\$(VLC_CONFIG) --libs plugin ${mod}\` \\ - -rpath '\$(libvlcdir)' -avoid-version -module -shrext \$(LIBEXT) \\ - -export-symbol-regex ^\$(VLC_ENTRY)\$\$ -no-undefined -lib${mod}_plugin_la_LIBADD = \$(LTLIBVLC) - -lib${mod}_a_SOURCES = \$(SOURCES_${mod}) -EOF - if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -nodist_lib${mod}_a_SOURCES = \$(nodist_SOURCES_${mod}) -EOF - fi - cat >> "${makf}" << EOF -lib${mod}_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin pic ${mod}\` -lib${mod}_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin pic ${mod}\` -lib${mod}_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin pic ${mod}\` - +lib${mod}_plugin_la_LDFLAGS = \`\$(VLC_CONFIG) --libs plugin ${mod}\` \$(AM_LDFLAGS) +lib${mod}_plugin_la_LIBADD = \$(AM_LIBADD) EOF done done +printf "\n" + cat >> m4/private.m4 << EOF BLAH ]) @@ -431,25 +366,9 @@ if test -f "ltmain.sh"; then mv ltmain.sh autotools/ fi -# patch for DLL link for libtool on cygwin (remove when fixed) -if test ".`uname -s|sed -n '/^CYGWIN/p'`" != "."; then -patch -s -p0 << 'EOF' ---- autotools/ltmain.orig 2006-12-05 15:15:42.064607000 +0000 -+++ autotools/ltmain.sh 2006-12-05 15:16:24.705777800 +0000 -@@ -4360,7 +4360,7 @@ - - prog) - case $host in -- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; -+ *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,;s,.dll.exe$,.dll,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 -EOF -fi - # Do the rest ${autopoint} -f +rm -f po/Makevars.template ${aclocal} ${ACLOCAL_ARGS} ${autoconf} ${autoheader}