Diff for /aclocal.m4 between versions 1.2.2.3 and 1.3

version 1.2.2.3, 1998/12/31 19:32:03 version 1.3, 1998/11/22 03:22:29
Line 10  dnl but WITHOUT ANY WARRANTY, to the ext Line 10  dnl but WITHOUT ANY WARRANTY, to the ext
 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A  dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 dnl PARTICULAR PURPOSE.  dnl PARTICULAR PURPOSE.
   
 dnl Copyright 1998 The OpenLDAP Foundation,  All Rights Reserved.  
 dnl COPYING RESTRICTIONS APPLY, See COPYRIGHT file  
 dnl  dnl
 dnl OpenLDAP Autoconf Macros  dnl OpenLDAP Autoconf Macros
 dnl  dnl
Line 508  AC_DEFUN(AM_TYPE_PTRDIFF_T, Line 506  AC_DEFUN(AM_TYPE_PTRDIFF_T,
    fi     fi
 ])  ])
   
   #serial 4
   
   dnl From Jim Meyering.
   dnl FIXME: this should migrate into libit.
   
   AC_DEFUN(AM_FUNC_MKTIME,
   [AC_REQUIRE([AC_HEADER_TIME])dnl
    AC_CHECK_HEADERS(sys/time.h unistd.h)
    AC_CHECK_FUNCS(alarm)
    AC_CACHE_CHECK([for working mktime], am_cv_func_working_mktime,
     [AC_TRY_RUN(
   changequote(<<, >>)dnl
   <</* Test program from Paul Eggert (eggert@twinsun.com)
      and Tony Leneis (tony@plaza.ds.adp.com).  */
   #if TIME_WITH_SYS_TIME
   # include <sys/time.h>
   # include <time.h>
   #else
   # if HAVE_SYS_TIME_H
   #  include <sys/time.h>
   # else
   #  include <time.h>
   # endif
   #endif
   
   #if HAVE_UNISTD_H
   # include <unistd.h>
   #endif
   
   #if !HAVE_ALARM
   # define alarm(X) /* empty */
   #endif
   
   /* Work around redefinition to rpl_putenv by other config tests.  */
   #undef putenv
   
   static time_t time_t_max;
   
   /* Values we'll use to set the TZ environment variable.  */
   static const char *const tz_strings[] = {
     (const char *) 0, "GMT0", "JST-9",
     "EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
   };
   #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
   
   static void
   mktime_test (now)
        time_t now;
   {
     struct tm *lt;
     if ((lt = localtime (&now)) && mktime (lt) != now)
       exit (1);
     now = time_t_max - now;
     if ((lt = localtime (&now)) && mktime (lt) != now)
       exit (1);
   }
   
   static void
   irix_6_4_bug ()
   {
     /* Based on code from Ariel Faigon.  */
     struct tm tm;
     tm.tm_year = 96;
     tm.tm_mon = 3;
     tm.tm_mday = 0;
     tm.tm_hour = 0;
     tm.tm_min = 0;
     tm.tm_sec = 0;
     tm.tm_isdst = -1;
     mktime (&tm);
     if (tm.tm_mon != 2 || tm.tm_mday != 31)
       exit (1);
   }
   
   static void
   bigtime_test (j)
        int j;
   {
     struct tm tm;
     time_t now;
     tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
     /* This test makes some buggy mktime implementations loop.
        Give up after 10 seconds.  */
     alarm (10);
     now = mktime (&tm);
     alarm (0);
     if (now != (time_t) -1)
       {
         struct tm *lt = localtime (&now);
         if (! (lt
                && lt->tm_year == tm.tm_year
                && lt->tm_mon == tm.tm_mon
                && lt->tm_mday == tm.tm_mday
                && lt->tm_hour == tm.tm_hour
                && lt->tm_min == tm.tm_min
                && lt->tm_sec == tm.tm_sec
                && lt->tm_yday == tm.tm_yday
                && lt->tm_wday == tm.tm_wday
                && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
                     == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
           exit (1);
       }
   }
   
   int
   main ()
   {
     time_t t, delta;
     int i, j;
   
     for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
       continue;
     time_t_max--;
     delta = time_t_max / 997; /* a suitable prime number */
     for (i = 0; i < N_STRINGS; i++)
       {
         if (tz_strings[i])
           putenv (tz_strings[i]);
   
         for (t = 0; t <= time_t_max - delta; t += delta)
           mktime_test (t);
         mktime_test ((time_t) 60 * 60);
         mktime_test ((time_t) 60 * 60 * 24);
   
         for (j = 1; 0 < j; j *= 2)
           bigtime_test (j);
         bigtime_test (j - 1);
       }
     irix_6_4_bug ();
     exit (0);
   }
                 >>,
   changequote([, ])dnl
                am_cv_func_working_mktime=yes, am_cv_func_working_mktime=no,
                dnl When crosscompiling, assume mktime is missing or broken.
                am_cv_func_working_mktime=no)
     ])
     if test $am_cv_func_working_mktime = no; then
       LIBOBJS="$LIBOBJS mktime.o"
     fi
   ])
   
   
   
   
   
   
   
   
   AC_DEFUN(AM_FUNC_STRTOD,
   [AC_CACHE_CHECK(for working strtod, am_cv_func_strtod,
   [AC_TRY_RUN([
   double strtod ();
   int
   main()
   {
     {
       /* Some versions of Linux strtod mis-parse strings with leading '+'.  */
       char *string = " +69";
       char *term;
       double value;
       value = strtod (string, &term);
       if (value != 69 || term != (string + 4))
         exit (1);
     }
   
     {
       /* Under Solaris 2.4, strtod returns the wrong value for the
          terminating character under some conditions.  */
       char *string = "NaN";
       char *term;
       strtod (string, &term);
       if (term != string && *(term - 1) == 0)
         exit (1);
     }
     exit (0);
   }
   ], am_cv_func_strtod=yes, am_cv_func_strtod=no, am_cv_func_strtod=no)])
   test $am_cv_func_strtod = no && LIBOBJS="$LIBOBJS strtod.o"
   AC_SUBST(LIBOBJS)dnl
   am_cv_func_strtod_needs_libm=no
   if test $am_cv_func_strtod = no; then
     AC_CHECK_FUNCS(pow)
     if test $ac_cv_func_pow = no; then
       AC_CHECK_LIB(m, pow, [am_cv_func_strtod_needs_libm=yes],
                    [AC_MSG_WARN(can't find library containing definition of pow)])
     fi
   fi
   ])
   

Removed from v.1.2.2.3  
changed lines
  Added in v.1.3


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org