Diff for /embedaddon/bird/aclocal.m4 between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2017/08/22 12:33:54 version 1.1.1.2, 2021/03/17 19:50:23
Line 1 Line 1
 dnl ** Additional Autoconf tests for BIRD configure script  dnl ** Additional Autoconf tests for BIRD configure script
 dnl ** (c) 1999 Martin Mares <mj@ucw.cz>  dnl ** (c) 1999 Martin Mares <mj@ucw.cz>
   
AC_DEFUN(BIRD_CHECK_INTEGERS,AC_DEFUN([BIRD_CHECK_PTHREADS],
[AC_CHECK_SIZEOF(char, 0)[
AC_CHECK_SIZEOF(short int, 0)  bird_tmp_cflags="$CFLAGS"
AC_CHECK_SIZEOF(int, 0)  CFLAGS="$CFLAGS -pthread"
AC_CHECK_SIZEOF(long int, 0) 
AC_CHECK_SIZEOF(long long int, 0) 
for size in 1 2 4 8; do 
        bits=`expr $size "*" 8` 
        AC_MSG_CHECKING([for $bits-bit type]) 
        if test $ac_cv_sizeof_int = $size ; then 
                res=int 
        elif test $ac_cv_sizeof_char = $size ; then 
                res=char 
        elif test $ac_cv_sizeof_short_int = $size ; then 
                res="short int" 
        elif test $ac_cv_sizeof_long_int = $size ; then 
                res="long int" 
        elif test $ac_cv_sizeof_long_long_int = $size ; then 
                res="long long int" 
        else 
                AC_MSG_RESULT([not found]) 
                AC_MSG_ERROR([Cannot find $bits-bit integer type.]) 
        fi 
        AC_MSG_RESULT($res) 
        AC_DEFINE_UNQUOTED(INTEGER_$bits, $res) 
        done 
]) 
   
dnl BIRD_CHECK_ENDIAN is unused and obsolete  AC_CACHE_CHECK(
AC_DEFUN(BIRD_CHECK_ENDIAN,    [whether POSIX threads are available],
[AC_CACHE_CHECK([CPU endianity], bird_cv_c_endian,[    [bird_cv_lib_pthreads],
AC_TRY_RUN([    [
#include <stdio.h>      AC_LINK_IFELSE(
         [
           AC_LANG_PROGRAM(
             [ #include <pthread.h> ],
             [
               pthread_t pt;
               pthread_create(&pt, NULL, NULL, NULL);
               pthread_spinlock_t lock;
               pthread_spin_lock(&lock);
             ]
           )
         ],
         [bird_cv_lib_pthreads=yes],
         [bird_cv_lib_pthreads=no]
       )
     ]
   )
   
unsigned int x = 0x12345678;  CFLAGS="$bird_tmp_cflags"
unsigned char *z = (unsigned char *) &x; 
 
int main(void) 
{ 
  FILE *f = fopen("conftestresult", "w"); 
  if (!f) return 10; 
  fprintf(f, "%02x %02x %02x %02x", *z, *(z+1), *(z+2), *(z+3)); 
  fclose(f); 
  exit(0); 
} 
],[ 
        endian=`cat conftestresult` 
        if test "$endian" = "12 34 56 78" ; then 
                bird_cv_c_endian=big-endian 
        elif test "$endian" = "78 56 34 12" ; then 
                bird_cv_c_endian=little-endian 
        fi 
],[endian="test program failed"],[endian="not available, we're cross compiling"]) 
if test -z "$bird_cv_c_endian" ; then 
        AC_MSG_RESULT($endian) 
        AC_MSG_ERROR([Cannot determine CPU endianity.]) 
        fi 
 ])  ])
 case $bird_cv_c_endian in  
         big-endian)     AC_DEFINE(CPU_BIG_ENDIAN) ;;  
         little-endian)  AC_DEFINE(CPU_LITTLE_ENDIAN) ;;  
         esac  
 ])  
   
AC_DEFUN(BIRD_CHECK_STRUCT_ALIGN,AC_DEFUN([BIRD_CHECK_ANDROID_GLOB],
[AC_CACHE_CHECK([usual alignment of structures],bird_cv_c_struct_align,[[
AC_TRY_RUN([  AC_CACHE_CHECK(
#include <stdio.h>    [for glob.h],
    [bird_cv_lib_glob],
struct { char x; long int y; } ary[2];    AC_LINK_IFELSE([
      AC_LANG_PROGRAM(
int main(void)        [
{          #include <glob.h>
  FILE *f = fopen("conftestresult", "w");          #include <stdlib.h>
  if (!f) return 10;        ],
  fprintf(f, "%d", sizeof(ary)/2);        [ glob(NULL, 0, NULL, NULL); ]
  fclose(f);      )
  exit(0);    ],
}    [bird_cv_lib_glob=yes],
],[      [
bird_cv_c_struct_align=`cat conftestresult`        bird_tmp_libs="$LIBS"
],[        LIBS="$LIBS -landroid-glob"
AC_MSG_RESULT([test program failed])        AC_LINK_IFELSE([
AC_MSG_ERROR([Cannot determine structure alignment])          AC_LANG_PROGRAM(
],[bird_cv_c_struct_align=16])            [
               #include <glob.h>
               #include <stdlib.h>
             ],
             [ glob(NULL, 0, NULL, NULL); ]
           )
         ],
         [bird_cv_lib_glob=-landroid-glob],
         [bird_cv_lib_glob=no]
         )
         LIBS="$bird_tmp_libs"
       ]
     )
   )
 ])  ])
 AC_DEFINE_UNQUOTED(CPU_STRUCT_ALIGN, $bird_cv_c_struct_align)  
 ])  
   
