5 kx #!/bin/sh
5 kx #
5 kx # This file was generated by confgen version 2.
5 kx # Do not edit.
5 kx #
5 kx
5 kx PREFIX='/usr'
5 kx #EXECPREFIX='$PREFIX'
5 kx INSTALLROOT=''
5 kx BINMODE='755'
5 kx #DAEMONMODE='$BINMODE'
5 kx MANMODE='644'
5 kx SUIDMODE='4755'
5 kx
5 kx while [ x$1 != x ]; do case $1 in
5 kx
5 kx --help)
5 kx cat <<EOF
5 kx Usage: configure [options]
5 kx --help Show this message
5 kx --with-debug Enable debugging
5 kx --without-pam Disable PAM support
5 kx --without-shadow Disable shadow password support
5 kx --prefix=path Prefix for location of files [/usr]
5 kx --exec-prefix=path Location for arch-depedent files [prefix]
5 kx --installroot=root Top of filesystem tree to install in [/]
5 kx --binmode=mode Mode for binaries [755]
5 kx --daemonmode=mode Mode for daemon binaries [same as binmode]
5 kx --manmode=mode Mode for manual pages [644]
5 kx --suidmode=mode Mode for setuid programs [4755]
5 kx --with-c-compiler=cc Program for compiling C source [guessed]
5 kx EOF
5 kx exit 0;;
5 kx --verbose) ;;
5 kx --quiet) ;;
5 kx
5 kx --subdir) . ../configure.defs;;
5 kx
5 kx --with-debug|--debug) DEBUG=1;;
5 kx --prefix=*) PREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --exec-prefix=*) EXECPREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --installroot=*) INSTALLROOT=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --binmode=*) BINMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --daemonmode=*) DAEMONMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --manmode=*) MANMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --suidmode=*) SUIDMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --with-c-compiler=*) CC=`echo $1 | sed 's/^[^=]*=//'` ;;
5 kx --without-pam|--disable-pam) WITHOUT_PAM=1;;
5 kx --without-shadow|--disable-shadow) WITHOUT_SHADOW=1;;
5 kx *) echo "Unrecognized option: $1"; exit 1;;
5 kx esac
5 kx shift
5 kx done
5 kx
5 kx if [ x$EXECPREFIX = x ]; then
5 kx EXECPREFIX="$PREFIX"
5 kx fi
5 kx
5 kx if [ x$DAEMONMODE = x ]; then
5 kx DAEMONMODE="$BINMODE"
5 kx fi
5 kx
5 kx BINDIR="$EXECPREFIX/bin"
5 kx SBINDIR="$EXECPREFIX/sbin"
5 kx MANDIR="$PREFIX/share/man"
5 kx
5 kx echo "Directories: $BINDIR $SBINDIR $MANDIR "
5 kx
5 kx if [ x$INSTALLROOT != x ]; then
5 kx echo "Installing in chroot tree rooted at $INSTALLROOT"
5 kx fi
5 kx
5 kx ##################################################
5 kx
5 kx WARNINGS='-Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline '
5 kx
5 kx cat << EOF > __conftest.c
5 kx int main() { int class=0; return class; }
5 kx EOF
5 kx
5 kx if [ x"$CC" = x ]; then
5 kx echo -n 'Looking for a C compiler... '
5 kx for TRY in egcs gcc g++ CC c++ cc; do
5 kx (
5 kx $TRY __conftest.c -o __conftest || exit 1;
5 kx # ./__conftest || exit 1;
5 kx ) >/dev/null 2>&1 || continue;
5 kx CC=$TRY
5 kx break;
5 kx done
5 kx if [ x"$CC" = x ]; then
5 kx echo 'failed.'
5 kx echo 'Cannot find a C compiler. Run configure with --with-c-compiler.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx echo "$CC"
5 kx else
5 kx echo -n 'Checking if C compiler works... '
5 kx if (
5 kx $CC __conftest.c -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx echo 'no'
5 kx echo 'Compiler '"$CC"' does not exist or cannot compile C; try another.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx
5 kx echo -n "Checking if $CC accepts gcc warnings... "
5 kx if (
5 kx $CC $WARNINGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx CC_WARNINGS=1
5 kx else
5 kx echo 'no'
5 kx fi
5 kx
5 kx if [ x$DEBUG = x ]; then
5 kx echo -n "Checking if $CC accepts -O2... "
5 kx if (
5 kx $CC -O2 __conftest.c -o __conftest
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx CFLAGS="$CFLAGS -O2"
5 kx else
5 kx echo 'no'
5 kx echo -n "Checking if $CC accepts -O... "
5 kx if (
5 kx $CC -O __conftest.c -o __conftest
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx CFLAGS="$CFLAGS -O"
5 kx else
5 kx echo 'no'
5 kx fi
5 kx fi
5 kx
5 kx else
5 kx echo -n "Checking if $CC accepts -g... "
5 kx if (
5 kx $CC -g __conftest.c -o __conftest
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx CFLAGS="$CFLAGS -g"
5 kx else
5 kx echo 'no'
5 kx fi
5 kx
5 kx fi
5 kx
5 kx LDFLAGS=$LDFLAGS
5 kx LIBS=$LIBS
5 kx
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for BSD signal semantics... '
5 kx cat <<EOF >__conftest.c
5 kx #include <unistd.h>
5 kx #include <signal.h>
5 kx int count=0;
5 kx void handle(int foo) { count++; }
5 kx int main() {
5 kx int pid=getpid();
5 kx signal(SIGINT, handle);
5 kx kill(pid,SIGINT);
5 kx kill(pid,SIGINT);
5 kx kill(pid,SIGINT);
5 kx if (count!=3) return 1;
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx if (
5 kx $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-D__USE_BSD_SIGNAL'
5 kx CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
5 kx else
5 kx echo 'no'
5 kx echo 'This package needs BSD signal semantics to run.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for ncurses... '
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #include <curses.h>
5 kx #ifndef KEY_DOWN
5 kx syntax error. /* not ncurses */
5 kx #endif
5 kx int main() {
5 kx endwin();
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lncurses -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx NCURSES=1
5 kx else
5 kx if (
5 kx $CC $CFLAGS -I/usr/include/ncurses __conftest.c -lncurses -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-I/usr/include/ncurses'
5 kx CFLAGS="$CFLAGS -I/usr/include/ncurses"
5 kx NCURSES=1
5 kx else
5 kx echo 'no'
5 kx fi
5 kx fi
5 kx
5 kx if [ x$NCURSES != x ]; then
5 kx LIBTERMCAP=-lncurses
5 kx else
5 kx echo -n 'Checking for traditional termcap... '
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #include <termcap.h>
5 kx int main() {
5 kx tgetent(NULL, NULL); return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -ltermcap -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-ltermcap'
5 kx LIBTERMCAP=-ltermcap
5 kx else
5 kx echo 'not found'
5 kx echo 'This package needs termcap to run.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for GNU libc... '
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #if defined(__GLIBC__) && (__GLIBC__ >= 2)
5 kx int tester;
5 kx #endif
5 kx int main() { tester=6; return 0; }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx USE_GLIBC=1
5 kx else
5 kx echo 'no'
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for PAM... '
5 kx if [ x$WITHOUT_PAM != x ]; then
5 kx echo disabled
5 kx else
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #include <security/pam_appl.h>
5 kx int main() {
5 kx pam_start("configure", "nobody", NULL, NULL);
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -ldl -lpam -lpam_misc -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx USE_PAM=1
5 kx else
5 kx echo 'no'
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx if [ x$USE_PAM = x ]; then
5 kx echo -n 'Checking for shadow... '
5 kx if [ x$WITHOUT_SHADOW != x ]; then
5 kx echo disabled
5 kx else
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #include <shadow.h>
5 kx int main() {
5 kx getspnam("nobody");
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx USE_SHADOW=1
5 kx LIBSHADOW=
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lshadow -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lshadow'
5 kx USE_SHADOW=1
5 kx LIBSHADOW=-lshadow
5 kx else
5 kx echo 'no'
5 kx fi
5 kx fi
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for crypt... '
5 kx cat <<EOF >__conftest.c
5 kx int main() { crypt("aa", "bb"); }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lcrypt -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lcrypt'
5 kx LIBS="$LIBS -lcrypt"
5 kx else
5 kx echo 'no'
5 kx echo 'This package requires crypt.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for forkpty... '
5 kx cat <<EOF >__conftest.c
5 kx #include <pty.h>
5 kx int main() { forkpty(0, 0, 0, 0); }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lutil -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lutil'
5 kx LIBS="$LIBS -lutil"
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lbsd -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lbsd'
5 kx LIBBSD="-lbsd"
5 kx else
5 kx echo 'no'
5 kx echo 'This package requires forkpty.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for logwtmp... '
5 kx cat <<EOF >__conftest.c
5 kx #ifdef __cplusplus
5 kx extern "C"
5 kx #endif
5 kx void logwtmp(const char *, const char *, const char *);
5 kx int main() { logwtmp(0, 0, 0); }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lutil -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lutil'
5 kx LIBS="$LIBS -lutil"
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lbsd -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lbsd'
5 kx LIBBSD="-lbsd"
5 kx else
5 kx echo 'no'
5 kx echo 'This package requires logwtmp.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for socklen_t... '
5 kx cat <<EOF >__conftest.c
5 kx #include <sys/types.h>
5 kx #include <sys/socket.h>
5 kx #include <netinet/in.h>
5 kx int main() {
5 kx struct sockaddr_in sn;
5 kx socklen_t len = sizeof(sn);
5 kx getpeername(0, (struct sockaddr *)&sn, &len);
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'yes'
5 kx else
5 kx if (
5 kx $CC $CFLAGS -Dsocklen_t=int __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'int'
5 kx CFLAGS="$CFLAGS -Dsocklen_t=int"
5 kx else
5 kx if (
5 kx $CC $CFLAGS -Dsocklen_t=size_t __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'size_t'
5 kx CFLAGS="$CFLAGS -Dsocklen_t=size_t"
5 kx else
5 kx echo 'no'
5 kx echo 'Cannot work out what to use for socklen_t. Help...'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx echo -n 'Checking for snprintf declaration... '
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx int main() {
5 kx void *x = (void *)snprintf;
5 kx printf("%lx", (long)x);
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c -o __conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'ok'
5 kx else
5 kx if (
5 kx $CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-D_GNU_SOURCE'
5 kx CFLAGS="$CFLAGS -D_GNU_SOURCE"
5 kx else
5 kx echo 'manual'
5 kx CFLAGS="$CFLAGS -DDECLARE_SNPRINTF"
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx echo -n 'Checking for snprintf implementation... '
5 kx cat <<EOF >__conftest.c
5 kx #include <stdio.h>
5 kx #include <string.h>
5 kx #ifdef DECLARE_SNPRINTF
5 kx #ifdef __cplusplus
5 kx extern "C"
5 kx #endif /*__cplusplus*/
5 kx int snprintf(char *, int, const char *, ...);
5 kx #endif /*DECLARE_SNPRINTF*/
5 kx int main() {
5 kx char buf[32];
5 kx snprintf(buf, 8, "%s", "1234567890");
5 kx if (strlen(buf)!=7) return 1;
5 kx return 0;
5 kx }
5 kx
5 kx EOF
5 kx if (
5 kx $CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo 'ok'
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-lsnprintf'
5 kx LIBS="$LIBS -lsnprintf"
5 kx else
5 kx if (
5 kx $CC $CFLAGS __conftest.c -ldb $LIBBSD -o __conftest || exit 1
5 kx # ./__conftest || exit 1
5 kx ) >/dev/null 2>&1; then
5 kx echo '-ldb'
5 kx LIBS="$LIBS -ldb"
5 kx else
5 kx echo 'missing'
5 kx echo 'This package requires snprintf.'
5 kx rm -f __conftest*
5 kx exit
5 kx fi
5 kx fi
5 kx fi
5 kx rm -f __conftest*
5 kx
5 kx ##################################################
5 kx
5 kx ## libbsd should go last in case it's broken
5 kx if [ "x$LIBBSD" != x ]; then
5 kx LIBS="$LIBS $LIBBSD"
5 kx fi
5 kx
5 kx echo 'Generating MCONFIG...'
5 kx (
5 kx echo -n '# Generated by configure (confgen version 2) on '
5 kx date
5 kx echo '#'
5 kx echo
5 kx
5 kx echo "BINDIR=$BINDIR"
5 kx echo "SBINDIR=$SBINDIR"
5 kx echo "MANDIR=$MANDIR"
5 kx echo "BINMODE=$BINMODE"
5 kx echo "DAEMONMODE=$DAEMONMODE"
5 kx echo "MANMODE=$MANMODE"
5 kx echo "SUIDMODE=$SUIDMODE"
5 kx echo "PREFIX=$PREFIX"
5 kx echo "EXECPREFIX=$EXECPREFIX"
5 kx echo "INSTALLROOT=$INSTALLROOT"
5 kx echo "CC=$CC"
5 kx if [ x$CC_WARNINGS != x ]; then
5 kx CFLAGS="$CFLAGS $WARNINGS"
5 kx fi
5 kx
5 kx echo "CFLAGS=$CFLAGS" | sed 's/= */=/'
5 kx echo "LDFLAGS=$LDFLAGS" | sed 's/= */=/'
5 kx echo "LIBS=$LIBS" | sed 's/= */=/'
5 kx
5 kx echo "LIBTERMCAP=$LIBTERMCAP"
5 kx echo "USE_GLIBC=$USE_GLIBC"
5 kx echo "USE_PAM=$USE_PAM"
5 kx echo "USE_SHADOW=$USE_SHADOW"
5 kx echo "LIBSHADOW=$LIBSHADOW"
5 kx ) > MCONFIG
5 kx