which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
224 lines
5.9 KiB
Plaintext
Executable File
224 lines
5.9 KiB
Plaintext
Executable File
:
|
|
#!/bin/sh
|
|
# The above : is necessary on some buggy systems.
|
|
|
|
# configure: Guess values for system-dependent variables
|
|
# Output the flag definitions to the file "flags".
|
|
# Parameters: $1 = $CC, $2 = $CFLAGS
|
|
# To construct zip automatically using this file, type
|
|
# "make -f unix/Makefile generic".
|
|
# If this fails, then type "make list" to get a list of special targets.
|
|
|
|
|
|
trap "rm -f conftest* core a.out; exit 1" 1 2 3 15
|
|
|
|
CC=${1-cc}
|
|
CFLAGS=${2-"-O -I. -DUNIX"}
|
|
LFLAGS1="-s"
|
|
|
|
# This one is needed for the ultrix and OSF/1 optimizer
|
|
echo Check for -Olimit option
|
|
echo "int main() { return 0;}" > conftest.c
|
|
$CC -Olimit 1000 conftest.c >/dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && CFLAGS="${CFLAGS} -Olimit 1000"
|
|
|
|
echo Check for the C preprocessor
|
|
# on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
|
|
CPP="${CC} -E"
|
|
# solaris as(1) needs -P, maybe others as well ?
|
|
[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
|
|
[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
|
|
[ -f /lib/cpp ] && CPP=/lib/cpp
|
|
[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
|
|
|
|
echo Check if we can use asm code
|
|
OBJA=""
|
|
if eval "$CPP match.S > _match.s 2>/dev/null"; then
|
|
if test ! -s _match.s || grep error < _match.s > /dev/null; then
|
|
:
|
|
elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && test -f _match.o; then
|
|
CFLAGS="${CFLAGS} -DASMV"
|
|
OBJA=match.o
|
|
echo "int foo() { return 0;}" > conftest.c
|
|
$CC -c conftest.c >/dev/null 2>/dev/null
|
|
echo Check if compiler generates underlines
|
|
nm conftest.o | egrep "(^|[^_])foo" >/dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && CPP="${CPP} -DNO_UNDERLINE"
|
|
fi
|
|
fi
|
|
rm -f _match.s _match.o
|
|
|
|
# Ansi options for systems that don't have __STDC__ defined by default
|
|
# Currently HPUX, pyramid, dnix, AIX, OSF/1 and ultrix
|
|
|
|
echo Check for Ansi options
|
|
cat > conftest.c << _EOF_
|
|
int main()
|
|
{
|
|
#ifndef __STDC__
|
|
forget it
|
|
#endif
|
|
return 0;
|
|
}
|
|
_EOF_
|
|
$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
|
|
if [ $? -ne 0 ]; then
|
|
for OPT in "-Aa -D_HPUX_SOURCE" -Xa -qlanglvl=ansi -std1 -std
|
|
do
|
|
$CC $CFLAGS $OPT -c conftest.c > /dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && CFLAGS="${CFLAGS} ${OPT}" && break
|
|
done
|
|
fi
|
|
|
|
echo Check for prototypes
|
|
echo "int main(int argc, char *argv[]) { return 0; }" > conftest.c
|
|
$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_PROTO"
|
|
|
|
# const check currently handles mips cc and non ANSI compilers.
|
|
# does it need more ?
|
|
echo Check the handling of const
|
|
cat > conftest.c << _EOF_
|
|
typedef int charset[2];
|
|
int main()
|
|
{
|
|
const charset x;
|
|
const char *foo;
|
|
return 0;
|
|
}
|
|
_EOF_
|
|
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_CONST"
|
|
|
|
echo Check for time_t
|
|
cat > conftest.c << _EOF_
|
|
#include <sys/types.h>
|
|
#include <time.h>
|
|
int main()
|
|
{
|
|
time_t t;
|
|
return 0;
|
|
}
|
|
_EOF_
|
|
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_TIME_T"
|
|
|
|
echo Check for size_t
|
|
cat > conftest.c << _EOF_
|
|
#include <sys/types.h>
|
|
int main()
|
|
{
|
|
size_t s;
|
|
return 0;
|
|
}
|
|
_EOF_
|
|
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_SIZE_T"
|
|
|
|
# Check for missing functions
|
|
# add NO_'function_name' to flags if missing
|
|
for func in rmdir strrchr rename mktemp mktime
|
|
do
|
|
echo Check for $func
|
|
echo "int main(){ $func(); return 0; }" > conftest.c
|
|
$CC conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
|
|
done
|
|
|
|
echo Check for memset
|
|
echo "int main(){ memset(); return 0; }" > conftest.c
|
|
$CC conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
|
|
|
|
echo Check for errno declaration
|
|
cat > conftest.c << _EOF_
|
|
#include <errno.h>
|
|
main()
|
|
{
|
|
errno = 0;
|
|
return 0;
|
|
}
|
|
_EOF_
|
|
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_ERRNO"
|
|
|
|
echo Check for directory libraries
|
|
cat > conftest.c << _EOF_
|
|
int main() { return closedir(opendir(".")); }
|
|
_EOF_
|
|
|
|
$CC conftest.c >/dev/null 2>/dev/null
|
|
if [ $? -ne 0 ]; then
|
|
OPT=""
|
|
for lib in ndir dir ucb bsd BSD PW x
|
|
do
|
|
$CC conftest.c -l$lib >/dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && OPT=$lib && break
|
|
done
|
|
if [ ${OPT} ]; then
|
|
LFLAGS2="${LFLAGS2} -l${OPT}"
|
|
else
|
|
CFLAGS="${CFLAGS} -DNO_DIR"
|
|
fi
|
|
fi
|
|
|
|
# Dynix/ptx 1.3 needed this
|
|
echo Check for readlink
|
|
echo "int main(){ return readlink(); }" > conftest.c
|
|
$CC conftest.c >/dev/null 2>/dev/null
|
|
if [ $? -ne 0 ]; then
|
|
$CC conftest.c -lseq >/dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
|
|
fi
|
|
|
|
echo Check for directory include file
|
|
OPT=""
|
|
for inc in sys/ndir.h ndir.h sys/dir.h dirent.h
|
|
do
|
|
echo "#include <$inc>" > conftest.c
|
|
$CPP conftest.c > /dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && OPT="HAVE_`echo $inc | tr '[a-z]./' '[A-Z]__'`"
|
|
done
|
|
CFLAGS="${CFLAGS} -D${OPT}"
|
|
|
|
echo Check for non existing include files
|
|
for inc in stdlib.h stddef.h unistd.h fcntl.h string.h
|
|
do
|
|
echo "#include <$inc>" > conftest.c
|
|
$CPP conftest.c >/dev/null 2>/dev/null
|
|
[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $inc | tr '[a-z]./' '[A-Z]__'`"
|
|
done
|
|
|
|
echo Check for term i/o include file
|
|
OPT=""
|
|
for inc in sys/termio.h termio.h termios.h
|
|
do
|
|
echo "#include <$inc>" > conftest.c
|
|
$CPP conftest.c > /dev/null 2>/dev/null
|
|
[ $? -eq 0 ] && OPT="HAVE_`echo $inc | tr '[a-z]./' '[A-Z]__'`"
|
|
done
|
|
CFLAGS="${CFLAGS} -D${OPT}"
|
|
|
|
echo Check for /usr/local/bin and /usr/local/man
|
|
BINDIR=$HOME/bin
|
|
[ -d /usr/local/bin ] && BINDIR=/usr/local/bin
|
|
|
|
MANDIR=manl
|
|
[ -d /usr/man/manl ] && MANDIR=/usr/man/manl
|
|
[ -d /usr/local/man/manl ] && MANDIR=/usr/local/man/manl
|
|
[ -d /usr/local/man/man1 ] && MANDIR=/usr/local/man/man1
|
|
|
|
echo Check for NeXT
|
|
if test -f /usr/bin/hostinfo; then
|
|
if /usr/bin/hostinfo | grep NeXT > /dev/null; then
|
|
CFLAGS="${CFLAGS} -posix"
|
|
LFLAGS1="${LFLAGS1} -posix -object"
|
|
fi
|
|
fi
|
|
|
|
rm -f conftest.c conftest.o a.out
|
|
|
|
echo CC=\"${CC}\" CFLAGS=\"${CFLAGS}\" CPP=\"${CPP}\" OBJA=\"${OBJA}\" \
|
|
BINDIR=${BINDIR} MANDIR=${MANDIR} LFLAGS1=\"${LFLAGS1}\" \
|
|
LFLAGS2=\"${LFLAGS2}\" > flags
|