home *** CD-ROM | disk | FTP | other *** search
- dnl Process this file with autoconf to produce a configure script.
- dnl
- AC_INIT(FTP.c)
- AC_PREREQ(2.4)
- AC_CONFIG_HEADER(Config.h)
-
- nc_cv_ncurses=yes
- nc_cv_curses=yes
- nc_cv_readline=yes
- nc_cv_termnet=no
- nc_cv_socks=no
- nc_cv_socks5=no
- nc_cv_shared_libc=no
- nc_cv_extra_dirs=yes
-
- AC_ARG_ENABLE(ncurses,[ --disable-ncurses do not try to find and use the ncurses library],nc_cv_ncurses=$enableval)
- AC_ARG_ENABLE(curses,[ --disable-curses do not try to find and use the curses library],nc_cv_curses=$enableval)
- AC_ARG_ENABLE(readline,[ --disable-readline do not try to find and use the readline library],nc_cv_readline=$enableval)
- AC_ARG_ENABLE(termnet,[ --disable-termnet do not try to find and use the termnet library],nc_cv_termnet=$enableval)
- AC_ARG_ENABLE(socks,[ --disable-socks do not try to find and use the socks library],nc_cv_socks=$enableval)
- AC_ARG_ENABLE(socks5,[ --disable-socks5 do not try to find and use the socks5 library],nc_cv_socks5=$enableval)
- AC_ARG_ENABLE(shared-libc,[ --disable-shared-libc do not try to find and use the shared std C lib],nc_cv_shared_libc=$enableval)
- AC_ARG_ENABLE(extra-dirs,[ --disable-extra-dirs do not look for additional -L and -I dirs],nc_cv_extra_dirs=$enableval)
-
- dnl Look for programs in the prefix directory too.
- PATH="${prefix}/bin:${PATH}"
-
- changequote(<<, >>)dnl
- host=`uname -n 2>/dev/null | tr '[A-Z]' '[a-z]'`
- os=`uname -s 2>/dev/null | tr '[A-Z]' '[a-z]'`
- changequote([, ])dnl
- os_v=`uname -v 2>/dev/null`
- os_r=`uname -r 2>/dev/null`
-
- PROGS=ncftp
- PROG1=ncftp
- PROG2=ncftp.static
- SLDFLAGS='-static'
- Z31=''
- Z32=''
-
- case "$host" in
- ibmf*|ibmn*)
- if test -f /usr/gleason/.profile ; then
- CC=cc
- CFLAGS='-O2'
- LDFLAGS='-s'
- SLDFLAGS=''
- PROGS=ncftp
- PROG1=ncftp
- PROG2=ncftp.static
- fi
- ;;
-
- aux8*)
- if test -f /usr/gleason/.profile ; then
- CC=cc
- CFLAGS='-O'
- LDFLAGS='-s'
- SLDFLAGS=''
- PROGS=ncftp
- PROG1=ncftp
- PROG2=ncftp.shared
- os='sco3'
- fi
- ;;
-
- xena*)
- if test -f /usr/gleason/.profile ; then
- CC=cc
- CFLAGS='-O2 -K pentium -w3'
- LDFLAGS='-s'
- SLDFLAGS='-Bstatic'
- PROG1=ncftp.shared
- PROG2=ncftp
- PROGS=ncftp
- fi
- ;;
-
- hpi*)
- if test -f /usr/gleason/.profile ; then
- CC=cc
- CFLAGS='-O -Ae'
- LDFLAGS='-s'
- SLDFLAGS='-Wl,-B,immediate'
- PROG1=ncftp.shared
- PROG2=ncftp
- PROGS=ncftp
- fi
- ;;
-
- elwood*)
- if test -f /var/home/mgleason/.profile ; then
- CC=cc
- CFLAGS='-O -g'
- SLDFLAGS='-static'
- LDFLAGS='-s'
- PROG1=ncftp.shared
- PROG2=ncftp
- PROGS=ncftp
- fi
- ;;
-
- anvil*)
- if test -f /usr/gleason/.profile ; then
- CC=cc
- CFLAGS='-O -g'
- SLDFLAGS='-static'
- LDFLAGS='-s'
- PROG1=ncftp.shared
- PROG2=ncftp
- PROGS=ncftp
- fi
- ;;
-
- redwing*)
- if test -f /home/gleason/.profile ; then
- CC=cc
- CFLAGS='-O2 -W -Wall -Wimplicit -Wstrict-prototypes -Wmissing-prototypes -Wshadow'
- LDFLAGS='-s'
- SLDFLAGS='-static'
- PROG1=ncftp
- PROG2=ncftp.static
- PROGS='ncftp ncftp.static'
- Z31=' -@mv $(TGZFILE) newbin/'
- Z32=' -@mv $(DTGZFILE) newbin/'
- fi
- ;;
- esac
-
- case "$os" in
- aix) OS=aix${os_v}.${os_r} ;;
- hp-ux) OS=hpux ;;
- netbsd) OS=netbsd ;;
- scosv) OS=scosv ;;
- sco3) OS=sco3 ;;
- linux) OS=linux ;;
- bsd/os) OS=bsdi ;;
- freebsd) OS=freebsd ;;
- *) OS="$os" ;;
- esac
- AC_SUBST(OS)
-
- if test "$os" = freebsd ; then
- rev=`uname -r | cut -c1`
- if test "$rev" = 1 ; then
- AC_WARN(Won't use the curses library on FreeBSD 1.x, because it)
- AC_WARN(is missing too much of it's functionality. Try ncurses.)
- nc_cv_curses=no
- fi
- fi
-
- if test "$os" = ultrix ; then
- AC_WARN(Won't use curses or cursesX on ULTRIX.)
- AC_WARN(They don't work to my satisfaction. Try ncurses instead.)
- nc_cv_curses=no
- fi
-
- AC_SUBST(PROGS)
- AC_SUBST(PROG1)
- AC_SUBST(PROG2)
- AC_SUBST(SLDFLAGS)
- AC_SUBST(Z31)
- AC_SUBST(Z32)
-
- AC_PROG_CC
- wi_CFLAGS
- dnl wi_PROTOTYPES
- dnl
- dnl if test "$wi_cv_prototypes" = no ; then
- dnl AC_WARN([Your compiler is probably won't be able to compile the package.])
- dnl AC_WARN([Get gcc, or any compiler that supports function prototypes.])
- dnl fi
-
- AC_PROG_MAKE_SET
- AC_PATH_PROG(MORE,more,more)
- AC_PATH_PROG(LS,ls,/bin/ls)
- nc_PATH_PROG_ZCAT
-
- # See if we should add -I/usr/local/include -L/usr/local/lib, etc.
- wi_EXTRA_DIRS(yes, /usr/local /usr/ccs, -)
-
- # Look for SunOS' /usr/5lib and 5include directories, because
- # we want to use those for the curses stuff. Cheat a little and
- # don't do this if it looks like we are going to use ncurses.
- if test -f /usr/local/include/ncurses/unctrl.h && test "$nc_cv_ncurses" = yes ; then
- echo >/dev/null # no op
- else
- wi_SYSV_EXTRA_DIRS
- fi
-
- AC_SUBST(CC)
- AC_SUBST(CFLAGS)
- AC_SUBST(CPPFLAGS)
- AC_SUBST(LDFLAGS)
- AC_SUBST(LIBS)
-
- wi_DEFINE_UNAME
- AC_DEFINE_UNQUOTED(MORE, "$MORE")
- AC_DEFINE_UNQUOTED(LS, "$LS")
-
- AC_C_CONST
-
- AC_CHECK_LIB(socket,socket)
- AC_CHECK_LIB(inet,main)
-
- wi_LIB_NSL
- wi_LIB_RESOLV
-
- if test "$nc_cv_socks5" = yes ; then
- # Look for the "SOCKS" library for use with Firewalls/Gateways.
- savelibs="$LIBS"
- AC_CHECK_LIB(db, main)
- AC_CHECK_LIB(isode, main)
- AC_CHECK_LIB(com_err, main)
- AC_CHECK_LIB(crypto, main)
- AC_CHECK_LIB(krb5, main)
- AC_CHECK_LIB(gssapi_krb5, main)
- AC_CHECK_LIB(socks5,SOCKSinit)
- if test "$ac_cv_lib_socks5" = yes ; then
- nc_cv_socks=no
- else
- LIBS="$savelibs"
- fi
- else
- ac_cv_lib_socks5=no
- fi
-
- if test "$nc_cv_socks" = yes ; then
- # Look for the "SOCKS" library for use with Firewalls/Gateways.
- AC_CHECK_LIB(socks,SOCKSinit)
- if test "$ac_cv_lib_socks" = yes ; then
- # Socks requires PASV.
- # Use FTP_DATA_PORT_MODE == 1 (kPassiveMode)
- AC_DEFINE(FTP_DATA_PORT_MODE,1)
- fi
- else
- ac_cv_lib_socks=no
- fi
-
-
- if test "$nc_cv_termnet" = yes ; then
- # Look for the "TERM" library for use with Linux, etc.
- AC_CHECK_LIB(termnet,main)
- else
- ac_cv_lib_termnet=no
- fi
-
- if test "$nc_cv_readline" = no; then
- AC_CHECK_LIB(getline,gl_histadd)
- fi
-
- # We don't need termcap directly, but on some systems you need to link
- # with -lcurses -ltermcap.
-
- AC_CHECK_LIB(termcap,tgetstr,nc_cv_lib_termcap=yes,nc_cv_lib_termcap=no)
-
- CURSESLIB=''
- TERMCAPLIB=''
- obselete_lib=no
-
- if test $nc_cv_curses = yes ; then
- # cursesX is an Ultrix oddity
- AC_CHECK_LIB(cursesX,endwin,CURSESLIB=cursesX)
-
- if test "$CURSESLIB" = "" ; then
- AC_CHECK_LIB(curses,wnoutrefresh,CURSESLIB=curses)
- fi
-
- # Okay, maybe that didn't work, but maybe you needed to
- # use -lcurses -ltermcap.
- if test "$CURSESLIB" = "" ; then
- if test "$nc_cv_lib_termcap" = yes ; then
- unset ac_cv_lib_curses
- AC_MSG_WARN([Did not detect curses, but trying again with termcap:])
- AC_CHECK_LIB(curses,wnoutrefresh,CURSESLIB=curses,CURSESLIB='',-ltermcap)
- if test "$CURSESLIB" = "curses" ; then
- TERMCAPLIB=-ltermcap
- else
- # Okay, you don't have one ncftp can use, but maybe
- # we should tell the user if they have a shitty curses
- # library.
-
- unset ac_cv_lib_curses
- if test "$nc_cv_lib_termcap" = yes ; then
- AC_CHECK_LIB(curses,endwin,obselete_lib=yes,obselete_lib=no,-ltermcap)
- else
- AC_CHECK_LIB(curses,endwin,obselete_lib=yes,obselete_lib=no)
- fi
-
- if test "$obselete_lib" = no ; then
- AC_MSG_WARN([Did not detect a useable curses library.])
- fi
- fi
- fi
- fi
-
- if test "$CURSESLIB" = "" ; then
- # Try termlib with Solaris 2.3
- AC_CHECK_LIB(termlib,endwin,CURSESLIB=termlib)
- fi
- fi
-
- if test $nc_cv_ncurses = yes ; then
- AC_CHECK_LIB(ncurses,endwin,CURSESLIB=ncurses)
- if test "$CURSESLIB" = ncurses && test "$nc_cv_extra_dirs" = yes ; then
- # See if we should add -I/usr/local/include/ncurses, etc.
- wi_EXTRA_DIRS(yes, /usr/local /usr /usr/ccs, ncurses)
-
- # See if we should add -I/usr/local/ncurses
- wi_EXTRA_IDIR(/usr/local/ncurses)
-
- # Some people (me) have two versions of ncurses on
- # the system. Use the one in /usr/local first.
- case "$CPPFLAGS" in
- */usr/local/include/ncurses*/usr/include/ncurses*)
- CPPFLAGS=`echo "$CPPFLAGS" | sed 's@-I/usr/include/ncurses@@g'`
- esac
- fi
- fi
-
- if test "x$CURSESLIB" = xcurses -o "x$CURSESLIB" = xcursesX -o "x$CURSESLIB" = "xtermlib" ; then
-
- LIBS="$LIBS -l$CURSESLIB"
- # if test "x$CURSESLIB" = xcursesX ; then
- # LIBS="$LIBS -lcurses"
- # fi
- AC_DEFINE(HAVE_LIBCURSES)
-
- elif test "x$CURSESLIB" = xncurses ; then
- LIBS="$LIBS -lncurses"
- AC_DEFINE(HAVE_LIBNCURSES)
- fi
-
- if test "$TERMCAPLIB" != "" ; then
- LIBS="$LIBS -l$TERMCAPLIB"
- AC_DEFINE(HAVE_LIBTERMCAP)
- fi
-
- if test "$obselete_lib" = yes ; then
- if test "x$CURSESLIB" != xncurses ; then
- AC_MSG_WARN([You have an older curses library, but it])
- AC_MSG_WARN([can't be used because it does not have the])
- AC_MSG_WARN([functions wnoutrefresh and doupdate, which])
- AC_MSG_WARN([NcFTP needs. Consider installing the ncurses])
- AC_MSG_WARN([library, from prep.ai.mit.edu, in /pub/gnu.])
- fi
- fi
-
- # Readline must be listed before -lcurses and/or -ltermcap.
- if test "$nc_cv_readline" = yes ; then
- READLINELIB=''
- AC_CHECK_LIB(readline,readline,READLINELIB=readline)
- if test "$READLINELIB" != "" ; then
- if test "$CURSESLIB" != "" ; then
- LIBS=`echo "$LIBS" | sed "s@$CURSESLIB@$READLINELIB -l$CURSESLIB@"`
- elif test "$TERMCAPLIB" != "" ; then
- LIBS=`echo "$LIBS" | sed "s@$TERMCAPLIB@$READLINELIB -l$TERMCAPLIB@"`
- fi
- AC_DEFINE(HAVE_LIBREADLINE)
- fi
- else
- ac_cv_lib_readline=no
- fi
-
-
- if test "$ac_cv_lib_readline" = yes ; then
- # Make sure we link termcap with readline if we aren't already
- # linking curses or termcap.
- case "$LIBS" in
- *termcap*|*curses*)
- ;;
- *)
- LIBS="$LIBS -ltermcap"
- ;;
- esac
- AC_CHECK_FUNCS(filename_completion_function)
- fi
-
-
- wi_READLINE_WITH_NCURSES
- AC_CHECK_LIB(posix,tcgetpgrp)
-
- if test "$nc_cv_shared_libc" = yes ; then
- # This should be the last library to look for.
- AC_CHECK_LIB(c_s,main)
- else
- ac_cv_lib_c_s=no
- fi
-
- AC_FUNC_STRFTIME
-
- AC_CHECK_FUNCS(getdomainname getcwd getwd memmove mktime symlink setlinebuf)
- AC_CHECK_FUNCS(strerror strcasecmp remove unlink tcgetpgrp fcntl flock)
-
- AC_MSG_CHECKING([for domain name in /etc/resolv.conf])
- RESOLV_CONF_DOMAIN=""
- if test -f /etc/resolv.conf ; then
- changequote(, )dnl
- RESOLV_CONF_DOMAIN=`sed 's/[#;].*//' /etc/resolv.conf | sed -n 's/domain[ ]//p' | sed -n 1,1p | tr -d ' '`
- changequote([, ])dnl
- if test "$RESOLV_CONF_DOMAIN" = "" ; then
- AC_MSG_RESULT([no])
- else
- AC_MSG_RESULT($RESOLV_CONF_DOMAIN)
- RESOLV_CONF_DOMAIN=" # -DDOMAINNAME=\\\"$RESOLV_CONF_DOMAIN\\\""
- fi
- else
- AC_MSG_RESULT([no])
- fi
- AC_SUBST(RESOLV_CONF_DOMAIN)
-
- if test "x$CURSESLIB" = x ; then
- # Don't check these unless we have a curses library.
- ac_cv_func_curs_set=no
- ac_cv_func_getmaxyx=no
- ac_cv_func_beep=no
- ac_cv_func_notimeout=no
- else
- AC_CHECK_FUNCS(curs_set getmaxyx beep notimeout)
- if test $ac_cv_func_getmaxyx = no ; then
- AC_MSG_CHECKING(for maxx or _maxx in WINDOW structure)
- AC_TRY_COMPILE([#include <curses.h>],[
- WINDOW *w;
-
- w = newwin(10, 10, 1, 1);
- w->maxx = 0;
- delwin(w);],maxx=yes,_maxx=yes)
- if test "$maxx" = yes ; then
- AC_DEFINE(HAVE_MAXX)
- AC_MSG_RESULT(maxx)
- else
- # Most systems use _maxx as their internal field.
- AC_DEFINE(HAVE__MAXX)
- AC_MSG_RESULT([assuming _maxx])
- fi
- fi
- fi
-
- if test $ac_cv_func_getcwd = no && test $ac_cv_func_getwd = no ; then
- AC_WARN(This system does not have either getwd or getcwd?)
- AC_WARN(I find that a little hard to believe.)
- AC_WARN(You may want to try -DHAVE_GETWD anyway.)
- AC_WARN([
- This could also mean that your compiler isn't working])
- AC_WARN(with this configure script. Check the ./config.log)
- AC_WARN(and look for anomalies.)
- fi
-
- if test $ac_cv_func_remove = no && test $ac_cv_func_unlink = no ; then
- AC_WARN(This system does not have either remove or unlink?)
- AC_WARN(I find that a little hard to believe.)
- AC_WARN(You may want to try -DHAVE_UNLINK anyway.)
- fi
-
- AC_HEADER_STDC
- AC_CHECK_HEADERS(string.h memory.h unistd.h stdarg.h termios.h termio.h sgtty.h)
- AC_CHECK_HEADERS(utime.h sys/time.h readline/history.h cursesX.h ncurses.h)
- AC_CHECK_HEADERS(limits.h termnet.h term/termnet.h fcntl.h sys/ioctl.h curses.h)
- AC_CHECK_HEADERS(net/errno.h sys/file.h sys/bsdtypes.h)
- AC_HEADER_TIME
-
- AC_FUNC_SETVBUF_REVERSED
- AC_FUNC_GETPGRP
- AC_PROG_GCC_TRADITIONAL
-
- AC_TYPE_SIZE_T
-
- AC_OUTPUT(Makefile)
-