diff options
| -rw-r--r-- | CHANGES | 5 | ||||
| -rw-r--r-- | acinclude.m4 | 327 | ||||
| -rw-r--r-- | ares/acinclude.m4 | 207 | 
3 files changed, 286 insertions, 253 deletions
| @@ -6,6 +6,11 @@                                    Changelog +Yang Tse (18 Jun 2008) +- Internal configure script improvement. No longer break out of shell "for" +  statements from inside AC_FOO_IFELSE macros, otherwise temporary macro files +  are not properly removed. +  Daniel Fandrich (12 Jun 2008)  - Fixed curl-config --ca which wasn't being exported by configure. diff --git a/acinclude.m4 b/acinclude.m4 index 8800a8869..792ceaede 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -554,13 +554,14 @@ AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [    #    for x_nlibs in '' "$u_libs" \      '-lwldap32' ; do -    if test -z "$x_nlibs"; then -      LIBS="$curl_cv_save_LIBS" -    else -      LIBS="$x_nlibs $curl_cv_save_LIBS" -    fi -    AC_LINK_IFELSE([ -      AC_LANG_PROGRAM([[ +    if test "$curl_cv_ldap_LIBS" = "unknown"; then +      if test -z "$x_nlibs"; then +        LIBS="$curl_cv_save_LIBS" +      else +        LIBS="$x_nlibs $curl_cv_save_LIBS" +      fi +      AC_LINK_IFELSE([ +        AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -574,17 +575,17 @@ AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [  #include <winber.h>  #endif  #endif -      ]],[[ -        BERVAL *bvp = NULL; -        BerElement *bep = ber_init(bvp); -        LDAP *ldp = ldap_init("dummy", LDAP_PORT); -        ULONG res = ldap_unbind(ldp); -        ber_free(bep, 1); -      ]]) -    ],[ -      curl_cv_ldap_LIBS="$x_nlibs" -      break -    ]) +        ]],[[ +          BERVAL *bvp = NULL; +          BerElement *bep = ber_init(bvp); +          LDAP *ldp = ldap_init("dummy", LDAP_PORT); +          ULONG res = ldap_unbind(ldp); +          ber_free(bep, 1); +        ]]) +      ],[ +        curl_cv_ldap_LIBS="$x_nlibs" +      ]) +    fi    done    #    LIBS="$curl_cv_save_LIBS" @@ -651,13 +652,14 @@ AC_DEFUN([CURL_CHECK_LIBS_LDAP], [      '-lldap -llber' \      '-lldapssl -lldapx -lldapsdk' \      '-lldapsdk -lldapx -lldapssl' ; do -    if test -z "$x_nlibs"; then -      LIBS="$curl_cv_save_LIBS" -    else -      LIBS="$x_nlibs $curl_cv_save_LIBS" -    fi -    AC_LINK_IFELSE([ -      AC_LANG_PROGRAM([[ +    if test "$curl_cv_ldap_LIBS" = "unknown"; then +      if test -z "$x_nlibs"; then +        LIBS="$curl_cv_save_LIBS" +      else +        LIBS="$x_nlibs $curl_cv_save_LIBS" +      fi +      AC_LINK_IFELSE([ +        AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -681,17 +683,17 @@ AC_DEFUN([CURL_CHECK_LIBS_LDAP], [  #ifdef HAVE_LDAP_H  #include <ldap.h>  #endif -      ]],[[ -        BerValue *bvp = NULL; -        BerElement *bep = ber_init(bvp); -        LDAP *ldp = ldap_init("dummy", LDAP_PORT); -        int res = ldap_unbind(ldp); -        ber_free(bep, 1); -      ]]) -    ],[ -      curl_cv_ldap_LIBS="$x_nlibs" -      break -    ]) +        ]],[[ +          BerValue *bvp = NULL; +          BerElement *bep = ber_init(bvp); +          LDAP *ldp = ldap_init("dummy", LDAP_PORT); +          int res = ldap_unbind(ldp); +          ber_free(bep, 1); +        ]]) +      ],[ +        curl_cv_ldap_LIBS="$x_nlibs" +      ]) +    fi    done    #    LIBS="$curl_cv_save_LIBS" @@ -782,8 +784,9 @@ AC_DEFUN([CURL_CHECK_TYPE_SOCKLEN_T], [        for arg1 in 'int' 'SOCKET'; do          for arg2 in "struct sockaddr" void; do            for t in int size_t unsigned long "unsigned long"; do -            AC_COMPILE_IFELSE([ -              AC_LANG_PROGRAM([[ +            if test "$curl_cv_socklen_t_equiv" = "unknown"; then +              AC_COMPILE_IFELSE([ +                AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -807,15 +810,15 @@ AC_DEFUN([CURL_CHECK_TYPE_SOCKLEN_T], [  #endif  #define GETPEERNCALLCONV  #endif -                extern int GETPEERNCALLCONV getpeername ($arg1, $arg2 *, $t *); -              ]],[[ -                $t len=0; -                getpeername(0,0,&len); -              ]]) -            ],[ -               curl_cv_socklen_t_equiv="$t" -               break 3 -            ]) +                  extern int GETPEERNCALLCONV getpeername($arg1, $arg2 *, $t *); +                ]],[[ +                  $t len=0; +                  getpeername(0,0,&len); +                ]]) +              ],[ +                curl_cv_socklen_t_equiv="$t" +              ]) +            fi            done          done        done @@ -944,8 +947,9 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [          for gni_arg2 in 'socklen_t' 'size_t' 'int'; do            for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do              for gni_arg7 in 'int' 'unsigned int'; do -              AC_COMPILE_IFELSE([ -                AC_LANG_PROGRAM([[ +              if test "$curl_cv_func_getnameinfo_args" = "unknown"; then +                AC_COMPILE_IFELSE([ +                  AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -975,21 +979,21 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [  #endif  #define GNICALLCONV  #endif -                  extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2, -                                         char *, $gni_arg46, -                                         char *, $gni_arg46, -                                         $gni_arg7); -                ]],[[ -                  $gni_arg2 salen=0; -                  $gni_arg46 hostlen=0; -                  $gni_arg46 servlen=0; -                  $gni_arg7 flags=0; -                  int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags); -                ]]) -              ],[ -                 curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7" -                 break 4 -              ]) +                    extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2, +                                           char *, $gni_arg46, +                                           char *, $gni_arg46, +                                           $gni_arg7); +                  ]],[[ +                    $gni_arg2 salen=0; +                    $gni_arg46 hostlen=0; +                    $gni_arg46 servlen=0; +                    $gni_arg7 flags=0; +                    int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags); +                  ]]) +                ],[ +                  curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7" +                ]) +              fi              done            done          done @@ -1249,8 +1253,9 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [            for recv_arg2 in 'char *' 'void *'; do              for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do                for recv_arg4 in 'int' 'unsigned int'; do -                AC_COMPILE_IFELSE([ -                  AC_LANG_PROGRAM([[ +                if test "$curl_cv_func_recv_args" = "unknown"; then +                  AC_COMPILE_IFELSE([ +                    AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1274,18 +1279,19 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [  #endif  #define RECVCALLCONV  #endif -                    extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); -                  ]],[[ -                    $recv_arg1 s=0; -                    $recv_arg2 buf=0; -                    $recv_arg3 len=0; -                    $recv_arg4 flags=0; -                    $recv_retv res = recv(s, buf, len, flags); -                  ]]) -                ],[ -                   curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv" -                   break 5 -                ]) +                      extern $recv_retv RECVCALLCONV +                      recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); +                    ]],[[ +                      $recv_arg1 s=0; +                      $recv_arg2 buf=0; +                      $recv_arg3 len=0; +                      $recv_arg4 flags=0; +                      $recv_retv res = recv(s, buf, len, flags); +                    ]]) +                  ],[ +                    curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv" +                  ]) +                fi                done              done            done @@ -1381,8 +1387,9 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [            for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do              for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do                for send_arg4 in 'int' 'unsigned int'; do -                AC_COMPILE_IFELSE([ -                  AC_LANG_PROGRAM([[ +                if test "$curl_cv_func_send_args" = "unknown"; then +                  AC_COMPILE_IFELSE([ +                    AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1406,17 +1413,18 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [  #endif  #define SENDCALLCONV  #endif -                    extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); -                  ]],[[ -                    $send_arg1 s=0; -                    $send_arg3 len=0; -                    $send_arg4 flags=0; -                    $send_retv res = send(s, 0, len, flags); -                  ]]) -                ],[ -                   curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv" -                   break 5 -                ]) +                      extern $send_retv SENDCALLCONV +                      send($send_arg1, $send_arg2, $send_arg3, $send_arg4); +                    ]],[[ +                      $send_arg1 s=0; +                      $send_arg3 len=0; +                      $send_arg4 flags=0; +                      $send_retv res = send(s, 0, len, flags); +                    ]]) +                  ],[ +                    curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv" +                  ]) +                fi                done              done            done @@ -1789,16 +1797,17 @@ dnl TYPE_IN_ADDR_T  dnl -------------------------------------------------  dnl Check for in_addr_t: it is used to receive the return code of inet_addr()  dnl and a few other things. -AC_DEFUN([TYPE_IN_ADDR_T], -[ -   AC_CHECK_TYPE([in_addr_t], ,[ -      AC_MSG_CHECKING([for in_addr_t equivalent]) -      AC_CACHE_VAL([curl_cv_in_addr_t_equiv], -      [ -         curl_cv_in_addr_t_equiv= -         for t in "unsigned long" int size_t unsigned long; do -            AC_LINK_IFELSE([ -              AC_LANG_PROGRAM([[ + +AC_DEFUN([TYPE_IN_ADDR_T], [ +  AC_CHECK_TYPE([in_addr_t], ,[ +    dnl in_addr_t not available +    AC_CACHE_CHECK([for in_addr_t equivalent], +      [curl_cv_in_addr_t_equiv], [ +      curl_cv_in_addr_t_equiv="unknown" +      for t in "unsigned long" int size_t unsigned long; do +        if test "$curl_cv_in_addr_t_equiv" = "unknown"; then +          AC_LINK_IFELSE([ +            AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1826,23 +1835,25 @@ AC_DEFUN([TYPE_IN_ADDR_T],  #include <arpa/inet.h>  #endif  #endif -              ]],[[ -                $t data = inet_addr ("1.2.3.4"); -              ]]) -            ],[ -              curl_cv_in_addr_t_equiv="$t" -              break -            ]) -         done - -         if test "x$curl_cv_in_addr_t_equiv" = x; then -            AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) -         fi -      ]) -      AC_MSG_RESULT($curl_cv_in_addr_t_equiv) -      AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, -			[type to use in place of in_addr_t if not defined])], -      [ +            ]],[[ +              $t data = inet_addr ("1.2.3.4"); +            ]]) +          ],[ +            curl_cv_in_addr_t_equiv="$t" +          ]) +        fi +      done +    ]) +    case "$curl_cv_in_addr_t_equiv" in +      unknown) +        AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) +        ;; +      *) +        AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, +          [Type to use in place of in_addr_t when system does not provide it.]) +        ;; +    esac +  ],[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1873,6 +1884,7 @@ AC_DEFUN([TYPE_IN_ADDR_T],    ]) dnl AC_CHECK_TYPE  ]) dnl AC_DEFUN +  dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC  dnl -------------------------------------------------  dnl Check if monotonic clock_gettime is available. @@ -1911,6 +1923,7 @@ AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [    dnl postponed until library linking checks for clock_gettime pass.  ]) dnl AC_DEFUN +  dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC  dnl -------------------------------------------------  dnl If monotonic clock_gettime is available then, @@ -1927,13 +1940,14 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [      curl_cv_gclk_LIBS="unknown"      #      for x_xlibs in '' '-lrt' '-lposix4' ; do -      if test -z "$x_xlibs"; then -        LIBS="$curl_cv_save_LIBS" -      else -        LIBS="$x_xlibs $curl_cv_save_LIBS" -      fi -      AC_LINK_IFELSE([ -        AC_LANG_PROGRAM([[ +      if test "$curl_cv_gclk_LIBS" = "unknown"; then +        if test -z "$x_xlibs"; then +          LIBS="$curl_cv_save_LIBS" +        else +          LIBS="$x_xlibs $curl_cv_save_LIBS" +        fi +        AC_LINK_IFELSE([ +          AC_LANG_PROGRAM([[  #ifdef HAVE_SYS_TYPES_H  #include <sys/types.h>  #endif @@ -1947,14 +1961,14 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [  #include <time.h>  #endif  #endif -        ]],[[ -          struct timespec ts; -          (void)clock_gettime(CLOCK_MONOTONIC, &ts); -        ]]) -      ],[ -        curl_cv_gclk_LIBS="$x_xlibs" -        break -      ]) +          ]],[[ +            struct timespec ts; +            (void)clock_gettime(CLOCK_MONOTONIC, &ts); +          ]]) +        ],[ +          curl_cv_gclk_LIBS="$x_xlibs" +        ]) +      fi      done      #      LIBS="$curl_cv_save_LIBS" @@ -2065,8 +2079,9 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [          for sel_arg1 in 'int' 'ssize_t' 'size_t' 'unsigned long int' 'unsigned int'; do            for sel_arg234 in 'fd_set *' 'int *' 'void *'; do              for sel_arg5 in 'struct timeval *' 'const struct timeval *'; do -              AC_COMPILE_IFELSE([ -                AC_LANG_PROGRAM([[ +              if test "$curl_cv_func_select_args" = "unknown"; then +                AC_COMPILE_IFELSE([ +                  AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -2105,27 +2120,27 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [  #define SELECTCALLCONV  #endif  #ifndef HAVE_STRUCT_TIMEVAL -                  struct timeval { -                    long tv_sec; -                    long tv_usec; -                  }; -#endif -                  extern $sel_retv SELECTCALLCONV select($sel_arg1, -                                                         $sel_arg234, -                                                         $sel_arg234, -                                                         $sel_arg234, -                                                         $sel_arg5); -                ]],[[ -                  $sel_arg1   nfds=0; -                  $sel_arg234 rfds=0; -                  $sel_arg234 wfds=0; -                  $sel_arg234 efds=0; -                  $sel_retv res = select(nfds, rfds, wfds, efds, 0); -                ]]) -              ],[ -                 curl_cv_func_select_args="$sel_arg1,$sel_arg234,$sel_arg5,$sel_retv" -                 break 4 -              ]) +                    struct timeval { +                      long tv_sec; +                      long tv_usec; +                    }; +#endif +                    extern $sel_retv SELECTCALLCONV select($sel_arg1, +                                                           $sel_arg234, +                                                           $sel_arg234, +                                                           $sel_arg234, +                                                           $sel_arg5); +                  ]],[[ +                    $sel_arg1   nfds=0; +                    $sel_arg234 rfds=0; +                    $sel_arg234 wfds=0; +                    $sel_arg234 efds=0; +                    $sel_retv res = select(nfds, rfds, wfds, efds, 0); +                  ]]) +                ],[ +                  curl_cv_func_select_args="$sel_arg1,$sel_arg234,$sel_arg5,$sel_retv" +                ]) +              fi              done            done          done diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index 7b6b27016..124ed88ff 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -251,8 +251,9 @@ AC_DEFUN([CURL_CHECK_TYPE_SOCKLEN_T], [        for arg1 in 'int' 'SOCKET'; do          for arg2 in "struct sockaddr" void; do            for t in int size_t unsigned long "unsigned long"; do -            AC_COMPILE_IFELSE([ -              AC_LANG_PROGRAM([[ +            if test "$curl_cv_socklen_t_equiv" = "unknown"; then +              AC_COMPILE_IFELSE([ +                AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -276,15 +277,15 @@ AC_DEFUN([CURL_CHECK_TYPE_SOCKLEN_T], [  #endif  #define GETPEERNCALLCONV  #endif -                extern int GETPEERNCALLCONV getpeername ($arg1, $arg2 *, $t *); -              ]],[[ -                $t len=0; -                getpeername(0,0,&len); -              ]]) -            ],[ -               curl_cv_socklen_t_equiv="$t" -               break 3 -            ]) +                  extern int GETPEERNCALLCONV getpeername($arg1, $arg2 *, $t *); +                ]],[[ +                  $t len=0; +                  getpeername(0,0,&len); +                ]]) +              ],[ +                curl_cv_socklen_t_equiv="$t" +              ]) +            fi            done          done        done @@ -413,8 +414,9 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [          for gni_arg2 in 'socklen_t' 'size_t' 'int'; do            for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do              for gni_arg7 in 'int' 'unsigned int'; do -              AC_COMPILE_IFELSE([ -                AC_LANG_PROGRAM([[ +              if test "$curl_cv_func_getnameinfo_args" = "unknown"; then +                AC_COMPILE_IFELSE([ +                  AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -444,21 +446,21 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [  #endif  #define GNICALLCONV  #endif -                  extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2, -                                         char *, $gni_arg46, -                                         char *, $gni_arg46, -                                         $gni_arg7); -                ]],[[ -                  $gni_arg2 salen=0; -                  $gni_arg46 hostlen=0; -                  $gni_arg46 servlen=0; -                  $gni_arg7 flags=0; -                  int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags); -                ]]) -              ],[ -                 curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7" -                 break 4 -              ]) +                    extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2, +                                           char *, $gni_arg46, +                                           char *, $gni_arg46, +                                           $gni_arg7); +                  ]],[[ +                    $gni_arg2 salen=0; +                    $gni_arg46 hostlen=0; +                    $gni_arg46 servlen=0; +                    $gni_arg7 flags=0; +                    int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags); +                  ]]) +                ],[ +                  curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7" +                ]) +              fi              done            done          done @@ -718,8 +720,9 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [            for recv_arg2 in 'char *' 'void *'; do              for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do                for recv_arg4 in 'int' 'unsigned int'; do -                AC_COMPILE_IFELSE([ -                  AC_LANG_PROGRAM([[ +                if test "$curl_cv_func_recv_args" = "unknown"; then +                  AC_COMPILE_IFELSE([ +                    AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -743,18 +746,19 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [  #endif  #define RECVCALLCONV  #endif -                    extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); -                  ]],[[ -                    $recv_arg1 s=0; -                    $recv_arg2 buf=0; -                    $recv_arg3 len=0; -                    $recv_arg4 flags=0; -                    $recv_retv res = recv(s, buf, len, flags); -                  ]]) -                ],[ -                   curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv" -                   break 5 -                ]) +                      extern $recv_retv RECVCALLCONV +                      recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); +                    ]],[[ +                      $recv_arg1 s=0; +                      $recv_arg2 buf=0; +                      $recv_arg3 len=0; +                      $recv_arg4 flags=0; +                      $recv_retv res = recv(s, buf, len, flags); +                    ]]) +                  ],[ +                    curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv" +                  ]) +                fi                done              done            done @@ -850,8 +854,9 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [            for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do              for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do                for send_arg4 in 'int' 'unsigned int'; do -                AC_COMPILE_IFELSE([ -                  AC_LANG_PROGRAM([[ +                if test "$curl_cv_func_send_args" = "unknown"; then +                  AC_COMPILE_IFELSE([ +                    AC_LANG_PROGRAM([[  #undef inline   #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -875,17 +880,18 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [  #endif  #define SENDCALLCONV  #endif -                    extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); -                  ]],[[ -                    $send_arg1 s=0; -                    $send_arg3 len=0; -                    $send_arg4 flags=0; -                    $send_retv res = send(s, 0, len, flags); -                  ]]) -                ],[ -                   curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv" -                   break 5 -                ]) +                      extern $send_retv SENDCALLCONV +                      send($send_arg1, $send_arg2, $send_arg3, $send_arg4); +                    ]],[[ +                      $send_arg1 s=0; +                      $send_arg3 len=0; +                      $send_arg4 flags=0; +                      $send_retv res = send(s, 0, len, flags); +                    ]]) +                  ],[ +                    curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv" +                  ]) +                fi                done              done            done @@ -1258,16 +1264,17 @@ dnl TYPE_IN_ADDR_T  dnl -------------------------------------------------  dnl Check for in_addr_t: it is used to receive the return code of inet_addr()  dnl and a few other things. -AC_DEFUN([TYPE_IN_ADDR_T], -[ -   AC_CHECK_TYPE([in_addr_t], ,[ -      AC_MSG_CHECKING([for in_addr_t equivalent]) -      AC_CACHE_VAL([curl_cv_in_addr_t_equiv], -      [ -         curl_cv_in_addr_t_equiv= -         for t in "unsigned long" int size_t unsigned long; do -            AC_LINK_IFELSE([ -              AC_LANG_PROGRAM([[ + +AC_DEFUN([TYPE_IN_ADDR_T], [ +  AC_CHECK_TYPE([in_addr_t], ,[ +    dnl in_addr_t not available +    AC_CACHE_CHECK([for in_addr_t equivalent], +      [curl_cv_in_addr_t_equiv], [ +      curl_cv_in_addr_t_equiv="unknown" +      for t in "unsigned long" int size_t unsigned long; do +        if test "$curl_cv_in_addr_t_equiv" = "unknown"; then +          AC_LINK_IFELSE([ +            AC_LANG_PROGRAM([[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1295,23 +1302,25 @@ AC_DEFUN([TYPE_IN_ADDR_T],  #include <arpa/inet.h>  #endif  #endif -              ]],[[ -                $t data = inet_addr ("1.2.3.4"); -              ]]) -            ],[ -              curl_cv_in_addr_t_equiv="$t" -              break -            ]) -         done - -         if test "x$curl_cv_in_addr_t_equiv" = x; then -            AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) -         fi -      ]) -      AC_MSG_RESULT($curl_cv_in_addr_t_equiv) -      AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, -			[type to use in place of in_addr_t if not defined])], -      [ +            ]],[[ +              $t data = inet_addr ("1.2.3.4"); +            ]]) +          ],[ +            curl_cv_in_addr_t_equiv="$t" +          ]) +        fi +      done +    ]) +    case "$curl_cv_in_addr_t_equiv" in +      unknown) +        AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t]) +        ;; +      *) +        AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv, +          [Type to use in place of in_addr_t when system does not provide it.]) +        ;; +    esac +  ],[  #undef inline  #ifdef HAVE_WINDOWS_H  #ifndef WIN32_LEAN_AND_MEAN @@ -1342,6 +1351,7 @@ AC_DEFUN([TYPE_IN_ADDR_T],    ]) dnl AC_CHECK_TYPE  ]) dnl AC_DEFUN +  dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC  dnl -------------------------------------------------  dnl Check if monotonic clock_gettime is available. @@ -1380,6 +1390,7 @@ AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [    dnl postponed until library linking checks for clock_gettime pass.  ]) dnl AC_DEFUN +  dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC  dnl -------------------------------------------------  dnl If monotonic clock_gettime is available then, @@ -1396,13 +1407,14 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [      curl_cv_gclk_LIBS="unknown"      #      for x_xlibs in '' '-lrt' '-lposix4' ; do -      if test -z "$x_xlibs"; then -        LIBS="$curl_cv_save_LIBS" -      else -        LIBS="$x_xlibs $curl_cv_save_LIBS" -      fi -      AC_LINK_IFELSE([ -        AC_LANG_PROGRAM([[ +      if test "$curl_cv_gclk_LIBS" = "unknown"; then +        if test -z "$x_xlibs"; then +          LIBS="$curl_cv_save_LIBS" +        else +          LIBS="$x_xlibs $curl_cv_save_LIBS" +        fi +        AC_LINK_IFELSE([ +          AC_LANG_PROGRAM([[  #ifdef HAVE_SYS_TYPES_H  #include <sys/types.h>  #endif @@ -1416,14 +1428,14 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [  #include <time.h>  #endif  #endif -        ]],[[ -          struct timespec ts; -          (void)clock_gettime(CLOCK_MONOTONIC, &ts); -        ]]) -      ],[ -        curl_cv_gclk_LIBS="$x_xlibs" -        break -      ]) +          ]],[[ +            struct timespec ts; +            (void)clock_gettime(CLOCK_MONOTONIC, &ts); +          ]]) +        ],[ +          curl_cv_gclk_LIBS="$x_xlibs" +        ]) +      fi      done      #      LIBS="$curl_cv_save_LIBS" @@ -1460,6 +1472,7 @@ AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [    #  ]) dnl AC_DEFUN +  dnl **********************************************************************  dnl CURL_DETECT_ICC ([ACTION-IF-YES])  dnl | 
