chiark / gitweb /
autogen: Allow running autogen from a builddir != srcdir
authorStef Walter <stef@thewalter.net>
Tue, 25 Feb 2014 08:45:46 +0000 (09:45 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 27 Feb 2014 06:16:14 +0000 (01:16 -0500)
While the configure correctly supports being run outside of
the top source directory by default, it's nice if autogen.sh
does too:

 $ git clone git://anongit.freedesktop.org/systemd/systemd
 $ cd systemd
 $ mkdir $(uname -m)
 $ cd $(uname -m)
 $ ../autogen.sh a
 $ make

autogen.sh

index 20f013a..9b4781c 100755 (executable)
 
 set -e
 
 
 set -e
 
+oldpwd=$(pwd)
+topdir=$(dirname $0)
+cd $topdir
+
 if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
         # This part is allowed to fail
         cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
 if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
         # This part is allowed to fail
         cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
@@ -53,20 +57,22 @@ args="$args \
 "
 fi
 
 "
 fi
 
+cd $oldpwd
+
 if [ "x$1" = "xc" ]; then
 if [ "x$1" = "xc" ]; then
-        ./configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args
+        $topdir/configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args
         make clean
 elif [ "x$1" = "xg" ]; then
         make clean
 elif [ "x$1" = "xg" ]; then
-        ./configure CFLAGS='-g -Og -ftrapv' --enable-compat-libs --enable-kdbus $args
+        $topdir/configure CFLAGS='-g -Og -ftrapv' --enable-compat-libs --enable-kdbus $args
         make clean
 elif [ "x$1" = "xa" ]; then
         make clean
 elif [ "x$1" = "xa" ]; then
-        ./configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' --enable-compat-libs --enable-kdbus $args
+        $topdir/configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' --enable-compat-libs --enable-kdbus $args
         make clean
 elif [ "x$1" = "xl" ]; then
         make clean
 elif [ "x$1" = "xl" ]; then
-        ./configure CC=clang CFLAGS='-g -O0 -ftrapv -Wno-gnu' --enable-compat-libs --enable-kdbus $args
+        $topdir/configure CC=clang CFLAGS='-g -O0 -ftrapv -Wno-gnu' --enable-compat-libs --enable-kdbus $args
         make clean
 elif [ "x$1" = "xs" ]; then
         make clean
 elif [ "x$1" = "xs" ]; then
-        scan-build ./configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args
+        scan-build $topdir/configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args
         scan-build make
 else
         echo
         scan-build make
 else
         echo
@@ -74,6 +80,6 @@ else
         echo "Initialized build system. For a common configuration please run:"
         echo "----------------------------------------------------------------"
         echo
         echo "Initialized build system. For a common configuration please run:"
         echo "----------------------------------------------------------------"
         echo
-        echo "./configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args"
+        echo "$topdir/configure CFLAGS='-g -O0 -ftrapv' --enable-compat-libs --enable-kdbus $args"
         echo
 fi
         echo
 fi