+##
+## Create include files
+##
+if test "${action}" = "includes"
+then
+ #set -x
+
+ if test -z "${srcdir}"; then
+ srcdir="`sed -ne 's/^srcdir *= *//p' < Makefile`"
+ fi
+ LIBVLC_HEADERS=`getfiles HEADERS_include`
+ BUILTINS=`sed -ne 's/.*builtins *= *" *\([^"]*\)".*/\1/p' vlc-config`
+
+ file="${srcdir}/include/vlc_symbols.h"
+
+ rm -f ${file}.in
+ echo '/* DO NOT EDIT THIS FILE! See Makefile.am */' >> ${file}.in
+ echo 'struct module_symbols_t {' >> ${file}.in
+ cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ \1 (* \2_inner) \3;/' >> ${file}.in
+ echo '};' >> ${file}.in
+ echo '#ifdef __PLUGIN__' >> ${file}.in
+ cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/# define \2 p_symbols->\2_inner/' >> ${file}.in
+ echo '#endif /* __PLUGIN__ */' >> ${file}.in
+ if diff >/dev/null 2>&1 ${file} ${file}.in
+ then
+ rm -f ${file}.in
+ else
+ echo "creating new ${file}"
+ mv -f ${file}.in ${file}
+ fi
+
+ file="${srcdir}/src/misc/modules_plugin.h"
+
+ rm -f ${file}.tmp && cp ${file}.in ${file}.tmp
+ sed -e 's#.*\$[I][d]:.*# * Automatically generated from '${file}'.in by bootstrap#' < ${file}.in > ${file}.tmp
+ echo '#define STORE_SYMBOLS( p_symbols ) \' >> ${file}.tmp
+ cat ${LIBVLC_HEADERS} | grep '^ *VLC_EXPORT.*;' | sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/ (p_symbols)->\2_inner = \2; \\/' >> ${file}.tmp
+ echo '' >> ${file}.tmp
+ if diff >/dev/null 2>&1 ${file} ${file}.tmp
+ then
+ rm -f ${file}.tmp
+ else
+ echo "creating new ${file}"
+ mv -f ${file}.tmp ${file}
+ fi
+
+ file="${srcdir}/src/misc/modules_builtin.h"
+
+ rm -f ${file}.tmp && cp ${file}.in ${file}.tmp
+ if test -n "${BUILTINS}"
+ then
+ for i in `echo ${BUILTINS}`
+ do
+ echo "int vlc_entry__`echo $i | sed -e 'y@/@_@' -e 's@\..*@@'`( module_t* );" >>${file}.tmp
+ done
+ echo "" >> ${file}.tmp
+ fi
+ echo "#define ALLOCATE_ALL_BUILTINS() \\" >> ${file}.tmp
+ echo " do \\" >> ${file}.tmp
+ echo " { \\" >> ${file}.tmp
+ if test -n "${BUILTINS}"
+ then
+ for i in `echo ${BUILTINS}`
+ do
+ echo " ALLOCATE_BUILTIN(`echo $i | sed -e 'y@/@_@' -e 's@\..*@@'`); \\" >> ${file}.tmp
+ done
+ fi
+ echo " } while( 0 );" >> ${file}.tmp
+ echo "" >> ${file}.tmp
+ if diff >/dev/null 2>&1 ${file} ${file}.tmp
+ then
+ rm -f ${file}.tmp
+ else
+ echo "creating new ${file}"
+ mv -f ${file}.tmp ${file}
+ fi
+
+ exit 0
+fi
+
+##
+## Fix glade-generated files
+##
+if test "${action}" = "glade"
+then
+ for file in modules/gui/gtk/gnome.glade modules/gui/gtk/gtk.glade modules/gui/familiar/familiar.glade
+ do
+ echo "generating code from $file"
+ glade -w $file || exit 1
+ done
+
+ for file in modules/gui/gtk/gnome_interface.c modules/gui/gtk/gtk_interface.c modules/gui/familiar/interface.c
+ do
+ echo "fixing $file"
+ if grep "DO NOT EDIT THIS FILE" $file >/dev/null 2>&1
+ then
+ rm -f $file.$$.bak
+ cat > $file.$$.bak << EOF
+/* This file was created automatically by glade and fixed by bootstrap */
+
+#include <vlc/vlc.h>
+EOF
+ sed -e 1,7d \
+ -e 's#_(\(".:..:.."\))#\1#' \
+ -e 's#_(\("[a-z0-9]*://[^"]*"\))#\1#' \
+ -e 's#_("---")#"---"#' \
+ -e 's#_("--")#"--"#' \
+ -e 's#_("/dev/dvd")#"/dev/dvd"#' \
+ -e 's#_(\("./."\))#\1#' \
+ < $file >> $file.$$.bak
+ mv -f $file.$$.bak $file
+ fi
+ done
+
+ for file in modules/gui/gtk/gtk_support.h modules/gui/familiar/support.h
+ do
+ echo "fixing $file"
+ if grep "DO NOT EDIT THIS FILE" $file >/dev/null 2>&1
+ then
+ rm -f $file.$$.bak
+ sed -e 's/DO NOT EDIT.*/Created by glade, fixed by bootstrap/' \
+ -e 's,<config.h>,<vlc/vlc.h>,' \
+ -e 's,#if.*ENABLE_NLS.*,#if 0 /* Disabled by bootstrap */,' \
+ -e 's,#else,/* & */,' \
+ < $file > $file.$$.bak
+ mv -f $file.$$.bak $file
+ fi
+ done
+
+ exit 0
+fi
+
+##
+## Fix glade2-generated files
+##
+if test "${action}" = "glade2"
+then
+ for file in modules/gui/gtk2/gnome2.glade modules/gui/gtk2/gtk2.glade
+ do
+ echo "generating code from $file"
+ glade-2 -w $file || exit 1
+ done
+
+ exit 0
+fi
+
+##
+## Fix flexml-generated files
+##
+if test "${action}" = "flexml"
+then
+ cd modules/gui/skins/parser
+ flexml -SH -a skin.act skin.dtd
+ # comment the dummy main function
+ file=skin.c
+ sed 's@int main@//int main@' < $file > $file.$$.bak
+ mv -f $file.$$.bak $file
+ flex -oflex.c -BLs skin.l
+fi
+
+##
+## Make distclean
+##
+if test "${action}" = "distclean"
+then
+ set -x
+ # a naive sanity check to make sure we are in a VLC tree
+ test -f vlc.spec.mdk -a -f debian/rules || exit 1
+ # let's rock!
+ find . -type f '(' -name '*.[oa]' -o -name '*.so' -o -name '*.sl' -o -name '*.dylib' -o -name '*.dll' -o -name .dirstamp -o -name Makefile.in -o -name 'stamp-h*' -o -name '*~' -o -name '*.bak' -o -name '*.moc.cpp' ')' -exec rm -f '{}' ';'
+ (cd autotools && find . -name '[a-z]*' -exec rm -f '{}' ';')
+ (cd debian && find . -type d -name '[a-z]*' -maxdepth 1 -exec rm -Rf '{}' ';')
+ find msvc -type f -name '*.dsp' -exec rm -f '{}' ';'
+ find evc -type f -name '*.vcp' -exec rm -f '{}' ';'
+ #find . -type d -name '.deps' -exec rm -Rf '{}' ';'
+ # there's some more cruft all around
+ rm -f config.h config.log config.status
+ rm -f vlc vlc-config Makefile Modules.am
+ rm -Rf autom4te.cache
+ rm -f mozilla/vlcintf.h mozilla/vlcintf.xpt
+ # FIXME: a lot of Makefiles are still there
+fi
+
+##
+## Build a woody-friendly package
+##
+if test "${action}" = "woody"
+then
+ set -ex
+ test -d "$1"
+
+ # changelog: replace (1.2.3-4) with (1.2.3-0woody.4)
+ sed -e 's/^vlc (\([^)]*\)-\([^-)]*\))/vlc-woody (\1-0woody.\2)/' \
+ -e 's/ unstable; / stable; /' \
+ < "$1/debian/changelog" > "$1/debian/changelog.woody"
+ mv "$1/debian/changelog.woody" "$1/debian/changelog"
+
+ # control: replace liba52-*-dev with a52dec-dev (>=0.7.3)
+ # libdv*-dev with libdv-dev
+ # kdelibs4-dev with kdelibs-dev
+ # libqt3-mt-dev libqt3-compat-headers with libqt-dev
+ # libarts1-dev with libarts-dev
+ # libdvdread3-dev with libdvdread2-dev
+ # libdvdplay0-dev (>=1.0.1-2) with libdvdplay0-dev
+ # libxosd-dev (>=2.2.4-1.3) with libxosd-dev
+ # ttf-freefonts with ttf-thryomanes
+ # dvb-dev (>= 1.0.1-6) with dvb-dev
+ # remove libwxgtk2.4-dev
+ # libflac-dev
+ # libidl0 (workaround for mozilla-dev's bad deps)
+ # libglib2.0-0 (workaround for mozilla-dev's bad deps)
+ # libmatroska-dev
+ # libspeex-dev
+ # change Source: vlc with Source: vlc-woody
+ # Section: gnome with Section: graphics
+ # Section: kde with Section: kde
+ # Section: libdevel with Section: devel
+ sed -e 's/liba52-[^-]*-dev/a52dec-dev (>=0.7.3)/' \
+ -e 's/libdv[0-9]*-dev/libdv-dev/' \
+ -e 's/kdelibs[0-9]*-dev/kdelibs-dev/' \
+ -e 's/libqt[0-9]*-mt-dev/libqt-dev/' \
+ -e 's/, libqt[0-9]*-compat-headers[^,]*//' \
+ -e 's/libarts[0-9]*-dev/libarts-dev/' \
+ -e 's/libdvdread[0-9]*-dev/libdvdread2-dev/' \
+ -e 's/, libdvdplay0-dev[^,]*/, libdvdplay0-dev/' \
+ -e 's/, libxosd-dev[^,]*/, libxosd-dev/' \
+ -e 's/, ttf-freefonts[^,]*/, ttf-thryomanes/' \
+ -e 's/, dvb-dev[^,]*/, dvb-dev/' \
+ -e 's/, libwx[^,]*//' \
+ -e '/Package: wxvlc/,/^ *$/d' \
+ -e 's/, libflac-dev[^,]*//' \
+ -e 's/, libidl0[^,]*//' \
+ -e 's/, libglib2.0-0[^,]*//' \
+ -e 's/, libmatroska-dev[^,]*//' \
+ -e 's/, libspeex-dev[^,]*//' \
+ -e 's/Source: vlc/Source: vlc-woody/' \
+ -e 's/Section: gnome/Section: graphics/' \
+ -e 's/Section: kde/Section: graphics/' \
+ -e 's/Section: libdevel/Section: devel/' \
+ < "$1/debian/control" > "$1/debian/control.woody"
+ mv "$1/debian/control.woody" "$1/debian/control"
+
+ # rules: remove wxwindows and skins stuff
+ # remove flac support
+ # remove matroska support
+ sed -e '/# Package: wxvlc/,/^ *$/d' \
+ -e 's,--enable-wxwindows,--disable-wxwindows,' \
+ -e 's,--enable-skins,--disable-skins,' \
+ -e 's,--enable-flac,--disable-flac,' \
+ -e 's,--enable-mkv,--disable-mkv,' \
+ -e 's,--enable-speex,--disable-speex,' \
+ < "$1/debian/rules" > "$1/debian/rules.woody"
+ mv "$1/debian/rules.woody" "$1/debian/rules"
+ chmod 0755 "$1/debian/rules"
+
+ # modules/misc/freetype.c: replace the default font
+ sed -e 's,FreeSerifBold.ttf,thryomanes/thryb___.ttf,' \
+ < "$1/modules/misc/freetype.c" > "$1/modules/misc/freetype.c.woody"
+ mv "$1/modules/misc/freetype.c.woody" "$1/modules/misc/freetype.c"
+fi
+