From 43de5a1e0030b64adfda15bd9a59961fad834d72 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Tue, 10 Jul 2012 15:29:36 -0400 Subject: Initial commit. --- (limited to 'configure') diff --git a/configure b/configure new file mode 100755 index 0000000..070a751 --- /dev/null +++ b/configure @@ -0,0 +1,206 @@ +#! /bin/sh +# +# opkbootstrap +# configure +# Configuration script to generate Makefile. +# +# Copyright (C) 2012 Patrick "P. J." McDermott +# +# 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 3 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. If not, see . + +PACKAGE='opkbootstrap' +VERSION='0.1.0' + +print_usage() +{ + printf 'Usage: %s [OPTION]...\n' "$1" +} + +print_help() +{ + cat <. +This configure script is free software: you can redistribute and/or modify it. +There is NO WARRANTY, to the extent permitted by law. +EOF +} + +opts=$(getopt -n "${0}" -o 'hVq' -l 'help,version,quiet' \ + -l 'srcdir:,prefix:,bindir:,libdir:,mandir:' -- "${@}") +if [ ${?} -ne 0 ]; then + print_usage "${0}" >&2 + exit 1; +fi +eval set -- "${opts}" +while true; do + case "${1}" in + -h|--help) + print_help "${0}" + exit 0 + ;; + -V|--version) + print_version + exit 0 + ;; + -q|--quiet) + QUIET=true + shift + ;; + --srcdir) + SRCDIR="${2}" + shift 2 + ;; + --prefix) + PREFIX="${2}" + shift 2 + ;; + --bindir) + BINDIR="${2}" + shift 2 + ;; + --libdir) + LIBDIR="${2}" + shift 2 + ;; + --datadir) + DATADIR="${2}" + shift 2 + ;; + --mandir) + MANDIR="${2}" + shift 2 + ;; + --) + shift + break + ;; + *) + print_usage "${0}" >&2 + exit 1 + ;; + esac +done + +if [ -z "${QUIET}" ]; then + QUIET=false +fi + +if [ -z "${SRCDIR}" ]; then + SRCDIR=$(dirname "${0}") +fi +# Make SRCDIR an absolute path if it isn't already. +SRCDIR=$(cd ${SRCDIR} && pwd) +if [ -z "${PREFIX}" ]; then + PREFIX=/usr/local +fi +if [ -z "${BINDIR}" ]; then + BINDIR=${PREFIX}/bin +fi +if [ -z "${LIBDIR}" ]; then + LIBDIR=${PREFIX}/lib +fi +if [ -z "${DATADIR}" ]; then + DATADIR=${PREFIX}/share +fi +if [ -z "${MANDIR}" ]; then + MANDIR=${PREFIX}/share/man +fi + +find_dependency() +{ + dep=${1} + var=${2} + shift 2 + + ${QUIET} || printf 'checking for %s... ' "${dep}" + + while [ ${#} -gt 0 ]; do + if [ -f "${1}/${dep}" ]; then + ${QUIET} || printf '%s/%s\n' "${1}" "${dep}" + eval "${var}=${1}/${dep}" + return 0 + fi + shift + done + + ${QUIET} || printf 'not found\n' + missing_dependencies=true + return 1 +} + +missing_dependencies=false + +find_dependency sh SHELL /bin +find_dependency install INSTALL /usr/bin +find_dependency make MAKE /usr/bin + +if ${missing_dependencies}; then + printf '\nSome dependencies could not be found.\n' + printf 'Please make sure all dependencies are installed and try again.\n\n' + exit 1 +fi + +sed_script=" +s&@shell@&${SHELL}& +s&@install@&${INSTALL} -c& +s&@make@&${MAKE}& +s&@srcdir@&${SRCDIR}& +s&@prefix@&${PREFIX}& +s&@bindir@&${BINDIR}& +s&@libdir@&${LIBDIR}& +s&@datadir@&${DATADIR}& +s&@mandir@&${MANDIR}& +s&@package@&${PACKAGE}& +s&@version@&${VERSION}&" + +# Replace configuration variables in Makefile.in +mkdir -p src lib man +sed "$sed_script" ${SRCDIR}/Makefile.in > Makefile +sed "$sed_script" ${SRCDIR}/src/Makefile.in > src/Makefile +sed "$sed_script" ${SRCDIR}/lib/Makefile.in > lib/Makefile +sed "$sed_script" ${SRCDIR}/man/Makefile.in > man/Makefile + +printf '\nConfiguration complete!\n\n' -- cgit v0.9.1