diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-02-03 14:21:48 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-02-03 14:21:48 +0100 |
commit | 47be870bd83fb3719dffc3ee9348a409ab762a14 (patch) | |
tree | 1d1ad244ffb51c901590ba320e8b458cad825021 /bootstrap.sh | |
parent | a7334b0952ab66c17ee787e36e6d2c5ceb387de6 (diff) |
build: basic autoconfization
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-x | bootstrap.sh | 80 |
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 |