From e4751f9e00971d0c774736bb50344b7ea67d40b0 Mon Sep 17 00:00:00 2001 From: obrien Date: Thu, 19 Jul 2001 16:25:08 +0000 Subject: Import of LukeM's ftpd version 1.1. --- contrib/lukemftpd/configure.in | 300 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 contrib/lukemftpd/configure.in (limited to 'contrib/lukemftpd/configure.in') diff --git a/contrib/lukemftpd/configure.in b/contrib/lukemftpd/configure.in new file mode 100644 index 0000000..87331d0 --- /dev/null +++ b/contrib/lukemftpd/configure.in @@ -0,0 +1,300 @@ +dnl $Id: configure.in,v 1.16 2001/04/28 07:11:06 lukem Exp $ +dnl +dnl configure.in -- +dnl process this file with autoconf to produce a configure script. +dnl + +AC_REVISION($Revision: 1.16 $)dnl + +AC_INIT(lukemftpd.h) + + +dnl Arguments for which features are included +dnl +AC_ARG_ENABLE(ipv6, [\ + --enable-ipv6 Enable IPv6 support (if your OS supports it). + --disable-ipv6 Disable IPv6 support (even if your OS supports it) + [default: enabled].], + opt_ipv6=$enableval, + opt_ipv6=yes) +AC_ARG_ENABLE(builtinls, [\ + --enable-builtinls Enable built-in /bin/ls. [default: enabled] + --disable-builtinls Disable built-in /bin/ls.], + opt_builtinls=$enableval, + opt_builtinls=yes) + + +dnl Checks for programs. +dnl +AC_PROG_MAKE_SET +AC_PROG_CC +AC_PROG_AWK +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_PROG_YACC +AC_CHECK_PROGS(AR, ar) + + +dnl Checks for libraries. +dnl +AC_CHECK_LIB(crypt, crypt) +AC_CHECK_LIB(util, fparseln) +if test $ac_cv_lib_util_fparseln != yes; then + AC_CHECK_LIB(util, setproctitle) +fi +AC_LIBRARY_NET +AC_LIBRARY_SOCKS +if test -n "$socks"; then + if test $opt_ipv6 = yes; then + echo "IPv6 is incompatible with socks, disabling IPv6 support" + opt_ipv6=no + fi +fi +AC_ARG_WITH(skey, +[ --with-skey Compile with S/Key authentication support.], +[ if test $withval = yes; then + AC_CHECK_LIB(skey, skey_haskey) + fi ] ) +AC_MSG_CHECKING(whether to support S/Key) +if test x"$ac_cv_lib_skey_skey_haskey" = "xyes"; then + AC_MSG_RESULT(yes) + AC_DEFINE(SKEY, 1) +else + AC_MSG_RESULT(no) +fi + + +dnl Checks for header files. +dnl +AC_CONFIG_HEADER(config.h) +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_CHECK_HEADERS(arpa/nameser.h err.h fts.h libutil.h paths.h \ + sys/sysmacros.h util.h) + + +dnl Checks for typedefs, structures, and compiler characteristics. +dnl +AC_HEADER_TIME +AC_TYPE_OFF_T +AC_CHECK_SIZEOF(off_t, 0) +AC_MSG_TRY_LINK(for long long, ftp_cv_HAVE_LONG_LONG, [ +#include ] , [ +long long X = 2, Y = 1, Z; +Z = X / Y; ], [ +AC_DEFINE(HAVE_LONG_LONG, 1) +have_long_long=yes], [have_long_long=no]) + +AC_MSG_TRY_COMPILE(for in_port_t, ftp_cv_HAVE_IN_PORT_T, [ +#include +#include ], [ in_port_t X ], [AC_DEFINE(HAVE_IN_PORT_T, 1)]) + +AC_MSG_TRY_COMPILE(for sockaddr_in.sin_len, ftp_cv_HAVE_SOCKADDR_SA_LEN, [ +#include +#include +#include ], [ + struct sockaddr_in sin; + int X = sin.sin_len ], [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1)]) + +AC_MSG_TRY_COMPILE(for socklen_t, ftp_cv_HAVE_SOCKLEN_T, [ +#include +#include ], [ socklen_t X ], [AC_DEFINE(HAVE_SOCKLEN_T, 1)]) + +if test $opt_ipv6 = yes; then + + AC_MSG_TRY_COMPILE(for AF_INET6, ftp_cv_HAVE_AF_INET6, [ +#include +#include ], + [ int X = AF_INET6 ], [AC_DEFINE(HAVE_AF_INET6, 1)]) + + AC_MSG_TRY_COMPILE(for struct sockaddr_in6, ftp_cv_HAVE_SOCKADDR_IN6, [ +#include +#include ], + [ struct sockaddr_in6 X ], [AC_DEFINE(HAVE_SOCKADDR_IN6, 1)]) + +fi + +AC_MSG_TRY_COMPILE(for struct addrinfo, ftp_cv_HAVE_ADDRINFO, [ +#include +#include +#include ], + [ struct addrinfo X ], [AC_DEFINE(HAVE_ADDRINFO, 1)]) + +AC_MSG_TRY_COMPILE(for d_namlen in struct dirent, ftp_cv_HAVE_D_NAMLEN, [ +#if HAVE_DIRENT_H +# include +#else +# define dirent direct +# if HAVE_SYS_NDIR_H +# include +# endif +# if HAVE_SYS_DIR_H +# include +# endif +# if HAVE_NDIR_H +# include +# endif +#endif ], [ + struct dirent dp; + int X = dp.d_namlen; ], [AC_DEFINE(HAVE_D_NAMLEN, 1)]) + +AC_MSG_TRY_COMPILE(for struct passwd.pw_expire, ftp_cv_HAVE_PW_EXPIRE, [ +#include +#include ], + [ struct passwd pw; + time_t X = pw.pw_expire ], [AC_DEFINE(HAVE_PW_EXPIRE, 1)]) + +AC_C_CONST + + +dnl Checks for library functions. +dnl +AC_REPLACE_FUNCS(err fgetln getaddrinfo getgrouplist getnameinfo \ + getusershell inet_net_pton inet_ntop inet_pton mkstemp \ + sl_init snprintf strdup strerror strlcat strlcpy strsep \ + usleep vsyslog) +AC_CHECK_FUNCS(flock lockf getspnam setlogin setproctitle vfork) +if test $ac_cv_lib_util_fparseln != yes; then + AC_REPLACE_FUNCS(fparseln) +fi + +LIBOBJS="$LIBOBJS glob.o" + +AC_MSG_TRY_COMPILE(for crypt() declaration, ftp_cv_HAVE_CRYPT_D, [ +#include ], [ char *(*X)() = crypt ], [AC_DEFINE(HAVE_CRYPT_D, 1)]) + +AC_MSG_TRY_COMPILE(for fclose() declaration, ftp_cv_HAVE_FCLOSE_D, [ +#include ], [ int (*X)() = fclose ], [AC_DEFINE(HAVE_FCLOSE_D, 1)]) + +AC_MSG_TRY_COMPILE(for optarg declaration, ftp_cv_HAVE_OPTARG_D, [ +#include +#include ], [ char *X = optarg ], [AC_DEFINE(HAVE_OPTARG_D, 1)]) + +AC_MSG_TRY_COMPILE(for optind declaration, ftp_cv_HAVE_OPTIND_D, [ +#include +#include ], [ int X = optind ], [AC_DEFINE(HAVE_OPTIND_D, 1)]) + +AC_MSG_TRY_LINK(for optreset, ftp_cv_HAVE_OPTRESET, [ +#include +#include ], [ int X = optreset ], [AC_DEFINE(HAVE_OPTRESET, 1)]) + +AC_MSG_TRY_COMPILE(for pclose() declaration, ftp_cv_HAVE_PCLOSE_D, [ +#include ], [ int (*X)() = pclose ], [AC_DEFINE(HAVE_PCLOSE_D, 1)]) + +if test $ac_cv_func_getusershell = yes; then + AC_MSG_TRY_COMPILE(for getusershell() declaration, + ftp_cv_HAVE_GETUSERSHELL_D, [ + #include ], [ char *(*X)() = getusershell ], + [AC_DEFINE(HAVE_GETUSERSHELL_D, 1)]) +fi + + +if test $have_long_long = yes -a $ac_cv_sizeof_off_t -ge 8; then + +dnl We assume that if sprintf() supports %lld or %qd, +dnl then all of *printf() does. If not, disable long long +dnl support because we don't know how to display it. + + AC_MSG_CHECKING(*printf() support for %lld) + can_printf_longlong=no + AC_TRY_RUN([ + #include + int main() { + char buf[100]; + sprintf(buf, "%lld", 4294967300LL); + return (strcmp(buf, "4294967300")); + } + ], [ + AC_MSG_RESULT(yes) + can_printf_longlong=yes + ], [ + AC_MSG_RESULT(no) + ], [ : ]) + + if test $can_printf_longlong != yes; then + AC_MSG_CHECKING(*printf() support for %qd) + AC_TRY_RUN([ + #include + int main() { + char buf[100]; + sprintf(buf, "%qd", 4294967300LL); + return (strcmp(buf, "4294967300")); + } + ], [ + AC_MSG_RESULT(yes) + can_printf_longlong=yes + AC_DEFINE(HAVE_PRINTF_QD, 1) + ], [ + AC_MSG_RESULT(no) + ], [ : ]) + fi + + if test $can_printf_longlong = yes; then + AC_DEFINE(HAVE_QUAD_SUPPORT, 1) + AC_REPLACE_FUNCS(strtoll) + fi + +fi + + +have_rfc2553_netdb=no +if test $ac_cv_func_getaddrinfo = yes -a ! -n "$socks"; then + AC_MSG_TRY_COMPILE(for AI_NUMERICHOST, + ftp_cv_have_ai_numerichost, [ + #include + #include + #include ], + [ int X = AI_NUMERICHOST ], [ have_rfc2553_netdb=yes ]) +fi +AC_MSG_CHECKING(for working getaddrinfo()) +if test $have_rfc2553_netdb = yes; then + AC_DEFINE(HAVE_RFC2553_NETDB, 1) + AC_MSG_RESULT(yes) +else + if test $ac_cv_func_getaddrinfo = yes; then + LIBOBJS="$LIBOBJS getaddrinfo.o" + AC_MSG_RESULT(no - using local version) + else + AC_MSG_RESULT(using local version) + fi +fi + +if test $ac_cv_func_sl_init = yes; then + AC_MSG_TRY_COMPILE(if sl_add() returns int, ftp_cv_INT_SL_ADD, [ + #include ], [ int f = sl_add((StringList *)0, "foo") ], + [:] , [LIBOBJS="$LIBOBJS sl_init.o"]) +fi + + +dnl Tests for stuff for inbuilt ls +dnl + +if test $opt_builtinls = yes; then + AC_REPLACE_FUNCS(fts_open strmode user_from_uid) + LSOBJS="cmp.o ls.o print.o util.o" +else + AC_DEFINE(NO_INTERNAL_LS,1) +fi + + +dnl Build libukem if necessary +dnl + +if test -n "$LIBOBJS"; then + INCLUDES="$INCLUDES -I\${srcdir}/../libukem" + LDFLAGS="$LDFLAGS -L../libukem" + LIBS="$LIBS -lukem" + LIBUKEM=libukem.a + LIBDEPENDS="$LIBDEPENDS ../libukem/libukem.a" +fi + + +dnl Create the Makefiles +dnl + +AC_SUBST(INCLUDES) +AC_SUBST(LIBUKEM) +AC_SUBST(LIBDEPENDS) +AC_SUBST(LSOBJS) + +AC_OUTPUT(Makefile libukem/Makefile src/Makefile) -- cgit v1.1