]> git.sesse.net Git - vlc/blob - bootstrap
* ./m4/*: added gettext m4 macros so that the configure behaviour is
[vlc] / bootstrap
1 #! /bin/sh
2
3 ##  bootstrap.sh file for vlc, the VideoLAN Client
4 ##  $Id: bootstrap,v 1.11 2002/08/28 15:30:57 sam Exp $
5 ##
6 ##  Authors: Samuel Hocevar <sam@zoy.org>
7
8 ###
9 ###  get a sane environment
10 ###
11 export LANG=C
12
13 ###
14 ###  argument check
15 ###
16 do_po=no
17 while test $# -gt 0; do
18   case "$1" in
19     --update-po)
20       do_po=yes
21       ;;
22     *)
23       echo "unknown option $1"
24       ;;
25   esac
26   shift
27 done
28
29 ###
30 ###  classic stuff
31 ###
32 set -x
33 rm -f aclocal.m4 configure config.guess config.log config.sub ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh
34
35 # Check for gettext
36 if gettextize --version >/dev/null 2>&1
37 then
38 if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \
39         '>' 0.11.3 >/dev/null 2>&1
40 then
41   # We have gettext, and a recent version! Everything is cool.
42   autopoint --force
43   GETTEXT=yes
44 else
45   # What?! User is not using a recent version of gettext? We'll have to
46   # cheat a bit, then.
47   rm -f po/ChangeLog~
48   gettextize --copy --force | grep '^from the' | cut -f3 -d' '
49   # Yuck!
50   test -f po/ChangeLog~ && mv po/ChangeLog~ po/ChangeLog
51   # Yuck!
52   echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/oldgettext.m4
53   GETTEXT=old
54 fi;else
55   # we don't have gettext. grmbl. try to continue anyway.
56   mkdir -p intl
57   echo > intl/Makefile.am
58   echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' > m4/oldgettext.m4
59   GETTEXT=no
60 fi
61
62 # Check for automake
63 if automake-1.6 --version >/dev/null 2>&1
64 then
65   amvers=1.6
66 else if automake-1.5 --version >/dev/null 2>&1
67 then
68   amvers=1.5
69 else
70   set +x
71   echo "you need automake version 1.5 or later"
72   exit 1
73 fi;fi
74
75 # Do the rest
76 aclocal-${amvers} -I m4
77 autoheader
78 automake-${amvers} --foreign --add-missing --copy
79 autoconf
80
81 # nuahahahahaha !! overwriting Makefile.in with what *I* want!
82 cp Makefile.old Makefile.in
83
84 ##
85 ##  headers which need to be regenerated because of the VLC_EXPORT macro
86 ##
87 file=src/misc/modules_plugin.h
88 rm -f $file
89 sed -e 's#.*\$[I][d]:.*# * Automatically generated from '$file'.in by bootstrap.sh#' < $file.in > $file
90 echo '#define STORE_SYMBOLS( p_symbols ) \' >> $file
91 cat include/*.h | grep '^ *VLC_EXPORT.*;' | \
92        sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/    (p_symbols)->\2_inner = \2; \\/' >> $file
93 echo '' >> $file
94
95 file=include/vlc_symbols.h
96 rm -f $file && touch $file
97 echo '/* DO NOT EDIT THIS FILE ! It was generated by bootstrap.sh */' >> $file
98 echo '' >> $file
99 echo 'struct module_symbols_t' >> $file
100 echo '{' >> $file
101 cat include/*.h | grep '^ *VLC_EXPORT.*;' | \
102        sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/    \1 (* \2_inner) \3;/' | sort >> $file
103 echo '};' >> $file
104 echo '' >> $file
105 echo '#ifdef __PLUGIN__' >> $file
106 cat include/*.h | grep '^ *VLC_EXPORT.*;' | \
107        sed -e 's/VLC_EXPORT( *\([^,]*\), *\([^,]*\), *\(.*\));.*/#   define \2 p_symbols->\2_inner/' | sort >> $file
108 echo '#endif /* __PLUGIN__ */' >> $file
109 echo '' >> $file
110
111
112 ##
113 ##  Glade sometimes sucks
114 ##
115 for file in gnome_interface.c gtk_interface.c
116 do
117 if grep "DO NOT EDIT THIS FILE" modules/gui/gtk/$file 2>&1 > /dev/null
118 then
119     rm -f /tmp/$$.$file.bak
120     cat > /tmp/$$.$file.bak << EOF
121 /* This file was created automatically by glade and fixed by bootstrap.sh */
122
123 #include <vlc/vlc.h>
124 EOF
125     sed -e 1,7d \
126         -e 's#_("-:--:--")#"-:--:--"#' \
127         -e 's#_("---")#"---"#' \
128         -e 's#_("--")#"--"#' \
129         -e 's#_("/dev/dvd")#"/dev/dvd"#' \
130         -e 's#_(\("./."\))#\1#' \
131         < modules/gui/gtk/$file >> /tmp/$$.$file.bak
132     mv -f /tmp/$$.$file.bak modules/gui/gtk/$file
133 fi
134 done
135
136 file=gtk_support.h
137 if grep "DO NOT EDIT THIS FILE" modules/gui/gtk/$file 2>&1 > /dev/null
138 then
139     rm -f /tmp/$$.$file.bak
140     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
141     mv -f /tmp/$$.$file.bak modules/gui/gtk/$file
142 fi
143
144 ##
145 ##  Shut up
146 ##
147 set +x
148
149 ##
150 ##  Update the potfiles because no one ever does it
151 ##
152 if test "$do_po" = "no"
153 then
154   echo "not updating potfiles. use --update-po to force doing it."
155 else
156   cd po
157   make update-po 2>&1 | grep '^[^:]*:$' | cut -f1 -d: | tr '\n' ' ' | sed 's/ $//'
158   cd ..
159 fi
160
161 ##
162 ##  Tell the user about gettext
163 ##
164 case "$GETTEXT" in
165   yes)
166   ;;
167   no)
168     echo ""
169     echo "==========================================================="
170     echo "IMPORTANT NOTE: you do not have gettext installed on your"
171     echo "system. The vlc build will work, but you will not have"
172     echo "internationalization support. We suggest installing gettext."
173   ;;
174   old)
175     echo ""
176     echo "=========================================================="
177     echo "NOTE: you have an old version of gettext installed on your"
178     echo "system. We suggest upgrading to gettext 0.11.3 or later."
179   ;;
180 esac
181