File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / mtr / configure.ac
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 00:07:30 2021 UTC (3 years, 2 months ago) by misho
Branches: mtr, elwix, MAIN
CVS tags: v0_95, v0_94, HEAD
mtr 0.94

    1: AC_PREREQ([2.59])
    2: AC_INIT([mtr],
    3:   [m4_esyscmd([build-aux/git-version-gen .tarball-version])],
    4:   [R.E.Wolff@BitWizard.nl], [],
    5:   [http://www.BitWizard.nl/mtr/])
    6: AC_CONFIG_SRCDIR([ui/mtr.c])
    7: AC_CONFIG_AUX_DIR([build-aux])
    8: AC_USE_SYSTEM_EXTENSIONS
    9: AM_INIT_AUTOMAKE([
   10:   1.7.9
   11:   foreign
   12:   subdir-objects
   13: ])
   14: 
   15: # --enable-silent-rules
   16: m4_ifdef([AM_SILENT_RULES],
   17:   [AM_SILENT_RULES([yes])],
   18:   [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
   19: 
   20: AC_CANONICAL_HOST
   21: AC_PROG_CC
   22: 
   23: # Check pkg-config availability.
   24: m4_ifndef([PKG_CHECK_MODULES], [m4_defun([PKG_CHECK_MODULES], [AC_MSG_ERROR(
   25: [Could not locate the pkg-config autoconf macros.  These are usually located
   26: in /usr/share/aclocal/pkg.m4.  If your macros are in a different location,
   27: try setting the environment variable ACLOCAL_OPTS="-I/other/macro/dir"
   28: before running ./bootstrap.sh again, or configure --without-gtk ----without-jansson ])])
   29: ])
   30: PKG_PROG_PKG_CONFIG
   31: 
   32: AM_CONDITIONAL([CYGWIN], [test "$host_os" = cygwin])
   33: AM_COND_IF([CYGWIN],
   34:            [AC_DEFINE([USING_CYGWIN], [1], [Building Under Cygwin.])],
   35:            [])
   36: 
   37: # Check bytes in types.
   38: AC_CHECK_SIZEOF([unsigned char], [1])
   39: AC_CHECK_SIZEOF([unsigned short], [2])
   40: AC_CHECK_SIZEOF([unsigned int], [4])
   41: AC_CHECK_SIZEOF([unsigned long], [4])
   42: 
   43: # Check headers.
   44: AC_CHECK_HEADERS([ \
   45:   arpa/nameser_compat.h \
   46:   curses.h \
   47:   cursesX.h \
   48:   error.h \
   49:   fcntl.h \
   50:   linux/icmp.h \
   51:   linux/errqueue.h \
   52:   ncurses.h \
   53:   ncurses/curses.h \
   54:   netinet/in.h \
   55:   socket.h \
   56:   sys/cdefs.h \
   57:   sys/limits.h \
   58:   sys/socket.h \
   59:   stdio_ext.h \
   60:   sys/types.h \
   61:   sys/xti.h \
   62:   values.h \
   63: ])
   64: 
   65: # Check functions.
   66: AC_CHECK_FUNCS([ \
   67:   __fpending \
   68:   fcntl \
   69: ])
   70: 
   71: AC_CHECK_FUNC([error], [with_error=no],
   72:   [AC_CHECK_FUNCS([verr verrx vwarn vwarnx], [with_error=yes],
   73:     [AC_MSG_ERROR([cannot find working error printing function])
   74:   ])
   75: ])
   76: AM_CONDITIONAL([WITH_ERROR], [test "x$with_error" = "xyes"])
   77: 
   78: AC_CHECK_FUNC([getopt_long], [with_getopt=no], [with_getopt=yes])
   79: AS_IF([test "x$with_getopt" = "xno"], [
   80:   AC_DEFINE([HAVE_GETOPT], [1], [Define if libc has getopt_long])
   81: ])
   82: AM_CONDITIONAL([WITH_GETOPT], [test "x$with_getopt" = "xyes"])
   83: 
   84: AC_CHECK_LIB([m], [floor], [], [AC_MSG_ERROR([No math library found])])
   85: 
   86: # libasan
   87: AC_ARG_WITH([libasan],
   88:  [AS_HELP_STRING([--with-libasan], [Build with AddressSanitizer])],
   89:  [with_libasan=yes], [])
   90: AM_CONDITIONAL([WITH_LIBASAN], [test "x$with_libasan" = "xyes"])
   91: 
   92: # Find GTK
   93: AC_ARG_WITH([gtk],
   94:   [AS_HELP_STRING([--without-gtk], [Build without the GTK+ interface])],
   95:   [], [with_gtk=yes])
   96: AS_IF([test "x$with_gtk" = "xyes"],
   97:   [PKG_CHECK_MODULES([GTK], [gtk+-3.0],
   98:     [AC_DEFINE([HAVE_GTK], [1], [Define if gtk+ library available])]
   99:       [AC_DEFINE([HAVE_GTK3], [1], [Define if gtk+-3.0 library available])],
  100:     [PKG_CHECK_MODULES([GTK], [gtk+-2.0],
  101:       [AC_DEFINE([HAVE_GTK], [1], [Define if gtk+ library available])],
  102:       [with_gtk=no])])
  103: ])
  104: AM_CONDITIONAL([WITH_GTK], [test "x$with_gtk" = xyes])
  105: 
  106: AC_ARG_WITH([jansson],
  107:   [AS_HELP_STRING([--without-jansson], [Build without JSON output])],
  108:   [], [with_jansson=yes])
  109: AS_IF([test "x$with_jansson" = "xyes"],
  110:   [PKG_CHECK_MODULES([JANSSON], [jansson],
  111:     [AC_DEFINE([HAVE_JANSSON], [1], [Define if jansson library available])],
  112:     [with_jansson=no])
  113: ])
  114: 
  115: # Find ncurses
  116: AC_ARG_WITH([ncurses],
  117:   [AS_HELP_STRING([--without-ncurses], [Build without the ncurses interface])],
  118:   [], [with_ncurses=yes])
  119: AS_IF([test "x$with_ncurses" = "xyes"],
  120: 
  121:   # Prefer ncurses over curses, if both are available.
  122:   # (On Solaris 11.3, ncurses builds and links for us, but curses does not.)
  123:   [AC_SEARCH_LIBS(
  124:     [initscr], [ncurses curses],
  125:     [AC_DEFINE([HAVE_CURSES], [1], [Define if a curses library available])],
  126:     [with_ncurses=no])
  127: ])
  128: AM_CONDITIONAL([WITH_CURSES], [test "x$with_ncurses" = xyes])
  129: 
  130: AC_CHECK_LIB([cap], [cap_set_proc], [have_cap="yes"],
  131:   AS_IF([test "$host_os" = linux-gnu],
  132:     AC_MSG_WARN([Capabilities support is strongly recommended for increased security.  See SECURITY for more information.])))
  133: 
  134: # Enable ipinfo
  135: AC_ARG_WITH([ipinfo],
  136:   [AS_HELP_STRING([--without-ipinfo], [Do not try to use ipinfo lookup at all])],
  137:   [], [with_ipinfo=yes])
  138: AM_CONDITIONAL([WITH_IPINFO], [test "x$with_ipinfo" = "xyes"])
  139: AS_IF([test "x$with_ipinfo" = "xyes"], [
  140:   AC_DEFINE([HAVE_IPINFO], [1], [Define when ipinfo lookups are in use])
  141: ])
  142: 
  143: AC_ARG_ENABLE([ipv6],
  144:   [AS_HELP_STRING([--disable-ipv6], [Do not enable IPv6])],
  145:   [WANTS_IPV6=$enableval], [WANTS_IPV6=yes])
  146: 
  147: AS_IF([test "x$WANTS_IPV6" = "xyes"], [
  148:   AC_DEFINE([ENABLE_IPV6], [1], [Define to enable IPv6])
  149:   USES_IPV6=yes
  150: ])
  151: 
  152: AC_CHECK_FUNC([socket], [],
  153:   [AC_CHECK_LIB([socket], [socket], [], [AC_MSG_ERROR([No socket library found])])])
  154: 
  155: AC_CHECK_FUNC([gethostbyname], [],
  156:   [AC_CHECK_LIB([nsl], [gethostbyname], [], [AC_MSG_ERROR([No nameservice library found])])])
  157: 
  158: # Find resolver library.
  159: AC_CHECK_FUNC([res_query], [RESOLV_LIBS=""], [
  160:   AC_CHECK_LIB([resolv], [__res_query], [RESOLV_LIBS="-lresolv"], [
  161:     AC_CHECK_LIB([resolv], [res_query], [RESOLV_LIBS="-lresolv"], [
  162:       AC_CHECK_LIB([bind], [res_query], [RESOLV_LIBS="-lbind"], [
  163:         AC_MSG_ERROR([No resolver library found])
  164:       ])
  165:     ])
  166:   ])
  167: ])
  168: dnl MacOS has res_query in libc, but needs libresolv for dn_expand().
  169: AS_IF([test "x" = "x$RESOLV_LIBS"], [
  170:   AC_CHECK_LIB([resolv], [dn_expand], [RESOLV_LIBS="-lresolv"])
  171: ])
  172: AC_SUBST([RESOLV_LIBS])
  173: 
  174: # Check errno and socket data types.
  175: AC_CHECK_DECLS([errno], [], [], [[
  176: #include <errno.h>
  177: #include <sys/errno.h>
  178:   ]])
  179: 
  180: AC_CHECK_TYPE([socklen_t],
  181:   [AC_DEFINE([HAVE_SOCKLEN_T], [], [Define if your system has socklen_t])], [],
  182:   [[#include <netinet/in.h>
  183: #ifdef HAVE_SOCKET_H
  184: #include <socket.h>
  185: #endif
  186: #ifdef HAVE_SYS_SOCKET_H
  187: #include <sys/socket.h>
  188: #endif]])
  189: 
  190: AC_CHECK_TYPES([time_t], [], [], [[
  191: #include <time.h>
  192: ]])
  193: 
  194: # Add C flags to display more warnings
  195: AC_MSG_CHECKING([for C flags to get more warnings])
  196: ac_save_CFLAGS="$CFLAGS"
  197: 
  198: AS_IF([test "x$ac_cv_c_compiler_gnu" = "xyes"], [
  199:   dnl gcc is the easiest C compiler
  200:   warning_CFLAGS="-Wall"
  201:   # Check if compiler supports -Wno-pointer-sign and add it if supports
  202:   CFLAGS_saved="$CFLAGS"
  203:   CFLAGS="$CFLAGS -Wno-pointer-sign"
  204:   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int foo;]])],
  205:     [warning_CFLAGS="${warning_CFLAGS} -Wno-pointer-sign"], [])
  206:   CFLAGS="$CFLAGS_saved"
  207: ], [
  208:   dnl Vendor supplied C compilers are a bit tricky
  209:   AS_CASE([$host_os],
  210:     dnl SGI IRIX with the MipsPRO C compiler
  211:     [irix*], [
  212:       CFLAGS="$CFLAGS -fullwarn"
  213:       AC_COMPILE_IFELSE([
  214:         AC_LANG_PROGRAM(
  215:           [[#include <stdio.h>]],
  216:           [[printf("test");]])],
  217:         [warning_CFLAGS="-fullwarn"], []
  218:       )
  219:     ],
  220:     dnl SunOS 4.x with the SparcWorks(?) acc compiler
  221:     [sunos*], [
  222:       AS_IF([test "$CC" = "acc"], [
  223:         CFLAGS="$CFLAGS -vc"
  224:         AC_COMPILE_IFELSE([
  225:           AC_LANG_PROGRAM(
  226:             [[#include <stdio.h>]],
  227:             [[printf("test");]])],
  228:           [warning_CFLAGS="-vc"], []
  229:         )
  230:       ])
  231:     ]
  232:     dnl Unknown, do nothing
  233:     [*], [
  234:       warning_CFLAGS="none"
  235:     ]
  236:   )
  237: ])
  238: CFLAGS="$ac_save_CFLAGS"
  239: 
  240: AS_IF([test "$warning_CFLAGS" = "none"], [
  241:   AC_MSG_RESULT([none])
  242: ], [
  243:   CFLAGS="$CFLAGS $warning_CFLAGS"
  244:   AC_MSG_RESULT([$warning_CFLAGS])
  245: ])
  246: 
  247: # bash-completion
  248: AC_ARG_WITH([bashcompletiondir],
  249:   AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
  250:   [],
  251:   [AS_IF([`$PKG_CONFIG --exists bash-completion`], [
  252:     with_bashcompletiondir=`$PKG_CONFIG --variable=completionsdir bash-completion`
  253:   ], [
  254:     with_bashcompletiondir=${datadir}/bash-completion/completions
  255:   ])
  256: ])
  257: AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
  258: AC_ARG_ENABLE([bash-completion],
  259:   AS_HELP_STRING([--disable-bash-completion], [do not install bash completion files]),
  260:   [], [enable_bash_completion=yes]
  261: )
  262: AM_CONDITIONAL([BUILD_BASH_COMPLETION], [test "x$enable_bash_completion" = xyes])
  263: echo "build options:"
  264: echo "--------------"
  265: echo "libasan :$with_libasan"
  266: echo "ipv6    :$USES_IPV6"
  267: echo "ipinfo  :$with_ipinfo"
  268: echo "ncurses :$with_ncurses"
  269: echo "gtk     :$with_gtk"
  270: echo "jansson :$with_jansson"
  271: echo "cap     :$have_cap"
  272: echo "libs    :$LIBS"
  273: echo "cflags  :$CFLAGS"
  274: echo "--------------"
  275: # Prepare config.h, Makefile, and output them.
  276: AC_CONFIG_HEADERS([config.h])
  277: AC_CONFIG_FILES([Makefile])
  278: AC_OUTPUT

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