yann@182: #!/bin/sh yann@182: yann@182: VERSION=$(cat version) yann@182: DATE=$(date +%Y%m%d) yann@182: yann@183: PREFIX_DEFAULT=/usr/local yann@183: BINDIR_DEFAULT="${PREFIX}/bin" yann@183: LIBDIR_DEFAULT="${PREFIX}/lib" yann@183: DOCDIR_DEFAULT="${PREFIX}/share/doc" yann@183: MANDIR_DEFAULT="${PREFIX}/share/man" yann@182: yann@182: BINDIR_set= yann@182: LIBDIR_set= yann@182: DOCDIR_set= yann@182: MANDIR_set= yann@182: yann@182: get_optval(){ yann@182: local ret yann@182: case "$1" in yann@182: --*=?*) yann@182: echo "${1:9}" yann@182: ret=0 yann@182: ;; yann@182: *) yann@182: echo "${2}" yann@182: ret=1 yann@182: ;; yann@182: esac yann@182: return ${ret} yann@182: } yann@182: yann@182: set_prefix() { yann@182: local ret yann@182: PREFIX=$(get_optval "$1" "$2") yann@182: ret=$? yann@182: [ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin" yann@182: [ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib" yann@182: [ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc" yann@182: [ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man" yann@182: return ${ret} yann@182: } yann@182: yann@182: set_bindir() { yann@182: local ret yann@182: BINDIR=$(get_optval "$1" "$2") yann@182: ret=$? yann@182: BINDIR_set=1 yann@182: return ${ret} yann@182: } yann@182: yann@182: set_libdir() { yann@182: local ret yann@182: LIBDIR=$(get_optval "$1" "$2") yann@182: ret=$? yann@182: LIBDIR_set=1 yann@182: return ${ret} yann@182: } yann@182: yann@182: set_docdir() { yann@182: local ret yann@182: DOCDIR=$(get_optval "$1" "$2") yann@182: ret=$? yann@182: DOCDIR_set=1 yann@182: return ${ret} yann@182: } yann@182: yann@182: set_mandir() { yann@182: local ret yann@182: MANDIR=$(get_optval "$1" "$2") yann@182: ret=$? yann@182: MANDIR_set=1 yann@182: return ${ret} yann@182: } yann@182: yann@183: do_help() { yann@183: cat <<__EOF__ yann@183: \`configure' configures ct-ng ${VERSION} to adapt to many kind of systems. yann@183: yann@183: USAGE: ./configure [OPTION]... yann@183: yann@183: Defaults for the options are specified in brackets. yann@183: yann@183: Configuration: yann@183: -h, --help display this help and exit yann@183: --prefix=PREFIX install architecture-independent files in PREFIX yann@183: [${PREFIX_DEFAULT}] yann@183: yann@183: By default, \`make install' will install all the files in yann@183: \`${PREFIX_DEFAULT}/bin', \`${PREFIX_DEFAULT}/lib' etc. You can specify yann@183: an installation prefix other than \`${PREFIX_DEFAULT}' using \`--prefix', yann@183: for instance \`--prefix=\${HOME}'. yann@183: yann@183: For better control, use the options below. yann@183: yann@183: Fine tuning of the installation directories: yann@183: --bindir=DIR user executables [PREFIX/bin] yann@183: --libdir=DIR object code libraries [PREFIX/lib] yann@183: --docdir=DIR info documentation [PREFIX/share/doc] yann@183: --mandir=DIR man documentation [PREFIX/share/man] yann@183: __EOF__ yann@183: } yann@183: yann@182: while [ $# -ne 0 ]; do yann@182: case "$1" in yann@182: --prefix*) set_prefix "$1" "$2" && shift || shift 2;; yann@182: --bindir*) set_bindir "$1" "$2" && shift || shift 2;; yann@182: --libdir*) set_libdir "$1" "$2" && shift || shift 2;; yann@182: --docdir*) set_docdir "$1" "$2" && shift || shift 2;; yann@182: --mandir*) set_mandir "$1" "$2" && shift || shift 2;; yann@183: --help|-h) do_help; exit 0;; yann@183: *) do_help; exit 1;; yann@182: esac yann@182: done yann@182: yann@183: [ -z "${PREFIX}" ] && set_prefix --prefix "${PREFIX_DEFAULT}" yann@183: yann@182: sed -r -e "s,@@BINDIR@@,${BINDIR},g;" \ yann@182: -e "s,@@LIBDIR@@,${LIBDIR},g;" \ yann@182: -e "s,@@DOCDIR@@,${DOCDIR},g;" \ yann@182: -e "s,@@MANDIR@@,${MANDIR},g;" \ yann@182: -e "s,@@VERSION@@,${VERSION},g;" \ yann@182: -e "s,@@DATE@@,${DATE},g;" \ yann@182: Makefile.in >Makefile