| #!/bin/bash |
| # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
| # ex: ts=8 sw=4 sts=4 et filetype=sh |
| |
| # We don't support srcdir != builddir |
| echo \#buildapi-variable-no-builddir >/dev/null |
| |
| prefix=/usr |
| |
| enable_documentation=yes |
| |
| # 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 |
| return 0 |
| } |
| |
| while (($# > 0)); do |
| case "${1%%=*}" in |
| --prefix) read_arg prefix "$@" || shift;; |
| --libdir) read_arg libdir "$@" || shift;; |
| --datadir) read_arg datadir "$@" || shift;; |
| --sysconfdir) read_arg sysconfdir "$@" || shift;; |
| --sbindir) read_arg sbindir "$@" || shift;; |
| --mandir) read_arg mandir "$@" || shift;; |
| --disable-documentation) enable_documentation=no;; |
| --program-prefix) read_arg programprefix "$@" || shift;; |
| --exec-prefix) read_arg execprefix "$@" || shift;; |
| --bindir) read_arg bindir "$@" || shift;; |
| --includedir) read_arg includedir "$@" || shift;; |
| --libexecdir) read_arg libexecdir "$@" || shift;; |
| --localstatedir) read_arg localstatedir "$@" || shift;; |
| --sharedstatedir) read_arg sharedstatedir "$@" || shift;; |
| --infodir) read_arg infodir "$@" || shift;; |
| --systemdsystemunitdir) read_arg systemdsystemunitdir "$@" || shift;; |
| --bashcompletiondir) read_arg bashcompletiondir "$@" || shift;; |
| *) echo "Ignoring unknown option '$1'";; |
| esac |
| shift |
| done |
| |
| cat > Makefile.inc.$$ <<EOF |
| prefix ?= ${prefix} |
| libdir ?= ${libdir:-${prefix}/lib} |
| datadir ?= ${datadir:-${prefix}/share} |
| sysconfdir ?= ${sysconfdir:-${prefix}/etc} |
| sbindir ?= ${sbindir:-${prefix}/sbin} |
| mandir ?= ${mandir:-${prefix}/share/man} |
| enable_documentation ?= ${enable_documentation:-yes} |
| bindir ?= ${bindir:-${prefix}/bin} |
| EOF |
| |
| { |
| [[ $programprefix ]] && echo "programprefix ?= ${programprefix}" |
| [[ $execprefix ]] && echo "execprefix ?= ${execprefix}" |
| [[ $includedir ]] && echo "includedir ?= ${includedir}" |
| [[ $libexecdir ]] && echo "libexecdir ?= ${libexecdir}" |
| [[ $localstatedir ]] && echo "localstatedir ?= ${localstatedir}" |
| [[ $sharedstatedir ]] && echo "sharedstatedir ?= ${sharedstatedir}" |
| [[ $infodir ]] && echo "infodir ?= ${infodir}" |
| [[ $systemdsystemunitdir ]] && echo "systemdsystemunitdir ?= ${systemdsystemunitdir}" |
| [[ $bashcompletiondir ]] && echo "bashcompletiondir ?= ${bashcompletiondir}" |
| } >> Makefile.inc.$$ |
| |
| mv Makefile.inc.$$ Makefile.inc |