aboutsummaryrefslogblamecommitdiffstats
path: root/mk/configure
blob: 732163efe6426503967dfa9461521303ac7c8d28 (plain) (tree)






























                                                                                                      












                                                            






























































































































































































                                                                                               
                                





                                        
                                


















                                               
                                





                                        
                                




























                                                                                                                
                                                













































































































                                                                                                          
                       

                                                




























































































                                                                                           
                                                                              
























                                              
                                 



















                                                                                




                                            





































































































































































                                                                     



                                                         




                                           
# -*- shell-script -*-

# Copyright (C) 2015  Mattias Andrée <maandree@member.fsf.org>
# 
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.  This file is offered as-is,
# without any warranty.


# Run './configure --help' for usage information.


#   FOR DEVELOPERS USING THIS SCRIPT:
# This file is used by include this file, via the . builtin,
# in your ./configure. Before doing so, you must declare
#   PKGNAME=the_name_of_your_package
#   MAN_SECTION_SUFFIX=default_suffix_to_append_to_man_page_section # (usually empty)
#   MAN_SECTION=the_section_your_man_page_is_in # (do no declare if you do not use exacly one section)
#   Define the function list_optional_features_help, see the help output.
#   Define the function unrecognised_argument to deal with any unrecognised argument.



# Store command for rebuilding Makefile to config.status.
exec 10>config.status

# Store configurations to .config.mk.
exec 20>.config.mk


# Print a quoted (if necessary) version of a string
quote ()
{
    value="$1"
    if ! test "${value%%\'*}" = "${value}"; then
	value="'$(echo "${value}" | sed "s/'/'\\\\''/g")'"
    elif ! test "$(printf '%s' ${value})" = "${value}"; then
	value="'${value}'"
    fi
    echo "${value}"
}


# Parse command line.
incomplete=
dashed=
f_help=
f_gnulinux=
f_bin_merger=
for option; do
    if test -n "${incomplete}"; then
	option="${incomplete}=${option}"
	incomplete=
    fi
    
    # For --{with{,out},{en,dis}able}-*.
    feature="${option#--*}"
    feature="${feature#*-}"
    feature="$(echo "${feature}" | tr qwertyuiopasdfghjklzxcvbnm- QWERTYUIOPASDFGHJKLZXCVBNM_)"
    
    # For directories and filename tweaks.
    nodash=_novar
    
    case "${dashed}${option}" in
# general
	(--)
	    dashed=yes ;;
	(--help)
	    f_help=yes ;;
	(--destdir | --destdir=* | --pkgdir | --pkgdir=*)
	    nodash=destdir ;;
	(--srcdir | --srcdir)
	    nodash=srcdir ;;

# directory automation
	(--gnu-linux)
	    f_gnulinux=yes ;;
	(--bin-merger)
	    f_bin_merger=yes ;;

