summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorLuke Shumaker <luke@HP-dv6426us-u904.(none)>2009-10-24 18:07:09 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:16 -0600
commit02b786650ec98a1b686d5ed17cb76aca22a06e0d (patch)
tree398b506a735779288feb341c2b97e1ca77696690 /configure
parent5999d27fc8574cb80612e3270f8445e8fd7a8b20 (diff)
build-system-ish thing works at the meta-package level
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure91
1 files changed, 91 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..87fe228
--- /dev/null
+++ b/configure
@@ -0,0 +1,91 @@
+#!/usr/bin/env bash
+name='configure' # Luke's configureation script
+#version='1.0'
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program 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.
+#
+# This program 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 this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+ _prefix='/usr/local'
+_exec_prefix='$(prefix)'
+ _bindir='$(exec_prefix)/bin'
+ _sbindir='$(exec_prefix)/sbin'
+ _libexecdir='$(exec_prefix)/libexec'
+ _srcdir=$(readlink -f `dirname "$0"`)
+vars='prefix exec_prefix bindir sbindir libexecdir srcdir'
+if [ -f "$_srcdir/config" ]; then . "$_srcdir/config"; fi
+
+error() {
+ echo "$name: $1" >> /dev/stderr
+ exit 1
+}
+
+args=`getopt -n "$name" -o "${sopt}" -l "${lopt}${vars}" -- "$@"`
+if [ $? == 0 ]; then
+ set -- $args
+ while [ $# -gt 0 ]; do case "$1" in
+ --) break;;
+ --*)
+ var0="${1/--/}"
+ match='false'
+ for var1 in $vars; do
+ if [ "$var0" == "$var1" ]; then
+ match='true'
+ break;
+ fi
+ done
+ if [ "$match" == 'true' ]; then
+ val="$2"
+ eval _$var0=$val
+ else
+ error "option \`$1' not recognized";
+ fi
+ :;;
+ *) error "option \`$1' not recognized";;
+ esac
+ shift
+ done
+else
+ error 'unable to parse command line arguments'
+fi
+
+echo '#!/bin/sed -f' > var.sed
+for var in $vars; do
+ var1="_$var"
+ val=${!var1}
+
+ # GNU bash optimized version
+ var=${var//':'/'\:'}
+ val=${val//':'/'\:'}
+ # POSIX version
+ #var=`echo "$var" | sed 's@:@\\:@g'`
+ #val=`echo "$val" | sed 's@:@\\:@g'`
+
+ echo "s:@$var@:$val:g" >> var.sed
+done
+
+echo "11 a# DO NOT edit this file, it has been generated by configure, and will
+11 a# be overwritten. Instead, edit the file \`Makefile.in'" >> var.sed
+
+Makefiles=`find "${_srcdir}/" -regextype posix-extended \
+-regex '(.*/)?Makefile\.in' -type f`
+
+for orig in $Makefiles; do
+ new=${orig/%.in/}
+ new=${new/#$_srcdir\//}
+ mkdir -p `dirname "$new"`
+ sed -f var.sed < "${orig}" > "${new}"
+done
+rm var.sed
+