Ship vlc-plugin.pc.in
[vlc.git] / bootstrap
1 #! /bin/sh
2
3 ##  bootstrap file for the VLC media player
4 ##
5 ## Copyright (C) 2005-2008 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 autoreconf to generate m4 macros and prepare Makefiles."
13   exit 1
14 fi
15
16 ###
17 ###  Get a sane environment, just in case
18 ###
19 CYGWIN=binmode
20 export CYGWIN
21
22 set -e
23 set -x
24
25 ##
26 ## Check for various tools
27 ##
28
29 ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
30
31 # Check for contrib directory
32 if test -d extras/contrib/bin; then
33   PATH="`pwd`/extras/contrib/bin:$PATH"
34   if test -d extras/contrib/share/aclocal; then
35     ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal"
36   fi
37   if test ".`uname -s`" = ".Darwin"; then
38     LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
39     DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH
40     export LD_LIBRARY_PATH
41     export DYLD_LIBRARY_PATH
42   elif test ".`uname -s`" = ".BeOS"; then
43     LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH
44     BELIBRARIES=./extras/contrib/lib:$BELIBRARIES
45     export LIBRARY_PATH
46     export BELIBRARIES
47   fi
48 elif test ".`uname -s`" = ".Darwin"; then
49   set +x
50   echo ""
51   echo "ERR: Contribs haven't been built"
52   echo "ERR: Please run:"
53   echo "ERR: "
54   echo "ERR:    'cd extras/contrib && ./bootstrap && make && cd ../..'"
55   echo "ERR: "
56   echo "ERR: Make sure fink has been disabled too."
57   echo ""
58   set -x
59   exit 1
60 fi
61
62 # Check for pkg-config
63 if pkg-config --version >/dev/null 2>&1; then
64   # We have pkg-config, everything is cool.
65   PKGCONFIG=yes
66 else
67   PKGCONFIG=no
68 fi
69
70 # Check for autopoint (GNU gettext)
71 export AUTOPOINT
72 test "$AUTOPOINT" || AUTOPOINT=autopoint
73 if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then
74   AUTOPOINT=true
75   echo > ABOUT-NLS
76 fi
77
78 ##
79 ## Generate the modules makefile, by parsing modules/**/Modules.am
80 ##
81
82 set +x
83 echo "generating modules/**/Makefile.am and m4/private.m4"
84
85 # Prepare m4/private.m4
86 rm -f m4/private.m4 && cat > m4/private.m4 << EOF
87 dnl  Private VLC macros - generated by bootstrap
88
89 EOF
90
91 if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
92 dnl  User does not have pkg-config, so assume package was not found
93 AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
94
95 EOF
96 fi
97
98 cat >> m4/private.m4 << EOF
99 dnl  Helper macro for vlc-config generation
100 AC_DEFUN([VLC_CONFIG_HELPER], [
101   cat >> vlc-config.in << BLAH
102 EOF
103
104 modules=""
105
106 modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
107
108 cat >> m4/private.m4 << EOF
109 BLAH
110 ])
111 EOF
112
113 ###
114 ###  classic bootstrap stuff
115 ###
116 set -x
117
118 # Automake complains if these are not present
119 echo > vlc-config.in
120 echo > ABOUT-NLS
121 cp -f INSTALL INSTALL.git
122
123 autoreconf --install --force --verbose ${ACLOCAL_ARGS}
124 rm -f po/Makevars.template ABOUT-NLS
125 echo > ABOUT-NLS
126 mv -f INSTALL.git INSTALL
127
128 ##
129 ##  files which need to be regenerated
130 ##
131 rm -f vlc-config.in vlc-config
132 rm -f src/misc/modules_builtin.h
133 rm -f stamp-builtin stamp-h* mozilla/stamp-pic
134
135 # Shut up
136 set +x
137
138 ##
139 ##  Tell the user about gettext, pkg-config and sed
140 ##
141 if [ "$AUTOPOINT" = "true" ]; then
142   cat << EOF
143
144 ==============================================================
145 NOTE: GNU gettext appears to be missing or out-of-date.
146 Please install or update GNU gettext.
147 Otherwise, you will not be able to build a source tarball.
148 EOF
149 fi
150
151 if [ "$PKGCONFIG" = "no" ]; then
152   cat << EOF
153
154 ==============================================================
155 NOTE: "pkg-config" is missing from your system. Certain
156 libraries may not be detected properly.
157 EOF
158 fi
159
160 echo "Successfully bootstrapped"