# directories and filenames
	(--prefix | --prefix=*)
	    nodash=prefix ;;
	(--exec-prefix | --exec-prefix=* | --exec_prefix | --exec_prefix=*)
	    nodash=exec_prefix ;;
	(--bindir | --bindir=*)
	    nodash=bindir ;;
	(--sbindir | --sbindir=*)
	    nodash=sbindir ;;
	(--libexecdir | --libexecdir=*)
	    nodash=libexecdir ;;
	(--libdir | --libdir=*)
	    nodash=libdir ;;
	(--includedir | --includedir=*)
	    nodash=includedir ;;
	(--oldincludedir | --oldincludedir=*)
	    nodash=oldincludedir ;;
	(--datarootdir | --datarootdir=*)
	    nodash=datarootdir ;;
	(--datadir | --datadir=*)
	    nodash=datadir ;;
	(--libdatarootdir | --libdatarootdir=*)
	    nodash=libdatarootdir ;;
	(--libdatadir | --libdatadir=*)
	    nodash=libdatadir ;;
	(--sysconfdir | --sysconfdir=*)
	    nodash=sysconfdir ;;
	(--sharedstatedir | --=sharedstatedir*)
	    nodash=sharedstatedir ;;
	(--localstatedir | --localstatedir=*)
	    nodash=localstatedir ;;
	(--runstatedir | --runstatedir=*)
	    nodash=runstatedir ;;
	(--lispdir | --lispdir=*)
	    nodash=lispdir ;;
	(--localedir | --localedir=*)
	    nodash=localedir ;;
	(--licensedir | --licensedir=*)
	    nodash=licensedir ;;
	(--emptydir | --emptydir=*)
	    nodash=emptydir ;;
	(--cachedir | --cachedir=*)
	    nodash=cachedir ;;
	(--spooldir | --spooldir=*)
	    nodash=spooldir ;;
	(--logdir | --logdir=*)
	    nodash=logdir ;;
	(--statedir | --statedir=*)
	    nodash=statedir ;;
	(--gamedir | --gamedir=*)
	    nodash=gamedir ;;
	(--sharedcachedir | --sharedcachedir=*)
	    nodash=sharedcachedir ;;
	(--sharedspooldir | --sharedspooldir=*)
	    nodash=sharedspooldir ;;
	(--sharedlogdir | --sharedlogdir=*)
	    nodash=sharedlogdir ;;
	(--sharedstatedir | --sharedstatedir=*)
	    nodash=sharedstatedir ;;
	(--sharedgamedir | --sharedgamedir=*)
	    nodash=sharedgamedir ;;
	(--tmpdir | --tmpdir=*)
	    nodash=tmpdir ;;
	(--localtmpdir | --localtmpdir=*)
	    nodash=localtmpdir ;;
	(--sharedtmpdir | --sharedtmpdir=*)
	    nodash=sharedtmpdir ;;
	(--lockdir | --lockdir=*)
	    nodash=lockdir ;;
	(--skeldir | --skeldir=*)
	    nodash=skeldir ;;
	(--devdir | --devdir=*)
	    nodash=devdir ;;
	(--sysdir | --sysdir=*)
	    nodash=sysdir ;;
	(--procdir | --procdir=*)
	    nodash=procdir ;;
	(--selfprocdir | --selfprocdir=*)
	    nodash=selfprocdir ;;
	(--docdir | --docdir=*)
	    nodash=docdir ;;
	(--infodir | --infodir=*)
	    nodash=infodir ;;
	(--dvidir | --dvidir=*)
	    nodash=dvidir ;;
	(--pdfdir | --pdfdir=*)
	    nodash=pdfdir ;;
	(--psdir | --psdir=*)
	    nodash=psdir ;;
	(--htmldir | --htmldir=*)
	    nodash=htmldir ;;
	(--mandir | --mandir=*)
	    nodash=mandir ;;
	(--man0 | --man0=*)
	    nodash=man0 ;;
	(--man1 | --man1=*)
	    nodash=man1 ;;
	(--man2 | --man2=*)
	    nodash=man2 ;;
	(--man3 | --man3=*)
	    nodash=man3 ;;
	(--man4 | --man4=*)
	    nodash=man4 ;;
	(--man5 | --man5=*)
	    nodash=man5 ;;
	(--man6 | --man6=*)
	    nodash=man6 ;;
	(--man7 | --man7=*)
	    nodash=man7 ;;
	(--man8 | --man8=*)
	    nodash=man8 ;;
	(--man9 | --man9=*)
	    nodash=man9 ;;
	(--man0ext | --man0ext=*)
	    nodash=man0ext ;;
	(--man1ext | --man1ext=*)
	    nodash=man1ext ;;
	(--man2ext | --man2ext=*)
	    nodash=man2ext ;;
	(--man3ext | --man3ext=*)
	    nodash=man3ext ;;
	(--man4ext | --man4ext=*)
	    nodash=man4ext ;;
	(--man5ext | --man5ext=*)
	    nodash=man5ext ;;
	(--man6ext | --man6ext=*)
	    nodash=man6ext ;;
	(--man7ext | --man7ext=*)
	    nodash=man7ext ;;
	(--man8ext | --man8ext=*)
	    nodash=man8ext ;;
	(--man9ext | --man9ext=*)
	    nodash=man9ext ;;
	(--manext | --manext=*)
	    if test -n "${MAN_SECTION}"; then
		nodash=manext
	    else
		printf "\e[01;31m%s: warning: ignoring: %s\e[00m\n" "${0}" "${option}" >&2
		sleep 1
	    fi
	    ;;

