summaryrefslogtreecommitdiff
path: root/bootstrap.sh
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-02-03 14:21:48 +0100
committerLennart Poettering <lennart@poettering.net>2010-02-03 14:21:48 +0100
commit47be870bd83fb3719dffc3ee9348a409ab762a14 (patch)
tree1d1ad244ffb51c901590ba320e8b458cad825021 /bootstrap.sh
parenta7334b0952ab66c17ee787e36e6d2c5ceb387de6 (diff)
build: basic autoconfization
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-xbootstrap.sh80
1 files changed, 80 insertions, 0 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 0000000000..73243ed440
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+# This file is part of systemd.
+#
+# Copyright 2010 Lennart Poettering
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
+AM_VERSION=1.11
+AC_VERSION=2.63
+
+run_versioned() {
+ local P
+ local V
+
+ V=$(echo "$2" | sed -e 's,\.,,g')
+
+ if [ -e "`which $1$V 2> /dev/null`" ] ; then
+ P="$1$V"
+ else
+ if [ -e "`which $1-$2 2> /dev/null`" ] ; then
+ P="$1-$2"
+ else
+ P="$1"
+ fi
+ fi
+
+ shift 2
+ "$P" "$@"
+}
+
+set -ex
+
+if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
+ cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
+ chmod +x .git/hooks/pre-commit && \
+ echo "Activated pre-commit hook."
+fi
+
+# We check for this here, because if pkg-config is not found in the
+# system, it's likely that the pkg.m4 macro file is also not present,
+# which will make PKG_PROG_PKG_CONFIG be undefined and the generated
+# configure file faulty.
+if ! pkg-config --version &>/dev/null; then
+ echo "pkg-config is required to bootstrap this program" &>/dev/null
+ exit 1
+fi
+
+if type -p colorgcc > /dev/null ; then
+ export CC=colorgcc
+fi
+
+if [ "x$1" = "xam" ] ; then
+ run_versioned automake "$VERSION" -a -c --foreign
+ ./config.status
+else
+ rm -rf autom4te.cache
+ rm -f config.cache
+
+ run_versioned aclocal "$AM_VERSION" -I m4
+ run_versioned autoconf "$AC_VERSION" -Wall
+ run_versioned autoheader "$AC_VERSION"
+ run_versioned automake "$AM_VERSION" --copy --foreign --add-missing
+
+ if [ "x$1" != "xac" ]; then
+ CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var "$@"
+ make clean
+ fi
+fi