Annotation of embedaddon/bird/aclocal.m4, revision 1.1

1.1     ! misho       1: dnl ** Additional Autoconf tests for BIRD configure script
        !             2: dnl ** (c) 1999 Martin Mares <mj@ucw.cz>
        !             3: 
        !             4: AC_DEFUN(BIRD_CHECK_INTEGERS,
        !             5: [AC_CHECK_SIZEOF(char, 0)
        !             6: AC_CHECK_SIZEOF(short int, 0)
        !             7: AC_CHECK_SIZEOF(int, 0)
        !             8: AC_CHECK_SIZEOF(long int, 0)
        !             9: AC_CHECK_SIZEOF(long long int, 0)
        !            10: for size in 1 2 4 8; do
        !            11:        bits=`expr $size "*" 8`
        !            12:        AC_MSG_CHECKING([for $bits-bit type])
        !            13:        if test $ac_cv_sizeof_int = $size ; then
        !            14:                res=int
        !            15:        elif test $ac_cv_sizeof_char = $size ; then
        !            16:                res=char
        !            17:        elif test $ac_cv_sizeof_short_int = $size ; then
        !            18:                res="short int"
        !            19:        elif test $ac_cv_sizeof_long_int = $size ; then
        !            20:                res="long int"
        !            21:        elif test $ac_cv_sizeof_long_long_int = $size ; then
        !            22:                res="long long int"
        !            23:        else
        !            24:                AC_MSG_RESULT([not found])
        !            25:                AC_MSG_ERROR([Cannot find $bits-bit integer type.])
        !            26:        fi
        !            27:        AC_MSG_RESULT($res)
        !            28:        AC_DEFINE_UNQUOTED(INTEGER_$bits, $res)
        !            29:        done
        !            30: ])
        !            31: 
        !            32: dnl BIRD_CHECK_ENDIAN is unused and obsolete
        !            33: AC_DEFUN(BIRD_CHECK_ENDIAN,
        !            34: [AC_CACHE_CHECK([CPU endianity], bird_cv_c_endian,[
        !            35: AC_TRY_RUN([
        !            36: #include <stdio.h>
        !            37: 
        !            38: unsigned int x = 0x12345678;
        !            39: unsigned char *z = (unsigned char *) &x;
        !            40: 
        !            41: int main(void)
        !            42: {
        !            43:   FILE *f = fopen("conftestresult", "w");
        !            44:   if (!f) return 10;
        !            45:   fprintf(f, "%02x %02x %02x %02x", *z, *(z+1), *(z+2), *(z+3));
        !            46:   fclose(f);
        !            47:   exit(0);
        !            48: }
        !            49: ],[
        !            50:        endian=`cat conftestresult`
        !            51:        if test "$endian" = "12 34 56 78" ; then
        !            52:                bird_cv_c_endian=big-endian
        !            53:        elif test "$endian" = "78 56 34 12" ; then
        !            54:                bird_cv_c_endian=little-endian
        !            55:        fi
        !            56: ],[endian="test program failed"],[endian="not available, we're cross compiling"])
        !            57: if test -z "$bird_cv_c_endian" ; then
        !            58:        AC_MSG_RESULT($endian)
        !            59:        AC_MSG_ERROR([Cannot determine CPU endianity.])
        !            60:        fi
        !            61: ])
        !            62: case $bird_cv_c_endian in
        !            63:        big-endian)     AC_DEFINE(CPU_BIG_ENDIAN) ;;
        !            64:        little-endian)  AC_DEFINE(CPU_LITTLE_ENDIAN) ;;
        !            65:        esac
        !            66: ])
        !            67: 
        !            68: AC_DEFUN(BIRD_CHECK_STRUCT_ALIGN,
        !            69: [AC_CACHE_CHECK([usual alignment of structures],bird_cv_c_struct_align,[
        !            70: AC_TRY_RUN([
        !            71: #include <stdio.h>
        !            72: 
        !            73: struct { char x; long int y; } ary[2];
        !            74: 
        !            75: int main(void)
        !            76: {
        !            77:   FILE *f = fopen("conftestresult", "w");
        !            78:   if (!f) return 10;
        !            79:   fprintf(f, "%d", sizeof(ary)/2);
        !            80:   fclose(f);
        !            81:   exit(0);
        !            82: }
        !            83: ],[
        !            84: bird_cv_c_struct_align=`cat conftestresult`
        !            85: ],[
        !            86: AC_MSG_RESULT([test program failed])
        !            87: AC_MSG_ERROR([Cannot determine structure alignment])
        !            88: ],[bird_cv_c_struct_align=16])
        !            89: ])
        !            90: AC_DEFINE_UNQUOTED(CPU_STRUCT_ALIGN, $bird_cv_c_struct_align)
        !            91: ])
        !            92: 
        !            93: AC_DEFUN(BIRD_CHECK_TIME_T,
        !            94: [AC_CACHE_CHECK([characteristics of time_t], bird_cv_type_time_t, [
        !            95: AC_TRY_RUN([
        !            96: #include <stdio.h>
        !            97: #include <sys/time.h>
        !            98: #include <limits.h>
        !            99: 
        !           100: int main(void)
        !           101: {
        !           102:   FILE *f = fopen("conftestresult", "w");
        !           103:   if (!f) return 10;
        !           104:   fprintf(f, "%d-bit ", sizeof(time_t)*CHAR_BIT);
        !           105:   if ((time_t) -1 > 0) fprintf(f, "un");
        !           106:   fprintf(f, "signed");
        !           107:   fclose(f);
        !           108:   exit(0);
        !           109: }
        !           110: ],[bird_cv_type_time_t=`cat conftestresult`
        !           111: ],[    AC_MSG_RESULT([test program failed])
        !           112:        AC_MSG_ERROR([Cannot determine time_t size and signedness.])
        !           113: ],[bird_cv_type_time_t="32-bit signed"])
        !           114: ])
        !           115: case "$bird_cv_type_time_t" in
        !           116:        *64-bit*)       AC_DEFINE(TIME_T_IS_64BIT) ;;
        !           117:        esac
        !           118: case "$bird_cv_type_time_t" in
        !           119:        *unsigned*)     ;;
        !           120:        *)              AC_DEFINE(TIME_T_IS_SIGNED) ;;
        !           121:        esac
        !           122: ])
        !           123: 
        !           124: AC_DEFUN(BIRD_CHECK_STRUCT_IP_MREQN,
        !           125: [AC_CACHE_CHECK([for struct ip_mreqn], bird_cv_struct_ip_mreqn,[
        !           126: AC_TRY_COMPILE([#include <netinet/in.h>
        !           127: ],[struct ip_mreqn x;
        !           128: ],[bird_cv_struct_ip_mreqn=yes
        !           129: ],[bird_cv_struct_ip_mreqn=no
        !           130: ])])
        !           131: if test "$bird_cv_struct_ip_mreqn" = yes ; then
        !           132:        AC_DEFINE(HAVE_STRUCT_IP_MREQN)
        !           133: fi
        !           134: ])
        !           135: 
        !           136: AC_DEFUN(BIRD_CHECK_PTHREADS,
        !           137: [
        !           138:   bird_tmp_cflags="$CFLAGS"
        !           139: 
        !           140:   CFLAGS="$CFLAGS -pthread"
        !           141:   AC_CACHE_CHECK([whether POSIX threads are available], bird_cv_lib_pthreads,
        !           142:     [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); ]])],
        !           143:                    [bird_cv_lib_pthreads=yes], [bird_cv_lib_pthreads=no])])
        !           144: 
        !           145:   CFLAGS="$bird_tmp_cflags"
        !           146: ])
        !           147: 
        !           148: AC_DEFUN(BIRD_CHECK_GCC_OPTION,
        !           149: [
        !           150:   bird_tmp_cflags="$CFLAGS"
        !           151: 
        !           152:   CFLAGS="$3 $2"
        !           153:   AC_CACHE_CHECK([whether CC supports $2], $1,
        !           154:     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], [$1=yes], [$1=no])])
        !           155: 
        !           156:   CFLAGS="$bird_tmp_cflags"
        !           157: ])
        !           158: 
        !           159: AC_DEFUN(BIRD_ADD_GCC_OPTION,
        !           160: [
        !           161:   if test "$$1" = yes ; then
        !           162:     CFLAGS="$CFLAGS $2"
        !           163:   fi
        !           164: ])
        !           165: 
        !           166: # BIRD_CHECK_PROG_FLAVOR_GNU(PROGRAM-PATH, IF-SUCCESS, [IF-FAILURE])
        !           167: # copied autoconf internal _AC_PATH_PROG_FLAVOR_GNU
        !           168: m4_define([BIRD_CHECK_PROG_FLAVOR_GNU],
        !           169: [# Check for GNU $1
        !           170: case `"$1" --version 2>&1` in
        !           171: *GNU*)
        !           172:   $2;;
        !           173: m4_ifval([$3],
        !           174: [*)
        !           175:   $3;;
        !           176: ])esac
        !           177: ])#

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