12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- # -*- mode: sh -*-
- # Minimal configure script which writes out a Makefile.inc
- # Copyright 2010, 2011 Colin Walters <walters@verbum.org>
- # Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
- prefix=/usr
- datarootdir=${datarootdir:-${prefix}/share}
- # Little helper function for reading args from the commandline.
- # it automatically handles -a b and -a=b variants, and returns 1 if
- # we need to shift $3.
- read_arg() {
- # $1 = arg name
- # $2 = arg value
- # $3 = arg parameter
- local rematch='^[^=]*=(.*)$'
- if [[ $2 =~ $rematch ]]; then
- read "$1" <<< "${BASH_REMATCH[1]}"
- else
- read "$1" <<< "$3"
- # There is no way to shift our callers args, so
- # return 1 to indicate they should do it instead.
- return 1
- fi
- }
- while (($# > 0)); do
- case "${1%%=*}" in
- --prefix) read_arg prefix "$@" || shift;;
- --bindir) read_arg bindir "$@" || shift;;
- --sbindir) read_arg sbindir "$@" || shift;;
- --libexecdir) read_arg libexecdir "$@" || shift;;
- --datarootdir) read_arg datarootdir "$@" || shift;;
- --datadir) read_arg datadir "$@" || shift;;
- --sysconfdir) read_arg sysconfdir "$@" || shift;;
- --libdir) read_arg libdir "$@" || shift;;
- --mandir) read_arg mandir "$@" || shift;;
- *) echo "Ignoring unknown option '$1'";;
- esac
- shift
- done
- # Handle srcdir != builddir
- srcdir=$(dirname $0)
- if ! test -f Makefile; then
- ln -s ${srcdir}/Makefile Makefile
- fi
- cat > Makefile.inc.tmp <<EOF
- srcdir = ${srcdir}
- prefix ?= ${prefix}
- bindir ?= ${bindir:-${prefix}/bin}
- sbindir ?= ${sbindir:-${prefix}/sbin}
- libexecdir ?= ${libexecdir:-${prefix}/libexec}
- datarootdir ?= ${datarootdir}
- datadir ?= ${datadir:-${datarootdir}}
- sysconfdir ?= ${sysconfdir:-${prefix}/etc}
- libdir ?= ${libdir:-${prefix}/lib}
- mandir ?= ${mandir:-${prefix}/share/man}
- EOF
- mv Makefile.inc.tmp Makefile.inc
|