AC_DEFUN(BIRD_CHECK_TIME_T,AC_DEFUN([BIRD_CHECK_ANDROID_LOG],
[AC_CACHE_CHECK([characteristics of time_t], bird_cv_type_time_t, [ 
AC_TRY_RUN([ 
#include <stdio.h> 
#include <sys/time.h> 
#include <limits.h> 
 
int main(void) 
{ 
  FILE *f = fopen("conftestresult", "w"); 
  if (!f) return 10; 
  fprintf(f, "%d-bit ", sizeof(time_t)*CHAR_BIT); 
  if ((time_t) -1 > 0) fprintf(f, "un"); 
  fprintf(f, "signed"); 
  fclose(f); 
  exit(0); 
} 
],[bird_cv_type_time_t=`cat conftestresult` 
],[     AC_MSG_RESULT([test program failed]) 
        AC_MSG_ERROR([Cannot determine time_t size and signedness.]) 
],[bird_cv_type_time_t="32-bit signed"]) 
]) 
case "$bird_cv_type_time_t" in 
        *64-bit*)       AC_DEFINE(TIME_T_IS_64BIT) ;; 
        esac 
case "$bird_cv_type_time_t" in 
        *unsigned*)     ;; 
        *)              AC_DEFINE(TIME_T_IS_SIGNED) ;; 
        esac 
]) 
 
AC_DEFUN(BIRD_CHECK_STRUCT_IP_MREQN, 
[AC_CACHE_CHECK([for struct ip_mreqn], bird_cv_struct_ip_mreqn,[ 
AC_TRY_COMPILE([#include <netinet/in.h> 
],[struct ip_mreqn x; 
],[bird_cv_struct_ip_mreqn=yes 
],[bird_cv_struct_ip_mreqn=no 
])]) 
if test "$bird_cv_struct_ip_mreqn" = yes ; then 
        AC_DEFINE(HAVE_STRUCT_IP_MREQN) 
fi 
]) 
 
AC_DEFUN(BIRD_CHECK_PTHREADS, 
 [  [
  bird_tmp_cflags="$CFLAGS"  AC_CACHE_CHECK(
    [for syslog lib flags],
  CFLAGS="$CFLAGS -pthread"    [bird_cv_lib_log],
  AC_CACHE_CHECK([whether POSIX threads are available], bird_cv_lib_pthreads,    AC_LINK_IFELSE([
    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_t pt; pthread_create(&pt, NULL, NULL, NULL); pthread_spinlock_t lock; pthread_spin_lock(&lock); ]])],      AC_LANG_PROGRAM(
                    [bird_cv_lib_pthreads=yes], [bird_cv_lib_pthreads=no])])        [ #include <sys/syslog.h> ],
        [ syslog(0, ""); ]
  CFLAGS="$bird_tmp_cflags"      )
     ],
     [bird_cv_lib_log=yes],
       [
         bird_tmp_libs="$LIBS"
         LIBS="$LIBS -llog"
         AC_LINK_IFELSE([
           AC_LANG_PROGRAM(
             [ #include <sys/syslog.h> ],
             [ syslog(0, ""); ]
           )
         ],
         [bird_cv_lib_log=-llog],
         [bird_cv_lib_log=no]
         )
         LIBS="$bird_tmp_libs"
       ]
     )
   )
 ])  ])
   
AC_DEFUN(BIRD_CHECK_GCC_OPTION,AC_DEFUN([BIRD_CHECK_GCC_OPTION],
 [  [
   bird_tmp_cflags="$CFLAGS"    bird_tmp_cflags="$CFLAGS"
   
   CFLAGS="$3 $2"    CFLAGS="$3 $2"
   AC_CACHE_CHECK([whether CC supports $2], $1,  
     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], [$1=yes], [$1=no])])  
   
     AC_CACHE_CHECK(
       [whether CC supports $2],
       [$1],
       [
         AC_COMPILE_IFELSE(
           [AC_LANG_PROGRAM()],
           [$1=yes],
           [$1=no]
         )
       ]
     )
   
   CFLAGS="$bird_tmp_cflags"    CFLAGS="$bird_tmp_cflags"
 ])  ])
   
AC_DEFUN(BIRD_ADD_GCC_OPTION,AC_DEFUN([BIRD_ADD_GCC_OPTION],
 [  [
   if test "$$1" = yes ; then    if test "$$1" = yes ; then
     CFLAGS="$CFLAGS $2"      CFLAGS="$CFLAGS $2"
Line 164  AC_DEFUN(BIRD_ADD_GCC_OPTION, Line 125  AC_DEFUN(BIRD_ADD_GCC_OPTION,
 ])  ])
   
 # BIRD_CHECK_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE])  # BIRD_CHECK_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE])
# copied autoconf internal _AC_PATH_PROG_FLAVOR_GNU# copied from autoconf internal _AC_PATH_PROG_FLAVOR_GNU
m4_define([BIRD_CHECK_PROG_FLAVOR_GNU],AC_DEFUN([BIRD_CHECK_PROG_FLAVOR_GNU],
[# Check for GNU $1[
case `"$1" --version 2>&1` in  # Check for GNU $1
*GNU*)  case `"$1" --version 2>&1` in
  $2;;    *GNU*)
m4_ifval([$3],      $2
[*)      ;;
  $3;;  m4_ifval([$3],
])esac    [*)
])#      $3
       ;;
     ]
   )
   esac
 ])

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>