306 lines
7.2 KiB
Bash
Executable File
306 lines
7.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This file was generated by confgen version 2.
|
|
# Do not edit.
|
|
#
|
|
|
|
PREFIX='/usr'
|
|
#EXECPREFIX='$PREFIX'
|
|
INSTALLROOT=''
|
|
BINMODE='755'
|
|
#DAEMONMODE='$BINMODE'
|
|
MANMODE='644'
|
|
|
|
while [ x$1 != x ]; do case $1 in
|
|
|
|
--help)
|
|
cat <<EOF
|
|
Usage: configure [options]
|
|
--help Show this message
|
|
--with-debug Enable debugging
|
|
--prefix=path Prefix for location of files [/usr]
|
|
--exec-prefix=path Location for arch-depedent files [prefix]
|
|
--installroot=root Top of filesystem tree to install in [/]
|
|
--binmode=mode Mode for binaries [755]
|
|
--daemonmode=mode Mode for daemon binaries [same as binmode]
|
|
--manmode=mode Mode for manual pages [644]
|
|
--with-c-compiler=cc Program for compiling C source [guessed]
|
|
EOF
|
|
exit 0;;
|
|
--verbose) ;;
|
|
--quiet) ;;
|
|
|
|
--subdir) . ../configure.defs;;
|
|
|
|
--with-debug|--debug) DEBUG=1;;
|
|
--prefix=*) PREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--exec-prefix=*) EXECPREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--installroot=*) INSTALLROOT=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--binmode=*) BINMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--daemonmode=*) DAEMONMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--manmode=*) MANMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
--with-c-compiler=*) CC=`echo $1 | sed 's/^[^=]*=//'` ;;
|
|
*) echo "Unrecognized option: $1"; exit 1;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ x$EXECPREFIX = x ]; then
|
|
EXECPREFIX="$PREFIX"
|
|
fi
|
|
|
|
if [ x$DAEMONMODE = x ]; then
|
|
DAEMONMODE="$BINMODE"
|
|
fi
|
|
|
|
BINDIR="$EXECPREFIX/bin"
|
|
SBINDIR="$EXECPREFIX/sbin"
|
|
MANDIR="$PREFIX/man"
|
|
|
|
echo "Directories: $BINDIR $SBINDIR $MANDIR "
|
|
|
|
if [ x$INSTALLROOT != x ]; then
|
|
echo "Installing in chroot tree rooted at $INSTALLROOT"
|
|
fi
|
|
|
|
##################################################
|
|
|
|
WARNINGS='-Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline '
|
|
|
|
cat << EOF > __conftest.c
|
|
int main() { int class=0; return class; }
|
|
EOF
|
|
|
|
if [ x"$CC" = x ]; then
|
|
echo -n 'Looking for a C compiler... '
|
|
for TRY in egcs gcc g++ CC c++ cc; do
|
|
(
|
|
$TRY __conftest.c -o __conftest || exit 1;
|
|
./__conftest || exit 1;
|
|
) >/dev/null 2>&1 || continue;
|
|
CC=$TRY
|
|
break;
|
|
done
|
|
if [ x"$CC" = x ]; then
|
|
echo 'failed.'
|
|
echo 'Cannot find a C compiler. Run configure with --with-c-compiler.'
|
|
rm -f __conftest*
|
|
exit
|
|
fi
|
|
echo "$CC"
|
|
else
|
|
echo -n 'Checking if C compiler works... '
|
|
if (
|
|
$CC __conftest.c -o __conftest || exit 1
|
|
./__conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
else
|
|
echo 'no'
|
|
echo 'Compiler '"$CC"' does not exist or cannot compile C; try another.'
|
|
rm -f __conftest*
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
echo -n "Checking if $CC accepts gcc warnings... "
|
|
if (
|
|
$CC $WARNINGS __conftest.c -o __conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
CC_WARNINGS=1
|
|
else
|
|
echo 'no'
|
|
fi
|
|
|
|
if [ x$DEBUG = x ]; then
|
|
echo -n "Checking if $CC accepts -O2... "
|
|
if (
|
|
$CC -O2 __conftest.c -o __conftest
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
CFLAGS="$CFLAGS -O2"
|
|
else
|
|
echo 'no'
|
|
echo -n "Checking if $CC accepts -O... "
|
|
if (
|
|
$CC -O __conftest.c -o __conftest
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
CFLAGS="$CFLAGS -O"
|
|
else
|
|
echo 'no'
|
|
fi
|
|
fi
|
|
|
|
else
|
|
echo -n "Checking if $CC accepts -g... "
|
|
if (
|
|
$CC -g __conftest.c -o __conftest
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
CFLAGS="$CFLAGS -g"
|
|
else
|
|
echo 'no'
|
|
fi
|
|
|
|
fi
|
|
|
|
LDFLAGS=
|
|
LIBS=
|
|
|
|
rm -f __conftest*
|
|
|
|
##################################################
|
|
|
|
echo -n 'Checking for socklen_t... '
|
|
cat <<EOF >__conftest.c
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
int main() {
|
|
struct sockaddr_in sn;
|
|
socklen_t len = sizeof(sn);
|
|
getpeername(0, (struct sockaddr *)&sn, &len);
|
|
return 0;
|
|
}
|
|
|
|
EOF
|
|
if (
|
|
$CC $CFLAGS __conftest.c -o __conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'yes'
|
|
else
|
|
if (
|
|
$CC $CFLAGS -Dsocklen_t=int __conftest.c -o __conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'int'
|
|
CFLAGS="$CFLAGS -Dsocklen_t=int"
|
|
else
|
|
if (
|
|
$CC $CFLAGS -Dsocklen_t=size_t __conftest.c -o __conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'size_t'
|
|
CFLAGS="$CFLAGS -Dsocklen_t=size_t"
|
|
else
|
|
echo 'no'
|
|
echo 'Cannot work out what to use for socklen_t. Help...'
|
|
rm -f __conftest*
|
|
exit
|
|
fi
|
|
fi
|
|
fi
|
|
rm -f __conftest*
|
|
|
|
##################################################
|
|
|
|
echo -n 'Checking for snprintf declaration... '
|
|
cat <<EOF >__conftest.c
|
|
#include <stdio.h>
|
|
int main() {
|
|
void *x = (void *)snprintf;
|
|
printf("%lx", (long)x);
|
|
return 0;
|
|
}
|
|
|
|
EOF
|
|
if (
|
|
$CC $CFLAGS __conftest.c -o __conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'ok'
|
|
else
|
|
if (
|
|
$CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
|
|
./__conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo '-D_GNU_SOURCE'
|
|
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
|
else
|
|
echo 'manual'
|
|
CFLAGS="$CFLAGS -DDECLARE_SNPRINTF"
|
|
fi
|
|
fi
|
|
rm -f __conftest*
|
|
|
|
echo -n 'Checking for snprintf implementation... '
|
|
cat <<EOF >__conftest.c
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#ifdef DECLARE_SNPRINTF
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
#endif /*__cplusplus*/
|
|
int snprintf(char *, int, const char *, ...);
|
|
#endif /*DECLARE_SNPRINTF*/
|
|
int main() {
|
|
char buf[32];
|
|
snprintf(buf, 8, "%s", "1234567890");
|
|
if (strlen(buf)!=7) return 1;
|
|
return 0;
|
|
}
|
|
|
|
EOF
|
|
if (
|
|
$CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
|
|
./__conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo 'ok'
|
|
else
|
|
if (
|
|
$CC $CFLAGS __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
|
|
./__conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo '-lsnprintf'
|
|
LIBS="$LIBS -lsnprintf"
|
|
else
|
|
if (
|
|
$CC $CFLAGS __conftest.c -ldb $LIBBSD -o __conftest || exit 1
|
|
./__conftest || exit 1
|
|
) >/dev/null 2>&1; then
|
|
echo '-ldb'
|
|
LIBS="$LIBS -ldb"
|
|
else
|
|
echo 'missing'
|
|
echo 'This package requires snprintf.'
|
|
rm -f __conftest*
|
|
exit
|
|
fi
|
|
fi
|
|
fi
|
|
rm -f __conftest*
|
|
|
|
##################################################
|
|
|
|
## libbsd should go last in case it's broken
|
|
if [ "x$LIBBSD" != x ]; then
|
|
LIBS="$LIBS $LIBBSD"
|
|
fi
|
|
|
|
echo 'Generating MCONFIG...'
|
|
(
|
|
echo -n '# Generated by configure (confgen version 2) on '
|
|
date
|
|
echo '#'
|
|
echo
|
|
|
|
echo "BINDIR=$BINDIR"
|
|
echo "SBINDIR=$SBINDIR"
|
|
echo "MANDIR=$MANDIR"
|
|
echo "BINMODE=$BINMODE"
|
|
echo "DAEMONMODE=$DAEMONMODE"
|
|
echo "MANMODE=$MANMODE"
|
|
echo "PREFIX=$PREFIX"
|
|
echo "EXECPREFIX=$EXECPREFIX"
|
|
echo "INSTALLROOT=$INSTALLROOT"
|
|
echo "CC=$CC"
|
|
if [ x$CC_WARNINGS != x ]; then
|
|
CFLAGS="$CFLAGS $WARNINGS"
|
|
fi
|
|
|
|
echo "CFLAGS=$CFLAGS" | sed 's/= */=/'
|
|
echo "LDFLAGS=$LDFLAGS" | sed 's/= */=/'
|
|
echo "LIBS=$LIBS" | sed 's/= */=/'
|
|
|
|
) > MCONFIG
|
|
|