summaryrefslogtreecommitdiff
path: root/contrib/lukemftp/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/lukemftp/configure.in')
-rw-r--r--contrib/lukemftp/configure.in283
1 files changed, 283 insertions, 0 deletions
diff --git a/contrib/lukemftp/configure.in b/contrib/lukemftp/configure.in
new file mode 100644
index 000000000000..edc823813095
--- /dev/null
+++ b/contrib/lukemftp/configure.in
@@ -0,0 +1,283 @@
+dnl $Id: configure.in,v 1.32 2000/09/18 00:10:43 lukem Exp $
+dnl
+dnl configure.in --
+dnl process this file with autoconf to produce a configure script.
+dnl
+
+AC_REVISION($Revision: 1.32 $)dnl
+
+AC_INIT(lukemftp.h)
+
+dnl Arguments for which features are included
+dnl
+AC_ARG_PROGRAM
+AC_ARG_ENABLE(editcomplete, [\
+ --enable-editcomplete Turn on command line editing and completion.
+ --disable-editcomplete Turn off command line editing and completion
+ [default: enabled].],
+ opt_editcomplete=$enableval,
+ opt_editcomplete=yes)
+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)
+
+dnl Checks for programs.
+dnl
+AC_PROG_MAKE_SET
+AC_PROG_CC
+AC_PROG_AWK
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_CHECK_PROGS(AR, ar)
+AC_AIX
+
+
+dnl Checks for libraries.
+dnl
+dnl XXX: we check fparseln twice; probably best to fix that
+AC_CHECK_LIB(util, fparseln)
+if test $opt_editcomplete = yes; then
+ AC_CHECK_LIB(tinfo, tgetent, ,
+ AC_CHECK_LIB(termcap, tgetent, ,
+ AC_CHECK_LIB(curses, tgetent, ,
+ AC_CHECK_LIB(ncurses, tgetent))))
+ AC_SEARCH_LIBS(el_init, edit, have_libedit=yes, have_libedit=no)
+fi
+AC_LIBRARY_NET
+AC_LIBRARY_SOCKS
+
+
+dnl Checks for header files.
+dnl
+AC_CONFIG_HEADER(config.h)
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_CHECK_HEADERS(err.h regex.h paths.h poll.h sys/poll.h termcap.h util.h vis.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 <sys/types.h>] , [
+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 <sys/types.h>
+#include <netinet/in.h> ], [ 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 <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h> ], [
+ 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 <sys/types.h>
+#include <sys/socket.h> ], [ 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 <sys/types.h>
+#include <sys/socket.h> ],
+ [ int X = AF_INET6 ], [AC_DEFINE(HAVE_AF_INET6, 1)])
+
+ AC_MSG_TRY_COMPILE(for struct sockaddr_in6, ftp_cv_HAVE_SOCKADDR_IN6, [
+#include <sys/types.h>
+#include <netinet/in.h> ],
+ [ struct sockaddr_in6 X ], [AC_DEFINE(HAVE_SOCKADDR_IN6, 1)])
+
+fi
+
+AC_MSG_TRY_COMPILE(for struct addrinfo, ftp_cv_HAVE_ADDRINFO, [
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h> ],
+ [ 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 <dirent.h>
+#else
+# define dirent direct
+# if HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif
+# if HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif
+# if HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif ], [
+ struct dirent dp;
+ int X = dp.d_namlen; ], [AC_DEFINE(HAVE_D_NAMLEN, 1)])
+
+AC_MSG_TRY_COMPILE(for GLOB_BRACE, ftp_cv_have_glob_brace, [
+#include <glob.h> ], [ int X = GLOB_BRACE ], [:])
+
+AC_MSG_TRY_COMPILE(for h_errno declaration, ftp_cv_HAVE_H_ERRNO_D, [
+#include <netdb.h> ], [ int X = h_errno ], [AC_DEFINE(HAVE_H_ERRNO_D, 1)])
+
+AC_MSG_TRY_COMPILE(for fclose() declaration, ftp_cv_HAVE_FCLOSE_D, [
+#include <stdio.h> ], [ int (*X)() = fclose ], [AC_DEFINE(HAVE_FCLOSE_D, 1)])
+
+AC_MSG_TRY_COMPILE(for getpass() declaration, ftp_cv_HAVE_GETPASS_D, [
+#include <stdlib.h>
+#include <unistd.h> ], [ char *(*X)() = getpass ], [
+ AC_DEFINE(HAVE_GETPASS_D, 1)])
+
+AC_MSG_TRY_COMPILE(for optarg declaration, ftp_cv_HAVE_OPTARG_D, [
+#include <stdlib.h>
+#include <unistd.h> ], [ char *X = optarg ], [AC_DEFINE(HAVE_OPTARG_D, 1)])
+
+AC_MSG_TRY_COMPILE(for optind declaration, ftp_cv_HAVE_OPTIND_D, [
+#include <stdlib.h>
+#include <unistd.h> ], [ int X = optind ], [AC_DEFINE(HAVE_OPTIND_D, 1)])
+
+AC_MSG_TRY_COMPILE(for pclose() declaration, ftp_cv_HAVE_PCLOSE_D, [
+#include <stdio.h> ], [ int (*X)() = pclose ], [AC_DEFINE(HAVE_PCLOSE_D, 1)])
+
+
+dnl Checks for library functions.
+dnl
+AC_REPLACE_FUNCS(err fgetln fparseln getaddrinfo getnameinfo glob inet_ntop \
+ inet_pton mkstemp sl_init snprintf strdup strerror strlcat \
+ strlcpy strptime strsep strunvis strvis timegm usleep)
+AC_CHECK_FUNCS(gethostbyname2 getpassphrase getpgrp issetugid memmove poll \
+ select)
+if test $ac_cv_func_getpgrp = yes; then
+ AC_FUNC_GETPGRP
+fi
+
+if test $ac_cv_func_strptime = yes; then
+ AC_MSG_TRY_COMPILE(for strptime() declaration, ftp_cv_HAVE_STRPTIME_D, [
+ #include <time.h> ], [ char *X = strptime("", "", NULL) ],
+ [AC_DEFINE(HAVE_STRPTIME_D, 1)])
+fi
+
+AC_MSG_CHECKING(for GLOB_BRACE support in glob)
+if test $ftp_cv_have_glob_brace = yes; then
+ AC_DEFINE(HAVE_GLOB_BRACE, 1)
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT([no, using my own])
+ LIBOBJS="$LIBOBJS glob.o"
+fi
+
+if test $have_long_long = yes -a $ac_cv_sizeof_off_t -ge 8; then
+ AC_DEFINE(HAVE_QUAD_SUPPORT, 1)
+ AC_REPLACE_FUNCS(strtoll)
+ AC_MSG_CHECKING(snprintf support for %lld)
+ if test $ac_cv_func_snprintf = yes; then
+ AC_TRY_RUN([
+ #include <stdio.h>
+ int main() {
+ char buf[100];
+ snprintf(buf, sizeof(buf), "%lld",
+ 4294967300LL);
+ return (strcmp(buf, "4294967300"));
+ }
+ ], [
+ AC_MSG_RESULT(yes)
+ have_snprintf_lld=yes
+ ], [
+ AC_MSG_RESULT(no, using local version)
+ have_snprintf_lld=no
+ ], [
+ AC_MSG_RESULT(cross-compiling, using local version)
+ have_snprintf_lld=no
+ ])
+ if test $have_snprintf_lld = no; then
+ LIBOBJS="$LIBOBJS snprintf.o"
+ fi
+ else
+ AC_MSG_RESULT(using local version)
+ fi
+fi
+
+
+if test $opt_editcomplete = yes; then
+ if test $have_libedit = yes; then
+ AC_MSG_TRY_COMPILE(for EL_RPROMPT in libedit,
+ ftp_cv_have_libedit, [
+ #include <histedit.h> ], [ int X = EL_RPROMPT ], [:],
+ have_libedit=no )
+ fi
+
+ AC_MSG_CHECKING(for working libedit)
+ if test $have_libedit = no; then
+ AC_MSG_RESULT([no, using my own])
+ INCLUDES="-I\${srcdir}/../libedit $INCLUDES"
+ LDFLAGS="-L../libedit $LDFLAGS"
+ LIBS="-ledit $LIBS"
+ LIBEDIT=libedit.a
+ LIBDEPENDS="$LIBDEPENDS ../libedit/libedit.a"
+ else
+ AC_MSG_RESULT(yes)
+ fi
+else
+ CFLAGS="-DNO_EDITCOMPLETE $CFLAGS"
+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 <stringlist.h> ], [ int f = sl_add((StringList *)0, "foo") ],
+ [:] , [LIBOBJS="$LIBOBJS sl_init.o"])
+fi
+
+
+have_rfc2553_netdb=no
+if test $ac_cv_func_getaddrinfo = yes; then
+ AC_MSG_TRY_COMPILE(for AI_NUMERICHOST, ftp_cv_have_ai_numerichost, [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netdb.h> ],
+ [ int X = AI_NUMERICHOST ], [ have_rfc2553_netdb=yes ])
+fi
+if test $have_rfc2553_netdb = yes; then
+ AC_DEFINE(HAVE_RFC2553_NETDB, 1)
+else
+ if test $ac_cv_func_getaddrinfo = yes; then
+ LIBOBJS="$LIBOBJS getaddrinfo.o"
+ fi
+fi
+
+
+if test $ac_cv_header_vis_h = yes; then
+ AC_MSG_TRY_COMPILE(for VIS_WHITE in vis.h,
+ ftp_cv_have_vis_white, [
+ #include <sys/types.h>
+ #include <vis.h> ], [ int X = VIS_WHITE ], [:],
+ ac_cv_header_vis_h=no )
+fi
+
+
+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(LIBEDIT)
+AC_SUBST(LIBUKEM)
+AC_SUBST(LIBDEPENDS)
+
+AC_OUTPUT(Makefile libedit/Makefile libedit/makelist libukem/Makefile \
+ src/Makefile)