Add build script to build all components in one run.
authorWerner Koch <wk@gnupg.org>
Mon, 28 Nov 2011 19:28:10 +0000 (20:28 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 28 Nov 2011 19:28:10 +0000 (20:28 +0100)
Run this script in the parent directory of the working copies.  It
does a VPATH build in ~/tmp/gpg-tmp/b in the right order and installs
everything below ~/tmp/gpg-tmp/.

Based on a script by Jim Meyering.

scripts/ChangeLog
scripts/build-all.sh [new file with mode: 0755]

index c183599..fec5405 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-28  Werner Koch  <wk@g10code.com>,
+           Jim Meyering  <jim@meyering.net>
+
+       * build-all.sh: New.
+
 2011-08-10  Werner Koch  <wk@g10code.com>
 
        * config.guess, config.sub: Update to version 2011-06-03.
diff --git a/scripts/build-all.sh b/scripts/build-all.sh
new file mode 100755 (executable)
index 0000000..3cd4f30
--- /dev/null
@@ -0,0 +1,49 @@
+#! /bin/bash
+# A simple script to build all parts of GnuPG from the git repos.
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This file is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# Run this in another window:
+#tail -n0 -F ~/tmp/gpg-tmp/b/{libgpg-error,libksba,libassuan,libgcrypt,gnupg}.log &
+
+p=$HOME/tmp/gpg-tmp
+parts="libgpg-error libassuan libksba libgcrypt gnupg"
+die=no
+for i in $parts; do
+  if test -d $i ; then
+    :
+  else
+    die=yes
+    echo "component $i missing"
+  fi
+done
+test $die = yes && exit 1
+
+mkdir $p || exit 1
+mkdir $p/b || exit 1
+for i in $parts; do
+  mkdir $p/b/$i || exit 1
+done
+
+export PATH=$p/bin:$PATH
+export LD_LIBRARY_PATH=$p/lib
+here="$(pwd)"
+
+prev=
+cfg="configure --enable-maintainer-mode --prefix=$p"
+for i in $parts; do
+  echo $i...
+  test -n "$prev" && cfg="$cfg --with-$prev-prefix=$p"
+  (cd $p/b/$i && eval $here/$i/$cfg && make && make check && make install) \
+      > $p/b/$i.log 2>&1 \
+      || { echo FAIL; break; }
+  prev=$i
+done