]> git.ipfire.org Git - people/ms/systemd.git/blob - bootstrap.sh
load-fragment: replace % specifiers in descriptions
[people/ms/systemd.git] / bootstrap.sh
1 #!/bin/bash
2
3 # This file is part of systemd.
4 #
5 # Copyright 2010 Lennart Poettering
6 #
7 # systemd is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # systemd is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with systemd; If not, see <http://www.gnu.org/licenses/>.
19
20 AM_VERSION=1.11
21 AC_VERSION=2.63
22
23 run_versioned() {
24 local P
25 local V
26
27 V=$(echo "$2" | sed -e 's,\.,,g')
28
29 if [ -e "`which $1$V 2> /dev/null`" ] ; then
30 P="$1$V"
31 else
32 if [ -e "`which $1-$2 2> /dev/null`" ] ; then
33 P="$1-$2"
34 else
35 P="$1"
36 fi
37 fi
38
39 shift 2
40 "$P" "$@"
41 }
42
43 set -ex
44
45 if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
46 cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
47 chmod +x .git/hooks/pre-commit && \
48 echo "Activated pre-commit hook."
49 fi
50
51 # We check for this here, because if pkg-config is not found in the
52 # system, it's likely that the pkg.m4 macro file is also not present,
53 # which will make PKG_PROG_PKG_CONFIG be undefined and the generated
54 # configure file faulty.
55 if ! pkg-config --version &>/dev/null; then
56 echo "pkg-config is required to bootstrap this program" &>/dev/null
57 exit 1
58 fi
59
60 if type -p colorgcc > /dev/null ; then
61 export CC=colorgcc
62 fi
63
64 if [ "x$1" = "xam" ] ; then
65 run_versioned automake "$VERSION" -a -c --foreign
66 ./config.status
67 else
68 rm -rf autom4te.cache
69 rm -f config.cache
70
71 run_versioned aclocal "$AM_VERSION" -I m4
72 run_versioned autoconf "$AC_VERSION" -Wall
73 run_versioned autoheader "$AC_VERSION"
74 run_versioned automake "$AM_VERSION" --copy --foreign --add-missing
75
76 if [ "x$1" != "xac" ]; then
77 CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var "$@"
78 make clean
79 fi
80 fi