view acinclude.m4 @ 485:7334a74db6f6

2004-6-15 Brian Masney <masneyb@gftp.org> * lib/protocols.c - added supported for multiline VMS directory listings. Also, parse the date correctly for single line VMS directory listings * lib/gftp.h lib/local.c lib/rfc2068.c lib/rfc959.c lib/sshv.c - added function pointer get_next_dirlist_line to gftp_request structure. This will retrieve the next line of input for the directory listing. This is only implemented in the FTP protocol at the moment. It shouldn't be needed in the other protocols
author masneyb
date Wed, 16 Jun 2004 02:57:02 +0000
parents 97fd5eb34be0
children f19c1c31a906
line wrap: on
line source

#serial 4

dnl By default, many hosts won't let programs access large files;
dnl one must use special compiler options to get large-file access to work.
dnl For more details about this brain damage please see:
dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html

dnl Written by Paul Eggert <eggert@twinsun.com>.

dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
AC_DEFUN(AC_SYS_LARGEFILE_FLAGS,
  [AC_CACHE_CHECK([for $1 value to request large file support],
     ac_cv_sys_largefile_$1,
     [ac_cv_sys_largefile_$1=`($GETCONF LFS_$1) 2>/dev/null` || {
	ac_cv_sys_largefile_$1=no
	ifelse($1, CFLAGS,
	  [case "$host_os" in
	   # IRIX 6.2 and later require cc -n32.
changequote(, )dnl
	   irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
changequote([, ])dnl
	     if test "$GCC" != yes; then
	       ac_cv_sys_largefile_CFLAGS=-n32
	     fi
	     ac_save_CC="$CC"
	     CC="$CC $ac_cv_sys_largefile_CFLAGS"
	     AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
	     CC="$ac_save_CC"
	   esac])
      }])])

dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
AC_DEFUN(AC_SYS_LARGEFILE_SPACE_APPEND,
  [case $2 in
   no) ;;
   ?*)
     case "[$]$1" in
     '') $1=$2 ;;
     *) $1=[$]$1' '$2 ;;
     esac ;;
   esac])

dnl Internal subroutine of AC_SYS_LARGEFILE.
dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
  [AC_CACHE_CHECK([for $1], $2,
     [$2=no
changequote(, )dnl
      $4
      for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
	case "$ac_flag" in
	-D$1)
	  $2=1 ;;
	-D$1=*)
	  $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
	esac
      done
changequote([, ])dnl
      ])
   if test "[$]$2" != no; then
     AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
   fi])

AC_DEFUN(AC_SYS_LARGEFILE,
  [AC_REQUIRE([AC_CANONICAL_HOST])
   AC_ARG_ENABLE(largefile,
     [  --disable-largefile     omit support for large files])
   if test "$enable_largefile" != no; then
     AC_CHECK_TOOL(GETCONF, getconf)
     AC_SYS_LARGEFILE_FLAGS(CFLAGS)
     AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
     AC_SYS_LARGEFILE_FLAGS(LIBS)
	
     for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
       case "$ac_flag" in
       no) ;;
       -D_FILE_OFFSET_BITS=*) ;;
       -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
       -D_LARGE_FILES | -D_LARGE_FILES=*) ;;
       -D?* | -I?*)
	 AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
       *)
	 AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
       esac
     done
     AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
     AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
     AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
       ac_cv_sys_file_offset_bits,
       [Number of bits in a file offset, on hosts where this is settable.]
       [case "$host_os" in
	# HP-UX 10.20 and later
	hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
	  ac_cv_sys_file_offset_bits=64 ;;
	esac])
     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
       ac_cv_sys_largefile_source,
       [Define to make fseeko etc. visible, on some hosts.],
       [case "$host_os" in
	# HP-UX 10.20 and later
	hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
	  ac_cv_sys_largefile_source=1 ;;
	esac])
     AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
       ac_cv_sys_large_files,
       [Define for large files, on AIX-style hosts.],
       [case "$host_os" in
	# AIX 4.2 and later
	aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
	  ac_cv_sys_large_files=1 ;;
	esac])
   fi
  ])

# serial 1

dnl This function is derived from
dnl http://savannah.gnu.org/cgi-bin/viewcvs/gcc/gcc/libjava/configure.in?rev=1.142.2.7&content-type=text/vnd.viewcvs-markup

AC_DEFUN(AC_TYPE_SOCKLEN_T,
  [AC_MSG_CHECKING([for socklen_t in sys/socket.h])
   AC_TRY_COMPILE([#define _POSIX_PII_SOCKET
   #include <sys/types.h>
   #include <sys/socket.h>], [socklen_t x = 5;],
     [AC_MSG_RESULT(yes)],
     [AC_DEFINE(socklen_t,int,Need to define socklen_t as an int because it should be in sys/socket.h)
      AC_MSG_RESULT(no)])
  ])

# serial 1

dnl This macro checks to see if the printf family of functions supports the
dnl %'ld format.

dnl Brian Masney <masneyb@gftp.org>

dnl 
AC_DEFUN(AC_INTL_PRINTF,
  [AC_MSG_CHECKING([whether the printf family of functions supports %'ld])
   AC_TRY_RUN([#include <stdio.h>
               #include <string.h>

               int main(void) {
                 char buf[20];
                 sprintf (buf, "%'ld", (long) 1);
                 if (strchr (buf, '1') == NULL)
                   return (1);
                 return (0);
               }],
    [AC_DEFINE(HAVE_INTL_PRINTF,1,Define if printf supports %'ld)
     AC_MSG_RESULT(yes)],
    [AC_MSG_RESULT(no)])
  ])

# serial 1

dnl Brian Masney <masneyb@gftp.org>

AC_DEFUN(AC_TYPE_INTPTR_T,
  [AC_MSG_CHECKING([for intptr_t in stdint.h])
   AC_TRY_COMPILE([#include <stdint.h>],
   [intptr_t i = 0;],
     [AC_MSG_RESULT(yes)],
     [AC_DEFINE(intptr_t,long,Need to define intptr_t as a long because it should be in stdint.h)
      AC_MSG_RESULT(no)])
  ])