X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=e91b8a9b7fc1548683ccce116a121b28d9003526;hb=e98a1ade617a0c345b7140c5a1b78b3e78012448;hp=20471e9057ab4398c0c058ca73e6d475268b2609;hpb=91b31c88351be190108dd35ec32c8956fe1b1e29;p=vlc diff --git a/bootstrap b/bootstrap index 20471e9057..e91b8a9b7f 100755 --- a/bootstrap +++ b/bootstrap @@ -1,191 +1,570 @@ #! /bin/sh -## bootstrap.sh file for vlc, the VideoLAN Client -## $Id: bootstrap,v 1.10 2002/08/28 14:22:17 sam Exp $ +## bootstrap file for the VLC media player ## -## Authors: Samuel Hocevar +## Copyright (C) 2005-2006 the VideoLAN team +## +## Authors: Sam Hocevar +## Rémi Denis-Courmont +## +## Muahaha! no annoying dollar I dee dollar that causes rebuild at commit -### -### get a sane environment -### -export LANG=C +if test "$#" != "0"; then + echo "Usage: $0" + echo " Calls automake, autoconf, autoheader, autopoint and other auto* to generate" + echo " m4 macros and prepare Makefiles." + exit 1 +fi ### -### argument check +### Get a sane environment, just in case ### -do_po=no -while test $# -gt 0; do - case "$1" in - --update-po) - do_po=yes - ;; - *) - echo "unknown option $1" +LANG=C +export LANG +CYGWIN=binmode +export CYGWIN + +set -e +set -x + +## +## Check for various tools +## +AUTOMAKESUCKS=no +INSTALLSUCKS=no + +ACLOCAL_ARGS="-I m4" + +# Check for contrib directory +if test -d extras/contrib/bin; then + export PATH=./extras/contrib/bin:$PATH + if test -d extras/contrib/share/aclocal; then + ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal" + fi + if test ".`uname -s`" = ".Darwin"; then + export LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH + elif test ".`uname -s`" = ".BeOS"; then + export LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH + export BELIBRARIES=./extras/contrib/lib:$BELIBRARIES + fi +fi + +# Check for automake +amvers="none" +if automake-1.9 --version >/dev/null 2>&1; then + amvers="-1.9" +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" +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 + AUTOMAKESUCKS=yes + fi +elif automake-1.5 --version >/dev/null 2>&1; then + INSTALLSUCKS=yes + amvers="-1.5" +elif automake --version > /dev/null 2>&1; then + amvers="" + case "`automake --version | sed -e '1s/[^0-9]*//' -e q`" in + 0|0.*|1|1.[01234]|1.[01234][-.]*) + amvers="none" ;; + 1.5|1.5.*) + INSTALLSUCKS=yes ;; + 1.6|1.6.0|1.6.1) + AUTOMAKESUCKS=yes ;; + 1.9|1.9.2) ;; esac - shift -done +fi -### -### classic stuff -### -set -x -rm -f aclocal.m4 configure config.guess config.log config.sub ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh +if test "${amvers}" = "none"; then + set +x + echo "$0: you need automake version 1.5 or later" + exit 1 +fi + +# Check for libtool +libtoolize="no" +if glibtoolize --version >/dev/null 2>&1; then + libtoolize="glibtoolize" +elif libtoolize --version >/dev/null 2>&1; then + libtoolize="libtoolize" +fi + +if test "$libtoolize" = "no"; then + set +x + echo "$0: you need libtool" + exit 1 +fi # Check for gettext -if gettextize --version >/dev/null 2>&1 -then +if gettextize --version >/dev/null 2>&1; then +# Autopoint is available from 0.11.3, but we need 0.11.5 if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \ - '>' 0.11.3 >/dev/null 2>&1 -then + '>=' 0.11.5 >/dev/null 2>&1; then # We have gettext, and a recent version! Everything is cool. - autopoint --force - rm -f m4/Makefile.am - echo 'EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4' > m4/Makefile.am + autopoint=autopoint GETTEXT=yes else - # What?! User is not using a recent version of gettext? We'll have to - # cheat a bit, then. - rm -f po/ChangeLog~ - aclocaldir=`gettextize --copy --force | grep '^from the' | cut -f3 -d' '` - # Yuck! - test -f po/ChangeLog~ && mv po/ChangeLog~ po/ChangeLog - mkdir -p m4 - # Yuck! - don't copy anything, it makes old autoconf barf. - #for file in codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 \ - # lcmessage.m4 progtest.m4 - # do cp ${aclocaldir}/${file} m4/ - #done - # Yuck! - echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/gettext.m4 + # User's gettext is too old. try to continue anyway. + autopoint=: GETTEXT=old fi;else - # we don't have gettext. grmbl. try to continue anyway. - mkdir -p intl - echo > intl/Makefile.am - mkdir -p m4 - echo > m4/Makefile.am - echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/gettext.m4 - echo 'AC_DEFUN([AM_GNU_GETTEXT], [])' >> m4/gettext.m4 - GETTEXT=no + set +x + echo "you need gettextize (package gettext-devel or gettext)" + exit 1 fi -# Check for automake -if automake-1.6 --version >/dev/null 2>&1 -then - amvers=1.6 -else if automake-1.5 --version >/dev/null 2>&1 -then - amvers=1.5 +# Check for pkg-config +if pkg-config --version >/dev/null 2>&1; then + # We have pkg-config, everything is cool. + PKGCONFIG=yes else - set +x - echo "you need automake version 1.5 or later" -fi;fi - -# Do the rest -aclocal-${amvers} -I m4 -autoheader -automake-${amvers} --foreign --add-missing --copy -autoconf + PKGCONFIG=no +fi -# nuahahahahaha !! overwriting Makefile.in with what *I* want! -cp Makefile.old Makefile.in +aclocal=aclocal${amvers} +automake=automake${amvers} +autoconf=autoconf +autoheader=autoheader ## -## headers which need to be regenerated because of the VLC_EXPORT macro +## Generate the modules makefile, by parsing modules/**/Modules.am ## -file=src/misc/modules_plugin.h -rm -f $file -sed -e 's#.*\$[I][d]:.*# * Automatically generated from '$file'.in by bootstrap.sh#' < $file.in > $file -echo '#define STORE_SYMBOLS( p_symbols ) \' >> $file -cat include/*.h | grep '^ *VLC_EXPORT.*;' | \ - sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ (p_symbols)->\2_inner = \2; \\/' >> $file -echo '' >> $file - -file=include/vlc_symbols.h -rm -f $file && touch $file -echo '/* DO NOT EDIT THIS FILE ! It was generated by bootstrap.sh */' >> $file -echo '' >> $file -echo 'struct module_symbols_t' >> $file -echo '{' >> $file -cat include/*.h | grep '^ *VLC_EXPORT.*;' | \ - sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ \1 (* \2_inner) \3;/' | sort >> $file -echo '};' >> $file -echo '' >> $file -echo '#ifdef __PLUGIN__' >> $file -cat include/*.h | grep '^ *VLC_EXPORT.*;' | \ - sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/# define \2 p_symbols->\2_inner/' | sort >> $file -echo '#endif /* __PLUGIN__ */' >> $file -echo '' >> $file +set +x +echo "generating modules/**/Makefile.am and m4/private.m4" -## -## Glade sometimes sucks -## -for file in gnome_interface.c gtk_interface.c -do -if grep "DO NOT EDIT THIS FILE" modules/gui/gtk/$file 2>&1 > /dev/null -then - rm -f /tmp/$$.$file.bak - cat > /tmp/$$.$file.bak << EOF -/* This file was created automatically by glade and fixed by bootstrap.sh */ - -#include -EOF - sed -e 1,7d \ - -e 's#_("-:--:--")#"-:--:--"#' \ - -e 's#_("---")#"---"#' \ - -e 's#_("--")#"--"#' \ - -e 's#_("/dev/dvd")#"/dev/dvd"#' \ - -e 's#_(\("./."\))#\1#' \ - < modules/gui/gtk/$file >> /tmp/$$.$file.bak - mv -f /tmp/$$.$file.bak modules/gui/gtk/$file +# Prepare m4/private.m4 +rm -f m4/private.m4 && cat > m4/private.m4 << EOF +dnl Private VLC macros - generated by bootstrap + +EOF + +if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF +dnl User does not have pkg-config, so assume package was not found +AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])]) + +EOF +fi + +if [ "${GETTEXT}" != "yes" ]; then cat >> m4/private.m4 << EOF +dnl User does not have gettext, so this is a no-op +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + +EOF fi + +rm -f m4/private.m4-tmp1 && cat > m4/private.m4-tmp1 << EOF +dnl The required AM_CONDITIONAL calls +dnl XXX: too many conditionals make the build very slow, disabled them +AC_DEFUN([VLC_CONDITIONALS], [ +EOF +rm -f m4/private.m4-tmp2 && cat > m4/private.m4-tmp2 << EOF +dnl The required AC_SUBST calls +AC_DEFUN([VLC_SUBSTS], [ +EOF +rm -f m4/private.m4-tmp3 && cat > m4/private.m4-tmp3 << EOF +dnl The required AC_OUTPUT calls +dnl XXX: this feature is only supported starting from automake-1.7 +AC_DEFUN([VLC_MAKEFILES], [AC_OUTPUT([ +EOF +rm -f m4/private.m4-tmp4 && cat > m4/private.m4-tmp4 << EOF +dnl Helper macro for vlc-config generation +AC_DEFUN([VLC_CONFIG_HELPER], [ + cat >> vlc-config.in << BLAH +EOF + +modules="" + +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` +EOF + +for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` +do + printf "." + modf="modules/${dir}/Modules.am" + makf="modules/${dir}/Makefile.am" + basedir="`echo "${dir}" | cut -f1 -d/`" + # 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 lib${mod}_pic.a" + extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la lib${mod}_builtin.la" + done + rm -f "${makf}" && cat > "${makf}" << EOF + +# ${makf} automatically generated from ${modf} by bootstrap +# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead + +basedir = ${basedir} +mods = ${mods} + +NULL = +libvlc_LTLIBRARIES = +noinst_LTLIBRARIES = +EXTRA_DIST = Modules.am +BUILT_SOURCES = +clean_modules = +SUBDIRS = ${subdirs} +SUFFIXES = _plugin\$(LIBEXT) _plugin.a + +libvlcdir = \$(libdir)/vlc/\$(basedir) + +EXTRA_LIBRARIES = ${extra_libs} +EXTRA_LTLIBRARIES = ${extra_ltlibs} + +include Modules.am + +LTLIBVLC = \$(top_builddir)/src/libvlc.la + +if BUILD_SHARED +LIBVLC = \$(top_builddir)/src/libvlc\$(LIBEXT) +LIBADD = \$(LIBVLC) +endif + +all: all-modules + +# Find out which modules were enabled and tell make to build them +all-modules: +if USE_LIBTOOL + @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.la;; 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}_builtin.la;; 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" +else + @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)" = "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" +endif + +# Build a plugin with the adequate linker and linker's flags +_plugin.a_plugin\$(LIBEXT): + @mod="\$*" ; mod=\$\${mod#lib} ; \ + ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBADD) -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 +#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 + cd \$(top_srcdir) && \$(SHELL) ./bootstrap +endif + +mostlyclean-local: +if USE_LIBTOOL + -rm -f *.la +else + -rm -f *.a *\$(LIBEXT) +endif + +clean-local: \$(clean_modules) + +### 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 + @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 +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 + @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 +endif + +EOF + for mod in $mods + do + if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then + NODIST=''; else + NODIST='#'; fi + cat >> m4/private.m4-tmp4 << EOF + ${mod}) list="\\\${list} ${dir}/lib${mod}" ;; +EOF +# Generation of modules/**/Makefile.am +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# - L_ is for LIBRARIES_, D_ for DATA_, B_ for BUILT_SOURCES_, F_ for LDFLAGS_, +# S_ for SOURCES_, _p is for _plugin, _b is for _builtin. This is to reduce +# the resulting file size. +# - *_CFLAGS, *_CXXFLAGS etc. because per-object CPPFLAGS does not seem to +# work properly with any automake version I tested. + cat >> "${makf}" << 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}) +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)' -module -shrext \$(LIBEXT) +lib${mod}_plugin_la_LIBADD = \$(LTLIBVLC) + +lib${mod}_pic_a_SOURCES = \$(SOURCES_${mod}) +EOF + if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF +nodist_lib${mod}_pic_a_SOURCES = \$(nodist_SOURCES_${mod}) +EOF + fi + cat >> "${makf}" << EOF +lib${mod}_pic_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin pic ${mod}\` +lib${mod}_pic_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin pic ${mod}\` +lib${mod}_pic_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin pic ${mod}\` + +lib${mod}_a_SOURCES = \$(SOURCES_${mod}) +lib${mod}_builtin_la_SOURCES = \$(SOURCES_${mod}) +EOF + if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF +nodist_lib${mod}_a_SOURCES = \$(nodist_SOURCES_${mod}) +nodist_lib${mod}_builtin_la_SOURCES = \$(nodist_SOURCES_${mod}) +EOF + fi + cat >> "${makf}" << EOF +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}\` +lib${mod}_builtin_la_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin ${mod}\` +lib${mod}_builtin_la_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin ${mod}\` +lib${mod}_builtin_la_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin ${mod}\` + +EOF + done done -file=gtk_support.h -if grep "DO NOT EDIT THIS FILE" modules/gui/gtk/$file 2>&1 > /dev/null -then - rm -f /tmp/$$.$file.bak - sed -e 's/DO NOT EDIT THIS FILE.*/This file was created automatically by glade and fixed by bootstrap.sh/ ; s/#if.*ENABLE_NLS.*/#if defined( ENABLE_NLS ) \&\& defined ( HAVE_GETTEXT )/' < modules/gui/gtk/$file > /tmp/$$.$file.bak - mv -f /tmp/$$.$file.bak modules/gui/gtk/$file +cat >> m4/private.m4-tmp1 << EOF +]) +EOF +cat m4/private.m4-tmp1 >> m4/private.m4 && rm -f m4/private.m4-tmp1 +cat >> m4/private.m4-tmp2 << EOF +]) +EOF +cat m4/private.m4-tmp2 >> m4/private.m4 && rm -f m4/private.m4-tmp2 +cat >> m4/private.m4-tmp3 << EOF +])]) +EOF +cat m4/private.m4-tmp3 >> m4/private.m4 && rm -f m4/private.m4-tmp3 +cat >> m4/private.m4-tmp4 << EOF +BLAH +]) +EOF +cat m4/private.m4-tmp4 >> m4/private.m4 && rm -f m4/private.m4-tmp4 + +echo " done." + +### +### classic bootstrap stuff +### +set -x + +# remove autotools cruft +rm -f aclocal.m4 configure config.log config.h config.h.in +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 +rm -Rf autotools +mkdir autotools +# remove libtool cruft +rm -f ltmain.sh libtool ltconfig +# remove gettext cruft +rm -f ABOUT-NLS +rm -Rf intl +# remove old vlc cruft +rm -f m4/oldgettext.m4 stamp-pic configure.ac.in Modules.am +# remove new vlc cruft +rm -f stamp-builtin stamp-h* mozilla/stamp-pic + +# Automake complains if these are not present +rm -f vlc-config.in && printf "" > vlc-config.in +if [ "$GETTEXT" != "yes" ]; then + test -d intl || mkdir intl + printf "" > intl/Makefile.am + printf "" > ABOUT-NLS +fi + +# Libtoolize directory +${libtoolize} --copy --force +if test -f "ltmain.sh"; then + echo "$0: working around a minor libtool issue" + mv ltmain.sh autotools/ fi +# Do the rest +${autopoint} -f +${aclocal} ${ACLOCAL_ARGS} +${autoconf} +${autoheader} +${automake} --add-missing --copy + ## -## Shut up +## files which need to be regenerated ## +rm -f vlc-config.in vlc-config +rm -f src/misc/modules_builtin.h +rm -f mozilla/vlcintf.h + +# Shut up set +x ## -## Update the potfiles because no one ever does it +## Tell the user about gettext, pkg-config and sed ## -if test "$do_po" = "no" -then - echo "not updating potfiles. use --update-po to force doing it." -else - cd po - make update-po 2>&1 | grep '^[^:]*:$' | cut -f1 -d: | tr '\n' ' ' | sed 's/ $//' - cd .. +if [ "${GETTEXT}" = "old" ]; then + cat << EOF + +========================================================== +NOTE: you have an old version of gettext installed on your +system. The vlc build will work, but if your system does not +have libintl you will not have internationalization support. +We suggest upgrading to gettext 0.11.5 or later. +EOF fi -## -## Tell the user about gettext -## -case "$GETTEXT" in - yes) - ;; - no) - echo "" - echo "===========================================================" - echo "IMPORTANT NOTE: you do not have gettext installed on your" - echo "system. The vlc build will work, but you will not have" - echo "internationalization support. We suggest installing gettext." - ;; - old) - echo "" - echo "==========================================================" - echo "NOTE: you have an old version of gettext installed on your" - echo "system. We suggest upgrading to gettext 0.11.3 or later." - ;; -esac +if [ "$PKGCONFIG" = "no" ]; then + cat << EOF + +============================================================== +NOTE: you do not have the "pkg-config" utility on your system; +detection of the Gtk-2.0 and GNOME 2.0 libraries will not be +reliable. +EOF +fi + +if [ "$AUTOMAKESUCKS" = "yes" ]; then + cat << EOF + +============================================================= +IMPORTANT NOTE: your version of automake has a bug which will +prevent proper plugin compilation. Either compile VLC with +the --disable-plugins flag, or use a version of automake newer +than 1.6.1 (1.6.2 is OK, and so are the 1.5 series). +EOF +fi + +if [ "$INSTALLSUCKS" = "yes" ]; then + cat << EOF + +============================================================= +IMPORTANT NOTE: your version of automake has a bug which will +prevent proper installation. Do not use "make install" with this +version of automake, or use a version of automake newer than 1.5 +(such as 1.6 or 1.7). +EOF +fi