home *** CD-ROM | disk | FTP | other *** search
- :
- #!/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
-