1
0
mirror of https://github.com/cmand/yarrp.git synced 2024-05-11 05:55:06 +00:00
Files
cmand-yarrp/configure.ac

125 lines
3.6 KiB
Plaintext
Raw Permalink Normal View History

2018-12-05 10:50:35 -08:00
#
# $Id: configure.ac $
#
2021-10-07 14:04:12 -07:00
AC_INIT([yarrp],[0.8],[yarrp@cmand.org])
2018-12-05 10:50:35 -08:00
AC_CONFIG_SRCDIR([yarrp.cpp])
AC_CONFIG_AUX_DIR([build-aux])
2019-11-17 09:13:49 -08:00
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
2018-12-05 10:50:35 -08:00
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
AC_PROG_CXX
AC_LANG(C++)
2021-08-19 08:34:49 -07:00
AX_CXX_COMPILE_STDCXX([17],[],[])
2018-12-05 10:50:35 -08:00
AC_REVISION([m4_esyscmd_s([git describe --always])])
AC_DEFINE(GITREV,"[m4_esyscmd_s([git describe --always])]", "Git revision")
AX_PTHREAD([],AC_MSG_ERROR([Requires POSIX threading.]))
2019-11-17 09:13:49 -08:00
LIBS="$PTHREAD_LIBS"
2018-12-05 10:50:35 -08:00
CXXFLAGS="$PTHREAD_CFLAGS $CXXFLAGS -I/usr/local/include"
LDFLAGS="-L/usr/local/lib"
AX_CHECK_ZLIB
AC_MSG_RESULT(Determined host operating system: $host_os)
case $host_os in
*linux*)
AC_DEFINE(OS,"LINUX",[Operating System String])
AC_DEFINE(_LINUX,1,[Define to 1 if a Linux operating system]);;
*freebsd*)
AC_DEFINE(OS,"FBSD",[Operating System String])
AC_DEFINE(_BSD,1,[Define to 1 if a BSD-like operating system])
freebsd_version=$(uname -K)
AX_COMPARE_VERSION($freebsd_version,[lt],[1100000],
AC_DEFINE(_OLD_BSD,1,[Define to 1 if Freebsd<11]),
AC_DEFINE(_NEW_FBSD,1,[Define to 1 if Freebsd>=11]));;
2018-12-05 10:50:35 -08:00
*bsd*)
AC_DEFINE(OS,"BSD",[Operating System String])
AC_DEFINE(_BSD,1,[Define to 1 if a BSD-like operating system]);;
*darwin*)
AC_DEFINE(OS,"OSX",[Operating System String])
AC_DEFINE(_BSD,1,[Define to 1 if a BSD-like operating system])
AC_DEFINE(_OSX,1,[Define to 1 if an Apple OSX operating system]);;
*)
AC_DEFINE(OS,"UNDEF",[Operating System String]);;
esac
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h])
2019-11-19 11:19:24 -08:00
AC_CHECK_HEADERS([inttypes.h],,AC_MSG_ERROR([required header file missing]))
2018-12-05 10:50:35 -08:00
AC_CHECK_HEADERS([netinet/in.h stdint.h stdlib.h string.h strings.h])
2019-08-30 09:23:06 -07:00
AC_CHECK_HEADERS([sys/param.h sys/stat.h sys/types.h sys/socket.h unistd.h])
2018-12-05 10:50:35 -08:00
AC_CHECK_HEADERS([netinet/in_systm.h netinet/udp.h])
AC_CHECK_HEADERS([netinet/tcp.h])
AC_CHECK_HEADERS([netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h], [], [], [
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
])
AC_CHECK_HEADERS([netinet/udp_var.h], [], [], [
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#ifdef HAVE_NETINET_UDP_H
#include <netinet/udp.h>
#endif
#ifdef HAVE_NETINET_IP_H
#include <netinet/ip_var.h>
#endif
])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_HEADER_STDBOOL
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
AC_CACHE_CHECK(whether in_addr_t is defined, sip_cv_type_in_addr_t,
[AC_EGREP_HEADER(in_addr_t, netinet/in.h,
sip_cv_type_in_addr_t=yes,
sip_cv_type_in_addr_t=no)])
if test $sip_cv_type_in_addr_t = yes; then
AC_DEFINE(HAVE_IN_ADDR_T,1,[Define to 1 if type in_addr_t is available.])
fi[]
# Check architecture endianness
AC_C_BIGENDIAN
if test "x$ac_cv_c_bigendian" = "xyes"; then
AC_DEFINE(HAVE_BIG_ENDIAN,1,[Define to 1 for big endian, 0 otherwise.])
fi
# Checks for library functions.
AC_CHECK_FUNCS([inet_ntoa memset select socket strerror])
AC_SEARCH_LIBS([socket], [socket])
# Include pcap library on non-Linux systems
# Don't need pcap on Linux since we can use recvfrom on raw socket
AS_CASE([$host_os], [*linux*], ,
[AC_SEARCH_LIBS(pcap_close, pcap,, AC_MSG_ERROR(pcap library required))])
AC_CONFIG_FILES([
Makefile
utils/Makefile
])
AC_OUTPUT