# ignored
	# Unrecognised directories, and settings that cannot be used with internationalisation.
	(--*dir=* | --*dir | --man?dir | --man?dir=*)
	    printf "\e[01;31m%s: warning: ignoring: %s\e[00m\n" "${0}" "${option}" >&2
	    sleep 1
	    ;;

# feature tweaking
	(--with-*)
	    feature="WITH_${feature}"
	    echo "${feature}" = yes >&20
	    export "${feature}"=yes
	    option="${option}=x"
	    ;;
	
	(--without-*)
	    feature="WITHOUT_${feature}"
	    echo "${feature}" = yes >&20
	    export "${feature}"=yes
	    option="${option}=x"
	    ;;
	
	(--enable-*=*)
	    param="${feature#*=}"
	    feature="${feature%%=*}"
	    if ! test "${param}" = "no"; then
		feature="ENABLE_${feature}"
	    else
		feature="DISABLE_${feature}"
		param=yes
	    fi
	    echo "${feature}" = "${param}" >&20
	    export "${feature}"="${param}"
	    ;;
	
	(--enable-*)
	    feature="DISABLE_${feature}"
	    echo "${feature}" = yes >&20
	    export "${feature}"=yes
	    option="${option}=x"
	    ;;
	
	(--disable-*)
	    feature="DISABLE_${feature}"
	    echo "${feature}" = yes >&20
	    export "${feature}"=yes
	    option="${option}=x"
	    ;;

# unrecognised
	(${dashed}--*)
	    unrecognised_argument "${option}"
	    ;;

# variables
	(${dashed}*=*)
	    var="${option%%=*}"
	    val="${option#*=}"
	    if test -n "$(echo "${var}" | tr -d '[_a-zA-Z0-9-]')"; then
		# Variable is not used and is potentially not
		# formatted in a compatible way.
		printf "\e[01;31m%s: warning: ignoring because of bad format: %s\e[00m\n" "${0}" "${option}" >&2
		sleep 1
	    fi
	    echo "${var}" = "${val}" >&20
	    ;;

