chiark / gitweb /
Change in project setups.
[cfd] / mdw-setup
diff --git a/mdw-setup b/mdw-setup
new file mode 100755 (executable)
index 0000000..d18a49a
--- /dev/null
+++ b/mdw-setup
@@ -0,0 +1,58 @@
+#! /bin/sh
+
+set -e
+
+### Basic setup stuff
+ego=$(echo "$0" | sed 's:^.*[/\\]::; s:\.*$::')
+usage="Usage: $ego [--debian]"
+
+### Parse options
+debian=no
+while [ $# -gt 0 ]; do
+  case "$1" in
+    --help | -h | --usage | -u)
+      echo "$usage"
+      exit
+      ;;
+    --debian)
+      debian=yes
+      ;;
+    --)
+      shift
+      break
+      ;;
+    -*)
+      echo >&2 "$ego: unknown option \`$1'"
+      exit 1
+      ;;
+  esac
+  shift
+done
+if [ $# -ne 0 ]; then
+  echo >&2 "$usage"
+  exit 1
+fi
+
+### Link any strange common files we need
+[ -f .links ] && mklinks
+
+### Grind through the Autoconf machinery
+configure=
+for i in configure.ac configure.in; do
+  [ -f $i ] && configure=$i
+done
+if [ "$configure" ]; then
+  grep >/dev/null AM_PROG_LIBTOOL $configure && libtoolize
+  find . -name Makefile.m4 -print | while read m4; do
+    am=$(echo $m4 | sed 's:.m4:.am:')
+    m4 $m4 >$am.new
+    mv $am.new $am
+  done
+  mkaclocal
+  autoconf
+  grep >/dev/null AM_CONFIG_HEADER $configure && autoheader
+  [ -f Makefile.am ] && automake -a
+fi
+
+### Maybe make a build directory
+[ $debian = no ] && [ ! -e build ] && mkdir build