[systemd-devel] [PATCH] autogen: Allow running autogen from a builddir != srcdir

Stef Walter stef at thewalter.net
Tue Feb 25 00:45:46 PST 2014


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 | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/autogen.sh b/autogen.sh
index 20f013a..9b4781c 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -17,6 +17,10 @@
 
 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 && \
@@ -53,20 +57,22 @@ args="$args \
 "
 fi
 
+cd $oldpwd
+
 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
-        ./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
-        ./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
-        ./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
-        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
@@ -74,6 +80,6 @@ else
         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
-- 
1.8.5.3



More information about the systemd-devel mailing list