X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=c32c59348675fab6e08acfdd0e954a4e2aee6608;hb=88e95e3e7765bda3324465c212463226e409f04c;hp=dccac3fe43f76f02f0011f20e86448033a8a8021;hpb=7b2a1b3c3765de8d614758613f76bfa070f2e314;p=vlc diff --git a/bootstrap b/bootstrap index dccac3fe43..c32c593486 100755 --- a/bootstrap +++ b/bootstrap @@ -48,30 +48,12 @@ fi # Check for automake amvers="none" -if automake-1.8 --version >/dev/null 2>&1; then - amvers="-1.8" - # If we also have 1.6 (>> 1.6.1), use it instead because it is faster - if automake-1.6 --version >/dev/null 2>&1; then - if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" ">" "1.6.1" > /dev/null 2>&1; then - amvers="-1.6" - fi - fi -elif automake-1.9 --version >/dev/null 2>&1; then +if automake-1.9 --version >/dev/null 2>&1; then amvers="-1.9" - # If we also have 1.6 (>> 1.6.1), use it instead because it is faster - if automake-1.6 --version >/dev/null 2>&1; then - if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" ">" "1.6.1" > /dev/null 2>&1; then - amvers="-1.6" - fi - fi +elif automake-1.8 --version >/dev/null 2>&1; then + amvers="-1.8" elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" - # If we also have 1.6 (>> 1.6.1), use it instead because it is faster - if automake-1.6 --version >/dev/null 2>&1; then - if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" ">" "1.6.1" > /dev/null 2>&1; then - amvers="-1.6" - fi - fi elif automake-1.6 --version >/dev/null 2>&1; then amvers="-1.6" if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" "<=" "1.6.1" > /dev/null 2>&1; then @@ -184,7 +166,6 @@ rm -f modules/Makefile.am && cat > modules/Makefile.am << EOF # Autogenerated by bootstrap - DO NOT EDIT EXTRA_DIST = LIST SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs` -#DIST_SUBDIRS = \$(SUBDIRS) EOF for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` @@ -205,7 +186,10 @@ do rm -f "${makf}" && cat > "${makf}" << EOF # ${makf} automatically generated from ${modf} by bootstrap -# DO NOT EDIT - edit Modules.am instead +# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead + +basedir = ${basedir} +mods = ${mods} NULL = libvlc_LIBRARIES = @@ -214,43 +198,110 @@ noinst_HEADERS = EXTRA_DIST = Modules.am BUILT_SOURCES = SUBDIRS = ${subdirs} -#DIST_SUBDIRS = \$(SUBDIRS) -libvlcdir = \$(libdir)/vlc/${basedir} +SUFFIXES = _plugin\$(LIBEXT) _plugin.a + +libvlcdir = \$(libdir)/vlc/\$(basedir) EXTRA_LIBRARIES = ${extra_libs} include Modules.am -if !BUILD_MOZILLA -pic = no -else -if HAVE_WIN32 -dnl There's no need for pic code on win32 so get rid of this to substantially -dnl reduce the compilation time. -pic = no -endif -endif - -clean-local: - -rm -f *.a *.so *.dll *.sl *.dylib - all: all-modules + +# Find out which modules were enabled and tell make to build them all-modules: @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ - if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in $mods; do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; fi; \\ - if test "\$(builtin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in $mods; do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; fi; \\ - if test "\$(pic)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in $mods; do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_pic.a;; esac; done; fi; \\ + if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; fi; \\ + if test "\$(builtin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; fi; \\ + if test "\$(pic)" == "pic"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_pic.a;; esac; done; fi; \\ \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ test -z "\$\$fail" -\$(srcdir)Makefile.am: \$(srcdir)Modules.am \$(top_srcdir)bootstrap +# Build a plugin with the adequate linker and linker's flags +_plugin.a_plugin\$(LIBEXT): + @mod="\$*" ; mod=\$\${mod:3} ; \ + ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` -u \$(SYMPREF)\$(VLC_ENTRY)" ; \ + case \`\$(VLC_CONFIG) --linkage \$\$mod\` in \\ + c++) ld="\$(CXXLINK)" ;; \ + objc) ld="\$(OBJCLINK)" ;; \ + c|*) ld="\$(LINK)" ;; \ + esac ; \ + echo \$\$ld \$< \$\$ldfl ; \ + \$\$ld \$< \$\$ldfl + +\$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap cd \$(top_srcdir) && \$(SHELL) ./bootstrap +mostlyclean-local: + -rm -f *.a *\$(LIBEXT) + +### automake creates libvlcdir after running install-*-local +### so we have to create it ourselves first +install-exec-local: all-modules + 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 + @z=\$\$(\$(VLC_CONFIG) --list builtin); \ + for mod in \$(mods); do \ + case "\$\$z " \ + in *\ \$\${mod}\ *) \ + echo \$(INSTALL_DATA) "lib\$\${mod}.a" "\$(DESTDIR)\$(libdir)/vlc/" ; \ + \$(INSTALL_DATA) "lib\$\${mod}.a" "\$(DESTDIR)\$(libdir)/vlc/" || exit \$\$?; \ + ;; \ + esac; \ + done +if BUILD_MOZILLA + @z=\$\$(\$(VLC_CONFIG) --list builtin); \ + for mod in \$(mods); do \ + case "\$\$z " \ + in *\ \$\${mod}\ *) \ + echo \$(INSTALL_DATA) "lib\$\${mod}_pic.a" "\$(DESTDIR)\$(libdir)/vlc/" ; \ + \$(INSTALL_DATA) "lib\$\${mod}_pic.a" "\$(DESTDIR)\$(libdir)/vlc/" || exit \$\$?; \ + ;; \ + esac; \ + done +endif + +uninstall-local: + @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 + @z=\$\$(\$(VLC_CONFIG) --list builtin); \ + for mod in \$(mods); do \ + case "\$\$z " \ + in *\ \$\${mod}\ *) \ + echo rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}.a" ; \ + rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}.a" || true; \ + ;; \ + esac; \ + done +if BUILD_MOZILLA + @z=\$\$(\$(VLC_CONFIG) --list builtin); \ + for mod in \$(mods); do \ + case "\$\$z " \ + in *\ \$\${mod}\ *) \ + echo rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}_pic.a" ; \ + rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}_pic.a" || true; \ + ;; \ + esac; \ + done +endif + EOF for mod in $mods do - if grep '^SOURCES_'${mod}'.*=.*PRIVATE' < "${modf}" >/dev/null 2>&1; then - PRIVATE='#'; else - PRIVATE=''; fi if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then NODIST=''; else NODIST='#'; fi @@ -276,14 +327,14 @@ clean-${mod}: EOF fi if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -${PRIVATE}BUILT_SOURCES += \$(B${mod}) +BUILT_SOURCES += \$(B${mod}) EOF fi cat >> "${makf}" << EOF -${PRIVATE}lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod}) +lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod}) EOF if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -${PRIVATE}nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod}) +nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod}) EOF fi cat >> "${makf}" << EOF @@ -291,10 +342,10 @@ 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}_pic_a_SOURCES = ${PRIVATE}\$(SOURCES_${mod}) +lib${mod}_pic_a_SOURCES = \$(SOURCES_${mod}) EOF if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -nodist_lib${mod}_pic_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod}) +nodist_lib${mod}_pic_a_SOURCES = \$(nodist_SOURCES_${mod}) EOF fi cat >> "${makf}" << EOF @@ -313,19 +364,6 @@ lib${mod}_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin ${mod}\` lib${mod}_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin ${mod}\` lib${mod}_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin ${mod}\` -libvlc_LIBRARIES += \$(L${mod}b) \$(L${mod}pic) -lib${mod}_DATA = \$(D${mod}p) - -lib${mod}dir = \$(libdir)/vlc/${topdir} -${PRIVATE}noinst_LIBRARIES += \$(L${mod}p) -${PRIVATE}lib${mod}_plugin\$(LIBEXT): \$(lib${mod}_plugin_a_OBJECTS) -${PRIVATE} @case \`\$(VLC_CONFIG) --linkage ${mod}\` in \\ -${PRIVATE} c++) echo \$(CXXLINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(CXXLINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\ -${PRIVATE} objc) echo \$(OBJCLINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(OBJCLINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\ -${PRIVATE} c|*) echo \$(LINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(LINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\ -${PRIVATE} esac - - EOF done done @@ -357,7 +395,7 @@ set -x # remove autotools cruft rm -f aclocal.m4 configure config.log config.h config.h.in -rm -Rf autom4te.cache +rm -Rf autom4te*.cache # remove old autotools extra cruft rm -f config.guess config.sub missing mkinstalldirs compile depcomp install-sh # remove new autotools extra cruft