]> git.sesse.net Git - vlc/blob - bootstrap
Remove the autoconf hack, fix gettext broken in b6c4b865
[vlc] / bootstrap
1 #! /bin/sh
2
3 ##  bootstrap file for the VLC media player
4 ##
5 ## Copyright (C) 2005-2006 the VideoLAN team
6 ##
7 ##  Authors: Sam Hocevar <sam@zoy.org>
8 ##           RĂ©mi Denis-Courmont <rem # videolan # org>
9
10 if test "$#" != "0"; then
11   echo "Usage: $0"
12   echo "  Calls automake, autoconf, autoheader, autopoint and other auto* to generate"
13   echo "  m4 macros and prepare Makefiles."
14   exit 1
15 fi
16
17 ###
18 ###  Get a sane environment, just in case
19 ###
20 CYGWIN=binmode
21 export CYGWIN
22
23 set -e
24 set -x
25
26 ##
27 ## Check for various tools
28 ##
29
30 ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
31
32 # Check for contrib directory
33 if test -d extras/contrib/bin; then
34   export PATH="`pwd`/extras/contrib/bin:$PATH"
35   if test -d extras/contrib/share/aclocal; then
36     ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal"
37   fi
38   if test ".`uname -s`" = ".Darwin"; then
39     export LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
40     export DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH
41   elif test ".`uname -s`" = ".BeOS"; then
42     export LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH
43     export BELIBRARIES=./extras/contrib/lib:$BELIBRARIES
44   fi
45 elif test ".`uname -s`" = ".Darwin"; then
46   set +x
47   echo ""
48   echo "ERR: Contribs haven't been built"
49   echo "ERR: Please run:"
50   echo "ERR: "
51   echo "ERR:    'cd extras/contrib && ./bootstrap && make && cd ../..'"
52   echo "ERR: "
53   echo "ERR: Make sure fink has been disabled too."
54   echo ""
55   set -x
56   exit 1
57 fi
58
59 # Check for pkg-config
60 if pkg-config --version >/dev/null 2>&1; then
61   # We have pkg-config, everything is cool.
62   PKGCONFIG=yes
63 else
64   PKGCONFIG=no
65 fi
66
67 ##
68 ## Generate the modules makefile, by parsing modules/**/Modules.am
69 ##
70
71 set +x
72 echo "generating modules/**/Makefile.am and m4/private.m4"
73
74 # Prepare m4/private.m4
75 rm -f m4/private.m4 && cat > m4/private.m4 << EOF
76 dnl  Private VLC macros - generated by bootstrap
77
78 EOF
79
80 if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
81 dnl  User does not have pkg-config, so assume package was not found
82 AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
83
84 EOF
85 fi
86
87 cat >> m4/private.m4 << EOF
88 dnl  Helper macro for vlc-config generation
89 AC_DEFUN([VLC_CONFIG_HELPER], [
90   cat >> vlc-config.in << BLAH
91 EOF
92
93 modules=""
94
95 rm -f modules/Makefile.am && cat > modules/Makefile.am << EOF
96 # Autogenerated by bootstrap - DO NOT EDIT
97 EXTRA_DIST = LIST
98 dist_noinst_SCRIPTS = genmf
99 SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`
100
101 EOF
102
103 modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
104
105 cat >> m4/private.m4 << EOF
106 BLAH
107 ])
108 EOF
109
110 ###
111 ###  classic bootstrap stuff
112 ###
113 set -x
114
115 # Automake complains if these are not present
116 echo > vlc-config.in
117 cp -f INSTALL INSTALL.svn
118
119 autoreconf --install --force --verbose ${ACLOCAL_ARGS}
120 rm -f po/Makevars.template
121 echo > ABOUT-NLS
122 mv -f INSTALL.svn INSTALL
123
124 ##
125 ##  files which need to be regenerated
126 ##
127 rm -f vlc-config.in vlc-config
128 rm -f src/misc/modules_builtin.h
129 rm -f stamp-builtin stamp-h* mozilla/stamp-pic
130
131 # Shut up
132 set +x
133
134 ##
135 ##  Tell the user about gettext, pkg-config and sed
136 ##
137 if [ "$PKGCONFIG" = "no" ]; then
138   cat << EOF
139
140 ==============================================================
141 NOTE: you do not have the "pkg-config" utility on your system;
142 detection of the Gtk-2.0 and GNOME 2.0 libraries will not be
143 reliable.
144 EOF
145 fi
146
147 echo "Successfully bootstrapped"