Annotation of embedaddon/mtr/configure.ac, revision 1.1

1.1     ! misho       1: AC_INIT([mtr], [0.85])
        !             2: AC_CONFIG_SRCDIR([mtr.c])
        !             3: AM_INIT_AUTOMAKE([foreign])
        !             4: 
        !             5: AC_CONFIG_FILES([version.h.tmp:version.h.in])
        !             6: 
        !             7: AC_SUBST(GTK_OBJ)
        !             8: AC_SUBST(CURSES_OBJ)
        !             9: 
        !            10: GTK_OBJ=gtk.o
        !            11: CURSES_OBJ=curses.o
        !            12: 
        !            13: AC_PROG_CC
        !            14: 
        !            15: AC_CHECK_SIZEOF(unsigned char, 1)
        !            16: AC_CHECK_SIZEOF(unsigned short, 2)
        !            17: AC_CHECK_SIZEOF(unsigned int, 4)
        !            18: AC_CHECK_SIZEOF(unsigned long, 4)
        !            19: 
        !            20: AC_CHECK_HEADERS(ncurses.h ncurses/curses.h curses.h cursesX.h sys/types.h fcntl.h)
        !            21: AC_CHECK_HEADERS(socket.h sys/socket.h sys/xti.h arpa/nameser_compat.h)
        !            22: 
        !            23: # We don't refer to any symbols in termcap, but -lcurses on SunOS does.
        !            24: # We have to trust the linker not to mess things up... (It should not
        !            25: # pull in anything if we don't refer to anything in the lib). 
        !            26: AC_CHECK_LIB(termcap, tgetent)
        !            27: AC_CHECK_LIB(tinfo, tgetent)
        !            28: 
        !            29: AC_CHECK_FUNC(initscr, , 
        !            30:   AC_CHECK_LIB(ncurses, initscr, , 
        !            31:     AC_CHECK_LIB(curses, initscr, , 
        !            32:       AC_CHECK_LIB(cursesX, initscr, , 
        !            33:        AC_MSG_WARN(Building without curses display support)
        !            34:        AC_DEFINE(NO_CURSES, 1, Define if you don't have the curses libraries available.)
        !            35:        CURSES_OBJ=))))
        !            36: 
        !            37: AC_CHECK_FUNCS(attron fcntl)
        !            38: 
        !            39: AC_CHECK_LIB(m, floor, , AC_MSG_ERROR(No math library found))
        !            40: 
        !            41: AC_ARG_WITH(gtk,
        !            42: [  --without-gtk           Do not try to use GTK+ at all],
        !            43: WANTS_GTK=$withval, WANTS_GTK=yes)
        !            44: 
        !            45: AC_ARG_WITH(glib,
        !            46: [  --without-glib          Do not try to use glib at all],
        !            47: WANTS_GLIB=$withval, WANTS_GLIB=yes)
        !            48: 
        !            49: AC_ARG_WITH([ipinfo],
        !            50: [  --without-ipinfo        Do not try to use ipinfo lookup at all],
        !            51: [case "${withval}" in
        !            52:   yes) ipinfo=true ;;
        !            53:   no)  ipinfo=false ;;
        !            54:   *) AC_MSG_ERROR([bad value ${withval} for --with-ipinfo]) ;;
        !            55: esac],[ipinfo=true])
        !            56: AM_CONDITIONAL([IPINFO], [test x$ipinfo = xtrue])
        !            57: if test "x$ipinfo" = "xfalse"; then
        !            58:        AC_DEFINE([NO_IPINFO], [1], [Define to disable ipinfo lookup])
        !            59: fi
        !            60: 
        !            61: AC_ARG_ENABLE(ipv6,
        !            62: [  --disable-ipv6          Do not enable IPv6],
        !            63: WANTS_IPV6=$enableval, WANTS_IPV6=yes)
        !            64:    
        !            65: if test "x$WANTS_GTK" = "xyes"; then
        !            66:         AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS"
        !            67:                            LIBS="$LIBS $GTK_LIBS -lm",
        !            68:                            AC_MSG_WARN(Building without GTK2 display support)
        !            69:                    AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
        !            70:                            GTK_OBJ="")
        !            71: else
        !            72:        AC_DEFINE(NO_GTK)
        !            73:        GTK_OBJ=""
        !            74:        if test "x$WANTS_GLIB" = "xyes"; then
        !            75:                PKG_CHECK_MODULES([GLIB], [glib-2.0])
        !            76:        else
        !            77:                AC_DEFINE(NO_GLIB, 1, [Define if you don't have the glib libraries available.])
        !            78:        fi
        !            79: fi
        !            80: 
        !            81: AC_CHECK_FUNC(socket, , 
        !            82:   AC_CHECK_LIB(socket, socket, , AC_MSG_ERROR(No socket library found)))
        !            83: 
        !            84: AC_CHECK_FUNC(gethostbyname, ,
        !            85:   AC_CHECK_LIB(nsl, gethostbyname, , AC_MSG_ERROR(No nameservice library found)))
        !            86: 
        !            87: #AC_CHECK_FUNC(res_init, , 
        !            88: #  AC_CHECK_LIB(bind, res_init, , 
        !            89: #   AC_CHECK_LIB(resolv, res_init, , AC_MSG_ERROR(No resolver library found))))
        !            90: 
        !            91: AC_CHECK_FUNCS(seteuid)
        !            92: #  AC_CHECK_FUNC(setuid, , AC_MSG_ERROR (I Need either seteuid or setuid))
        !            93: 
        !            94: #AC_CHECK_FUNC(res_mkquery, ,
        !            95: #  AC_CHECK_LIB(bind, res_mkquery, ,
        !            96: #   AC_CHECK_LIB(resolv, res_mkquery, ,
        !            97: #     AC_CHECK_LIB(resolv, __res_mkquery, , AC_MSG_ERROR(No resolver library found)))))
        !            98: 
        !            99: # See if a library is needed for res_mkquery and if so put it in RESOLV_LIBS
        !           100: RESOLV_LIBS=
        !           101: AC_SUBST(RESOLV_LIBS)
        !           102: AC_DEFUN([LIBRESOLVTEST_SRC], [
        !           103: AC_LANG_PROGRAM([[
        !           104: #include <netinet/in.h>
        !           105: #include <resolv.h>
        !           106: ]], [[
        !           107: int (*res_mkquery_func)(int,...) = (int (*)(int,...))res_mkquery;
        !           108: (void)(*res_mkquery_func)(0);
        !           109: ]])])
        !           110: AC_MSG_CHECKING([whether library required for res_mkquery])
        !           111: RESOLV_LIB_NONE=
        !           112: AC_LINK_IFELSE([LIBRESOLVTEST_SRC],
        !           113:        [AC_MSG_RESULT([no])
        !           114:        RESOLV_LIB_NONE=yes],
        !           115:        [AC_MSG_RESULT([yes])])
        !           116: if test "x$RESOLV_LIB_NONE" = "x"; then
        !           117:        AC_MSG_CHECKING([for res_mkquery in -lbind])
        !           118:        STASH_LIBS="$LIBS"
        !           119:        LIBS="$STASH_LIBS -lbind"
        !           120:        AC_LINK_IFELSE([LIBRESOLVTEST_SRC],
        !           121:                [AC_MSG_RESULT([yes])
        !           122:                RESOLV_LIBS=-lbind],
        !           123:                [AC_MSG_RESULT([no])])
        !           124:        if test "x$RESOLV_LIBS" = "x"; then
        !           125:                AC_MSG_CHECKING([for res_mkquery in -lresolv])
        !           126:                LIBS="$STASH_LIBS -lresolv"
        !           127:                AC_LINK_IFELSE([LIBRESOLVTEST_SRC],
        !           128:                        [AC_MSG_RESULT([yes])
        !           129:                        RESOLV_LIBS=-lresolv],
        !           130:                        [AC_MSG_RESULT([no])
        !           131:                         AC_MSG_ERROR(No resolver library found)])
        !           132:        fi
        !           133:        LIBS="$STASH_LIBS"
        !           134: fi
        !           135: 
        !           136: AC_CHECK_FUNC(herror, , AC_DEFINE(NO_HERROR, 1, [Define if you don't have the herror() function available.]))
        !           137: AC_CHECK_FUNC(strerror, , AC_DEFINE(NO_STRERROR, 1, [Define if you don't have the strerror() function available.]))
        !           138: 
        !           139: USES_IPV6=
        !           140: AC_CHECK_FUNC(getaddrinfo,
        !           141: [if test "$WANTS_IPV6" = "yes"; then
        !           142:        AC_DEFINE([ENABLE_IPV6], [], [Define to enable IPv6])
        !           143:        USES_IPV6=yes
        !           144: fi])
        !           145: 
        !           146: AC_DEFUN([NEED_RES_STATE_EXT_TEST_SRC], [
        !           147: AC_LANG_PROGRAM([[
        !           148: #include <netinet/in.h>
        !           149: #include <resolv.h>
        !           150: #ifdef __GLIBC__
        !           151: #define RESEXTIN6(r,i) (*(r._u._ext.nsaddrs[i]))
        !           152: #else
        !           153: #define RESEXTIN6(r,i) (r._u._ext.ext->nsaddrs[i].sin6)
        !           154: #endif
        !           155: ]], [[
        !           156: struct __res_state res;
        !           157: return RESEXTIN6(res,0).sin6_addr.s6_addr[0];
        !           158: ]])])
        !           159: AC_DEFUN([DEFINE_RES_STATE_EXT_TEST_SRC], [
        !           160: AC_LANG_PROGRAM([[
        !           161: #include <netinet/in.h>
        !           162: #include <resolv.h>
        !           163: #ifdef __GLIBC__
        !           164: #define RESEXTIN6(r,i) (*(r._u._ext.nsaddrs[i]))
        !           165: #else
        !           166: #define RESEXTIN6(r,i) (r._u._ext.ext->nsaddrs[i].sin6)
        !           167: struct __res_state_ext {
        !           168:        union res_sockaddr_union nsaddrs[MAXNS];
        !           169:        struct sort_list {
        !           170:                int     af;
        !           171:                union {
        !           172:                        struct in_addr  ina;
        !           173:                        struct in6_addr in6a;
        !           174:                } addr, mask;
        !           175:        } sort_list[MAXRESOLVSORT];
        !           176:        char nsuffix[64];
        !           177:        char nsuffix2[64];
        !           178: };
        !           179: #endif
        !           180: ]], [[
        !           181: struct __res_state res;
        !           182: return RESEXTIN6(res,0).sin6_addr.s6_addr[0];
        !           183: ]])])
        !           184: if test "x$USES_IPV6" = "xyes"; then
        !           185:        AC_MSG_CHECKING([whether __res_state_ext needs to be defined])
        !           186:        AC_COMPILE_IFELSE([NEED_RES_STATE_EXT_TEST_SRC],
        !           187:                [AC_MSG_RESULT([no])],
        !           188:                [AC_MSG_RESULT([yes])
        !           189:                AC_MSG_CHECKING([whether provided __res_state_ext definition can be compiled])
        !           190:                AC_COMPILE_IFELSE([DEFINE_RES_STATE_EXT_TEST_SRC],
        !           191:                        [AC_MSG_RESULT([yes])
        !           192:                        AC_DEFINE(NEED_RES_STATE_EXT, 1, [Define if struct __res_state_ext needs to be defined.])],
        !           193:                        [AC_MSG_RESULT([no])
        !           194:                        AC_MSG_ERROR(Need definition for struct __res_state_ext but unable to define it.)])])
        !           195: fi
        !           196: 
        !           197: AC_CHECK_DECLS(errno, , , [[
        !           198: #include <errno.h>
        !           199: #include <sys/errno.h>
        !           200: ]] )
        !           201: 
        !           202: AC_CHECK_TYPE(socklen_t, AC_DEFINE([HAVE_SOCKLEN_T], [], [Define if your system has socklen_t]) , , [[
        !           203: #include <netinet/in.h>
        !           204: #ifdef HAVE_SOCKET_H
        !           205: #include <socket.h>
        !           206: #endif
        !           207: #ifdef HAVE_SYS_SOCKET_H
        !           208: #include <sys/socket.h>
        !           209: #endif
        !           210: ]])
        !           211: 
        !           212: AC_CHECK_TYPE(struct in_addr, AC_DEFINE([HAVE_STRUCT_INADDR], [], [Define if you have struct in_addr]), , [[
        !           213: #include <netinet/in.h>
        !           214: ]])
        !           215: 
        !           216: dnl Add C flags to display more warnings
        !           217: AC_MSG_CHECKING(for C flags to get more warnings)
        !           218: ac_save_CFLAGS="$CFLAGS"
        !           219: if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then
        !           220:   dnl gcc is the easiest C compiler
        !           221:   warning_CFLAGS="-Wall"
        !           222:   # Check if compiler supports -Wno-pointer-sign and add it if supports
        !           223:   CFLAGS_saved="$CFLAGS"
        !           224:   CFLAGS="$CFLAGS -Wno-pointer-sign"
        !           225:   AC_COMPILE_IFELSE([ AC_LANG_SOURCE([[ int foo; ]])],
        !           226:                   [ warning_CFLAGS="${warning_CFLAGS} -Wno-pointer-sign" ],)
        !           227:   CFLAGS="$CFLAGS_saved"
        !           228: else
        !           229:   dnl Vendor supplied C compilers are a bit tricky
        !           230:   case "$host_os" in
        !           231:     dnl SGI IRIX with the MipsPRO C compiler
        !           232:     irix*)
        !           233:       CFLAGS="$CFLAGS -fullwarn"
        !           234:       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("test");]])],[warning_CFLAGS="-fullwarn"],[])
        !           235:       ;;
        !           236: 
        !           237:     dnl SunOS 4.x with the SparcWorks(?) acc compiler
        !           238:     sunos*)
        !           239:         if "$CC" = "acc" ; then
        !           240:           CFLAGS="$CFLAGS -vc"
        !           241:           AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("test");]])],[warning_CFLAGS="-vc"],[])
        !           242:         fi
        !           243:       ;;
        !           244: 
        !           245:     dnl Unknown, do nothing
        !           246:     *)
        !           247:       warning_CFLAGS="none"
        !           248:       ;;
        !           249:   esac
        !           250: fi
        !           251: CFLAGS="$ac_save_CFLAGS"
        !           252: if test "$warning_CFLAGS" = "none" ; then
        !           253:   AC_MSG_RESULT(none)
        !           254: else
        !           255:   CFLAGS="$CFLAGS $warning_CFLAGS"
        !           256:   AC_MSG_RESULT($warning_CFLAGS)
        !           257: fi
        !           258: 
        !           259: 
        !           260: 
        !           261: 
        !           262: AC_CONFIG_HEADERS([config.h])
        !           263: AC_CONFIG_FILES([Makefile img/Makefile])
        !           264: AC_OUTPUT
        !           265: 

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