mirror of
https://github.com/videolan/vlc.git
synced 2024-11-27 11:57:03 +08:00
177 lines
4.9 KiB
Bash
Executable File
177 lines
4.9 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
## bootstrap.sh file for vlc, the VideoLAN Client
|
|
## $Id: bootstrap,v 1.9 2002/08/28 13:38:14 sam Exp $
|
|
##
|
|
## Authors: Samuel Hocevar <sam@zoy.org>
|
|
|
|
###
|
|
### 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
|
|
|
|
# Check for gettext
|
|
if which gettextize >/dev/null 2>&1
|
|
then
|
|
if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \
|
|
'>' 0.11.3 >/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
|
|
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
|
|
GETTEXT=old
|
|
fi;else
|
|
# we don't have gettext. grmbl. try to continue anyway.
|
|
mkdir -p m4
|
|
echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/gettext.m4
|
|
echo 'AC_DEFUN([AM_GNU_GETTEXT], [])' >> m4/gettext.m4
|
|
GETTEXT=no
|
|
fi
|
|
|
|
`which automake-1.6 >/dev/null 2>&1` && amvers=1.6 || amvers=1.5
|
|
aclocal-${amvers} -I m4
|
|
autoheader
|
|
automake-${amvers} --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 -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
|
|
|
|
|
|
##
|
|
## 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 <vlc/vlc.h>
|
|
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
|
|
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 -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
|
|
fi
|
|
|
|
##
|
|
## Shut up
|
|
##
|
|
set +x
|
|
|
|
##
|
|
## 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
|
|
|
|
##
|
|
## 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
|
|
|