#! /bin/sh ## bootstrap.sh file for vlc, the VideoLAN Client ## $Id: bootstrap,v 1.6 2002/08/26 23:36:20 sam Exp $ ## ## Authors: Samuel Hocevar ### ### get a sane environment ### export LANG=C ### ### argument check ### do_po=no while test $# -gt 0; do case "$1" in --update-po) do_po=yes ;; *) echo "unknown option $1" ;; esac shift done ### ### 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 expr `gettextize --version | head -1 | sed 's/[^0-9]*//'` \ '>' 0.11.3 >/dev/null 2>&1 then autopoint --force 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! touch m4/Makefile.am # Yuck! echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/gettext.m4 fi aclocal -I m4 autoheader automake --foreign --add-missing --copy autoconf # nuahahahahaha !! overwriting Makefile.in with what *I* want! cp Makefile.old Makefile.in ## ## headers which need to be regenerated because of the VLC_EXPORT macro ## file=src/misc/modules_plugin.h rm -f $file sed '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 '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 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ \1 (* \2_inner) \3;/' | sort >> $file echo '};' >> $file echo '' >> $file echo '#ifdef __PLUGIN__' >> $file cat include/*.h | grep '^ *VLC_EXPORT.*;' | \ sed 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/# define \2 p_symbols->\2_inner/' | sort >> $file echo '#endif /* __PLUGIN__ */' >> $file echo '' >> $file ## ## 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 tail +8 modules/gui/gtk/$file \ | sed 's#_("-:--:--")#"-:--:--"#' \ | sed 's#_("---")#"---"#' \ | sed 's#_("--")#"--"#' \ | sed 's#_("/dev/dvd")#"/dev/dvd"#' \ | sed 's#_(\("./."\))#\1#' \ >> /tmp/$$.$file.bak mv -f /tmp/$$.$file.bak modules/gui/gtk/$file fi 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 '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 fi ## ## Update the potfiles because no one ever does it ## 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 .. fi