# unrecognised
	(*)
	    unrecognised_argument "${option}"
	    ;;
    esac

    if test "${option%%=*}" = "${option}"; then
	incomplete="${option}"
    else
	eval "${nodash}=$(quote "${option#*=}")"
	eval "have_${nodash}=yes"
    fi
done


# Print usage information. This is parsed by
# the auto-completion script for ./configure.
if test -n "${f_help}"; then
    cat <<EOF
Configure the package (${PKGNAME}) before building and installing.

OPTIONS

general
  --help                  Print usage information.
  --destdir=DIR           Output directory for staged install.
  --srcdir=DIR            The directory for the sources being compiled.
  VARIABLE=VALUE          Override a variable in the Makefile.

directory automation
  --gnu-linux             Use default configurations for GNU/Linux.
  --bin-merger            The OS distribution has symlinked sbin to bin for the select exec-prefix.

tweaking of features
EOF
    list_optional_features_help
    cat <<EOF

tweaking of directories and filenames
  --prefix=DIR            Prefix used for other directories than.
  --exec-prefix=DIR       Prefix used for /bin, /sbin, /libexec, and /lib.
  --bindir=DIR            Executable programs that users can run.
  --sbindir=DIR           Executable administrative programs.
  --libexecdir=DIR        Executable programs run by other programs and not be users.
  --libdir=DIR            Object files and libraries of object code.
  --includedir=DIR        Header files.
  --oldincludedir=DIR     Header files. Should have the prefix /usr if the canonical prefix is /usr/local.
  --datarootdir=DIR       Architecture-independent data files.
  --datadir=DIR           Architecture-independent resource files.
  --libdatarootdir=DIR    Architecture-dependent data files.
  --libdatadir=DIR        Architecture-dependent resource files.
  --sysconfdir=DIR        Machine-local configuration files.
  --sharedstatedir=DIR    Network-shared architecture-independent state files.
  --localstatedir=DIR     Machine-local architecture-independent state files.
  --runstatedir=DIR       Machine-local runtime state files.
  --lispdir=DIR           Emacs LISP files.
  --localedir=DIR         Locale-specific message catalogues.
  --licensedir=DIR        License files.
  --emptydir=DIR          An always empty directory.
  --cachedir=DIR          Machine-local cached files.
  --spooldir=DIR          Machine-local spooled files.
  --logdir=DIR            Machine-local log files
  --statedir=DIR          Machine-local persistent state files
  --gamedir=DIR           Machine-local highscore files.
  --sharedcachedir=DIR    Network-shared cached files.
  --sharedspooldir=DIR    Network-shared spooled files.
  --sharedlogdir=DIR      Network-shared log files
  --sharedstatedir=DIR    Network-shared persistent state files
  --sharedgamedir=DIR     Network-shared highscore files.
  --tmpdir=DIR            Machine-local volatile temporary files.
  --localtmpdir=DIR       Machine-local persistent temporary files.
  --sharedtmpdir=DIR      Network-shared temporary files.
  --lockdir=DIR           Lock files.
  --skeldir=DIR           User skeleton.
  --devdir=DIR            Devices and pseudo-devices.
  --sysdir=DIR            System-information logical file.
  --procdir=DIR           Process-information logical file.
  --selfprocdir=DIR       Process-information logical file for the process itself.
  --docdir=DIR            Documentation files, other then info manuals and man pages.
  --infodir=DIR           Info manuals.
  --dvidir=DIR            DVI manuals.
  --pdfdir=DIR            PDF manuals.
  --psdir=DIR             PostScript manuals.
  --htmldir=DIR           HTML manuals.
  --mandir=DIR            Top-level directory for man pages.
  --man0=DIR              Basename of the directory for section 0 man pages.
  --man1=DIR              Basename of the directory for section 1 man pages.
  --man2=DIR              Basename of the directory for section 2 man pages.
  --man3=DIR              Basename of the directory for section 3 man pages.
  --man4=DIR              Basename of the directory for section 4 man pages.
  --man5=DIR              Basename of the directory for section 5 man pages.
  --man6=DIR              Basename of the directory for section 6 man pages.
  --man7=DIR              Basename of the directory for section 7 man pages.
  --man8=DIR              Basename of the directory for section 8 man pages.
  --man9=DIR              Basename of the directory for section 9 man pages.
EOF
    if test -n "${MAN_SECTION}"; then
	cat <<EOF
  --manext=EXT            Filename suffix for the man page.
EOF
    fi
    cat <<EOF
  --man0ext=EXT           Filename suffix for section 0 man pages.
  --man1ext=EXT           Filename suffix for section 1 man pages.
  --man2ext=EXT           Filename suffix for section 2 man pages.
  --man3ext=EXT           Filename suffix for section 3 man pages.
  --man4ext=EXT           Filename suffix for section 4 man pages.
  --man5ext=EXT           Filename suffix for section 5 man pages.
  --man6ext=EXT           Filename suffix for section 6 man pages.
  --man7ext=EXT           Filename suffix for section 7 man pages.
  --man8ext=EXT           Filename suffix for section 8 man pages.
  --man9ext=EXT           Filename suffix for section 9 man pages.
EOF
    exit 0
fi


# Set unset directories to their default.
defdir ()
{
    p="$(quote "${2}")"
    if ! test "${p%%\'*}" = "${p}"; then
	p="$(echo "${p}" | sed "s/'/'\\\\''/g")"
    fi
    if ! test -n "$(eval echo '${have_'"${1}"'}')"; then
       eval "${1}='${p}'"
    fi
}
if test -n "${f_gnulinux}"; then
    defdir prefix "/usr"
    _prefix=
    case ${prefix} in
	('' | /   |   /usr | /usr/  |  /games | /games  |  /usr/games | /usr/games/)
	    _infix=
	    ;;
	(/usr/local  |  /usr/local/  |  /usr/local/games  |  /usr/local/games/)
	    _infix=/local
	    ;;
	(/opt/*)
	    _infix=${prefix}
	    ;;
	(*)
	    # This probably means somewhere in /home, we do not
	    # checked because we do not know what else to do.
	    _infix=
	    _prefix="${prefix}"
	    ;;
    esac
    defdir sysconfdir "${_prefix}/etc${_infix}"
    defdir sharedstatedir "${_prefix}/com${_infix}"
    defdir localstatedir "${_prefix}/var${_infix}"
    defdir runstatedir "${_prefix}/run${_infix}"
    defdir tmpdir "${_prefix}/tmp${_infix}"
else
    defdir prefix "/usr/local"
    defdir sysconfdir "${prefix}/etc"
    defdir sharedstatedir "${prefix}/com"
    defdir localstatedir "${prefix}/var"
    defdir runstatedir "${localstatedir}/run"
    defdir tmpdir "${prefix}/tmp"
fi
defdir exec_prefix "${prefix}"
defdir bindir "${exec_prefix}/bin"
if test -n "${f_bin_merger}"; then
    defdir sbindir "${bindir}"
else
    defdir sbindir "${exec_prefix}/sbin"
fi
defdir libexecdir "${exec_prefix}/libexec"
defdir libdir "${exec_prefix}/lib"
defdir includedir "${prefix}/include"
defdir oldincludedir "${includedir}"
defdir datarootdir "${prefix}/share"
defdir datadir "${datarootdir}"
defdir libdatarootdir "${libdir}"
defdir libdatadir "${libdir}"
defdir lispdir "${datarootdir}/emacs/site-lisp"
defdir localedir "${datarootdir}/locale"
defdir licensedir "${datarootdir}/licenses"
defdir cachedir "${localstatedir}/cache"
defdir spooldir "${localstatedir}/spool"
defdir emptydir "${localstatedir}/empty"
defdir logdir "${localstatedir}/log"
defdir statedir "${localstatedir}/lib"
defdir gamedir "${localstatedir}/games"
defdir sharedcachedir "${sharedstatedir}/cache"
defdir sharedpooldir "${sharedstatedir}/spool"
defdir sharedlogdir "${sharedstatedir}/log"
defdir sharedstatedir "${sharedstatedir}/lib"
defdir sharedgamedir "${sharedstatedir}/games"
defdir localtmpdir "${localstatedir}/tmp"
defdir sharedtmpdir "${sharedstatedir}/tmp"
defdir lockdir "${runstatedir}/lock"
defdir skeldir "${sysconfdir}/skel"
defdir devdir "/dev"
defdir sysdir "/sys"
defdir procdir "/proc"
defdir selfprocdir "${procdir}/self"
defdir docdir "${datarootdir}/doc/${PKGNAME}"
defdir infodir "${datarootdir}/info"
defdir dvidir "${docdir}"
defdir pdfdir "${docdir}"
defdir psdir "${docdir}"
defdir htmldir "${docdir}"
defdir mandir "${datarootdir}/man"
defdir man0 "man0${MAN_SECTION_SUFFIX}"
defdir man1 "man1${MAN_SECTION_SUFFIX}"
defdir man2 "man2${MAN_SECTION_SUFFIX}"
defdir man3 "man3${MAN_SECTION_SUFFIX}"
defdir man4 "man4${MAN_SECTION_SUFFIX}"
defdir man5 "man5${MAN_SECTION_SUFFIX}"
defdir man6 "man6${MAN_SECTION_SUFFIX}"
defdir man7 "man7${MAN_SECTION_SUFFIX}"
defdir man8 "man8${MAN_SECTION_SUFFIX}"
defdir man9 "man9${MAN_SECTION_SUFFIX}"
if test -n "${MAN_SECTION}" && ! test -n "$(eval echo '${man'"${MAN_SECTION}"'ext}')"; then
    defdir "man${MAN_SECTION}ext" "$(eval echo '${man'"${MAN_SECTION}"'ext}')"
fi
defdir man0ext ".0"
defdir man1ext ".1"
defdir man2ext ".2"
defdir man3ext ".3"
defdir man4ext ".4"
defdir man5ext ".5"
defdir man6ext ".6"
defdir man7ext ".7"
defdir man8ext ".8"
defdir man9ext ".9"

# Found source directory.
if ! test -n "${srcdir}"; then
    if test -f "Makefile.in"; then
	:
    elif test -f "${PWD}/Makefile.in"; then
	srcdir="${PWD}"
    elif test -f "${PWD}/../Makefile.in"; then
	srcdir="${PWD}/.."
    fi
fi
if test -n "${srcdir}"; then
    srcdir="$(realpath "${srcdir}")/"
    srcdir_proper="${srcdir}"
    srcdir="$(quote "${srcdir}")"
fi
if ! test -f "${srcdir_proper}Makefile.in"; then
    echo "${0}: error: cannot found source directory."
    exit 1
fi


# Add shebang and "generated"-comment to config.status.
echo '#!/bin/sh' >&10
echo >&10
echo '# This file was generated by ./configure, its purpose is two-fold:' >&10
echo '# 1) It lets you rebuild Makefile with the same configurations you' >&10
echo '#    used last time you run ./configure.' >&10
echo '# 2) It lets Makefile rebuild itself transparently when out of date.' >&10
echo >&10

# config.status should adjust CWD.
echo 'cd "$(dirname "${0}")"' >&10

# config.status calls ./configure with all arguments you called ./configure.
printf "exec %s" "${0}" >&10
for option; do
    printf " %s" "$(quote "${option}")" >&10
done
echo >&10

# Close config.status.
exec 10>&-


# Store environment (with restrictions).
env | while read line; do
    var="${line%%=*}"
    val="${line#*=}"
    if test "${var}" = "${line}"; then
	# Malformated variables. (Can happen!, sigh...)
	continue
    elif test -n "$(echo "${var}" | tr -d '[_a-zA-Z0-9-]')"; then
	# Variable is not used and is potentially not
	# formatted in a compatible way.
	continue
    fi
    case "${var}" in
	(_ | PWD | SHELL | SHLVL | TERM | COLORTERM | MAKEFLAGS)
	    # We do not want to propagate these.
	    ;;
	(*)
	    echo "${var}" = "${val}" >&20
	    ;;
    esac
done

# Store directories and filenames.
if test -n "${destdir}"; then
   echo DESTDIR = "${destdir}" >&20
fi
echo PREFIX = "${prefix}" >&20
echo SYSCONFDIR = "${sysconfdir}" >&20
echo COMDIR = "${sharedstatedir}" >&20
echo VARDIR = "${localstatedir}" >&20
echo RUNDIR = "${runstatedir}" >&20
echo TMPDIR = "${tmpdir}" >&20
echo DEVDIR = "${devdir}" >&20
echo SYSDIR = "${sysdir}" >&20
echo PROCDIR = "${procdir}" >&20
echo EXEC_PREFIX = "${exec_prefix}" >&20
echo BINDIR = "${bindir}" >&20
echo SBINDIR = "${sbindir}" >&20
echo LIBEXECDIR = "${libexecdir}" >&20
echo LIBDIR = "${libdir}" >&20
echo INCLUDEDIR = "${includedir}" >&20
echo OLDINCLUDEDIR = "${oldincludedir}" >&20
echo DATADIR = "${datarootdir}" >&20
echo RESDIR = "${datadir}" >&20
echo SYSDEPDATADIR = "${libdatarootdir}" >&20
echo SYSDEPRESDIR = "${libdatadir}" >&20
echo LISPDIR = "${lispdir}" >&20
echo LOCALEDIR = "${localedir}" >&20
echo LICENSEDIR = "${licensedir}" >&20
echo CACHEDIR = "${cachedir}" >&20
echo SPOOLDIR = "${spooldir}" >&20
echo EMPTYDIR = "${emptydir}" >&20
echo LOGDIR = "${logdir}" >&20
echo STATEDIR = "${statedir}" >&20
echo GAMEDIR = "${gamedir}" >&20
echo COMCACHEDIR = "${sharedcachedir}" >&20
echo COMPOOLDIR = "${sharedpooldir}" >&20
echo COMLOGDIR = "${sharedlogdir}" >&20
echo COMSTATEDIR = "${sharedstatedir}" >&20
echo COMGAMEDIR = "${sharedgamedir}" >&20
echo LOCALTMPDIR = "${localtmpdir}" >&20
echo SHAREDTMPDIR = "${sharedtmpdir}" >&20
echo LOCKDIR = "${lockdir}" >&20
echo SKELDIR = "${skeldir}" >&20
echo SELFPROCDIR = "${selfprocdir}" >&20
echo DOCDIR = "${docdir}" >&20
echo INFODIR = "${infodir}" >&20
echo DVIDIR = "${dvidir}" >&20
echo PDFDIR = "${pdfdir}" >&20
echo PSDIR = "${psdir}" >&20
echo HTMLDIR = "${htmldir}" >&20
echo MANDIR = "${mandir}" >&20
echo MAN0 = "${man0}" >&20
echo MAN1 = "${man1}" >&20
echo MAN2 = "${man2}" >&20
echo MAN3 = "${man3}" >&20
echo MAN4 = "${man4}" >&20
echo MAN5 = "${man5}" >&20
echo MAN6 = "${man6}" >&20
echo MAN7 = "${man7}" >&20
echo MAN8 = "${man8}" >&20
echo MAN9 = "${man9}" >&20
echo MAN0EXT = "${man0ext}" >&20
echo MAN1EXT = "${man1ext}" >&20
echo MAN2EXT = "${man2ext}" >&20
echo MAN3EXT = "${man3ext}" >&20
echo MAN4EXT = "${man4ext}" >&20
echo MAN5EXT = "${man5ext}" >&20
echo MAN6EXT = "${man6ext}" >&20
echo MAN7EXT = "${man7ext}" >&20
echo MAN8EXT = "${man8ext}" >&20
echo MAN9EXT = "${man9ext}" >&20

# Close .config.mk.
exec 20>&-

# Now, make Makefile available.
if test -f Makefile; then
    chmod u+w Makefile # This scripts makes it read-only.
fi
exec 30>Makefile
echo "# ----------------------------------------------------- #" >&30
echo "# This file was created by ./configure from Makefile.in #" >&30
echo "# ----------------------------------------------------- #" >&30
echo >&30
if test -n "${srcdir}"; then
   echo v = "${srcdir}" >&30
fi 
cat "${srcdir_proper}"Makefile.in >&30
exec 30>&-


# config.status should be executable.
chmod a+x config.status

# Makefile should be read-only to ones does not edit it by mistake.
chmod a-w Makefile


# Help functions for the parent script.
test_with ()
{
    with="$(eval echo '${WITH_'"${1}"'}')"
    without="$(eval echo '${WITHOUT_'"${1}"'}')"
    if ! test -n "${with}" && ! test -n "${without}"; then
	echo "${2}"
    elif ! test -n "${with}" && test -n "${without}"; then
	echo "no"
    elif test -n "${with}" && ! test -n "${without}"; then
	echo "yes"
    elif test "${2}" = yes; then
	echo "no"
    else
	echo "yes"
    fi
}
test_enable ()
{
    enable="$(eval echo '${ENABLE_'"${1}"'}')"
    disable="$(eval echo '${DISABLE_'"${1}"'}')"
    if ! test -n "${enable}" && ! test -n "${disable}"; then
	echo "${2}"
    elif ! test -n "${enable}" && test -n "${disable}"; then
	echo "no"
    elif test -n "${enable}" && ! test -n "${disable}"; then
	echo "${enable}"
    elif test "${2}" = yes ; then
	echo "no"
    else
	echo "${enable}"
    fi
}


# After including this file, you may want
# to do something like:
#
#   cat <<EOF
#   
#   Enabled features, see ${0} for more infomation:
#   
#       Internationalisation     $(test_with GETTEXT yes)
#       GNU Bash tab-completion  $(test_with BASH yes)
#       Fish tab-completion      $(test_with FISH yes)
#       Z shell tab-completion   $(test_with ZSH yes)
#   
#   You can now run 'make && make install'.
#   
#   EOF