2020-08-27 14:20:38 +00:00
|
|
|
# -*- Autoconf -*-
|
|
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
|
|
|
|
AC_PREREQ([2.69])
|
|
|
|
AC_INIT([ssldump], [1.1])
|
|
|
|
AM_INIT_AUTOMAKE([subdir-objects])
|
|
|
|
AC_CONFIG_SRCDIR([base/pcap-snoop.c])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
|
|
|
2020-08-30 17:09:42 +00:00
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
2020-08-27 14:20:38 +00:00
|
|
|
# Checks for programs.
|
2020-08-30 17:09:42 +00:00
|
|
|
: ${CFLAGS=""}
|
2020-08-30 06:06:34 +00:00
|
|
|
AC_PROG_CC([gcc clang])
|
2020-08-27 14:20:38 +00:00
|
|
|
AM_PROG_CC_C_O
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
|
|
|
|
# Checks for header files.
|
2020-08-28 14:42:51 +00:00
|
|
|
AC_CHECK_HEADERS([arpa/inet.h memory.h netdb.h netinet/in.h stdlib.h string.h sys/param.h sys/socket.h sys/time.h unistd.h],,[AC_MSG_ERROR([Missing header.])])
|
2020-08-27 14:20:38 +00:00
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_HEADER_TIME
|
|
|
|
|
2020-08-30 05:37:45 +00:00
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
|
|
AC_CHECK_SIZEOF([unsigned short])
|
|
|
|
AC_CHECK_SIZEOF([unsigned int])
|
|
|
|
AC_CHECK_SIZEOF([unsigned long])
|
|
|
|
AC_CHECK_SIZEOF([unsigned long long])
|
|
|
|
|
|
|
|
# Checks for library functions.
|
|
|
|
AC_CHECK_FUNCS([malloc realloc gethostbyaddr gettimeofday inet_ntoa isascii memmove memset strchr strdup strstr strtol])
|
|
|
|
|
2020-08-28 08:12:47 +00:00
|
|
|
have_pcap=no
|
|
|
|
AC_SEARCH_LIBS([pcap_create], [pcap], [have_pcap=yes])
|
|
|
|
|
|
|
|
if test "x${have_pcap}" = xyes; then
|
|
|
|
AC_CHECK_HEADERS([pcap.h pcap-bpf.h], [], [have_pcap=no])
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "x${have_pcap}" = xno; then
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
---------------------------------------
|
|
|
|
Unable to find libpcap on this system
|
|
|
|
Check 'config.log' for more information
|
|
|
|
|
|
|
|
On Debian and Ubuntu systems you can
|
|
|
|
install the required library and header
|
|
|
|
files with
|
|
|
|
apt install libpcap-dev
|
|
|
|
---------------------------------------
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
|
|
|
have_ssl=no
|
|
|
|
AC_SEARCH_LIBS([OPENSSL_init_ssl], [ssl], [have_ssl=yes])
|
2020-08-30 17:09:42 +00:00
|
|
|
AC_SEARCH_LIBS(CRYPTO_new_ex_data, [crypto], [have_crypto=yes])
|
2020-08-28 08:12:47 +00:00
|
|
|
|
|
|
|
if test "x${have_ssl}" = xyes; then
|
|
|
|
AC_CHECK_HEADERS([openssl/ssl.h], [], [have_ssl=no])
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "x${have_ssl}" = xno; then
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
---------------------------------------
|
|
|
|
Unable to find libssl on this system
|
|
|
|
Check 'config.log' for more information
|
|
|
|
|
|
|
|
On Debian and Ubuntu systems you can
|
|
|
|
install the required library and header
|
|
|
|
files with
|
|
|
|
apt install libssl-dev
|
|
|
|
---------------------------------------
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
2020-10-06 15:34:58 +00:00
|
|
|
have_libnet=no
|
|
|
|
AC_SEARCH_LIBS([libnet_init], [net], [have_libnet=yes])
|
|
|
|
|
|
|
|
if test "x${have_libnet}" = xyes; then
|
|
|
|
AC_CHECK_HEADERS([libnet.h], [], [have_libnet=no])
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "x${have_libnet}" = xno; then
|
|
|
|
AC_MSG_ERROR([
|
|
|
|
---------------------------------------
|
|
|
|
Unable to find libnet on this system
|
|
|
|
Check 'config.log' for more information
|
|
|
|
|
|
|
|
On Debian and Ubuntu systems you can
|
|
|
|
install the required library and header
|
|
|
|
files with
|
|
|
|
apt install libnet1-dev
|
|
|
|
---------------------------------------
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
2020-08-30 17:09:42 +00:00
|
|
|
AC_ARG_ENABLE([optimization],
|
|
|
|
[ --disable-optimization disable compiler optimizations],
|
|
|
|
[optimization=${enableval}], [optimization=yes])
|
|
|
|
|
|
|
|
if test "x${optimization}" = xno; then
|
|
|
|
CFLAGS="$CFLAGS -O0"
|
|
|
|
else
|
|
|
|
CFLAGS="$CFLAGS -O2"
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_ARG_ENABLE([debug],
|
|
|
|
[ --enable-debug enable debug info],
|
|
|
|
[debug=${enableval}], [debug=no])
|
|
|
|
|
|
|
|
if test "x${debug}" = xyes; then
|
2020-08-30 18:59:48 +00:00
|
|
|
CFLAGS="$CFLAGS -g -DDEBUG"
|
2020-08-30 17:09:42 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
AC_ARG_ENABLE([asan],
|
|
|
|
[ --enable-asan enable AddressSanitizer and other checks],
|
|
|
|
[asan=${enableval}], [asan=no])
|
|
|
|
|
|
|
|
if test "x${asan}" = xyes; then
|
|
|
|
AS_CASE([$CC],
|
|
|
|
[*gcc*], [AC_CHECK_LIB(asan, _init)],
|
|
|
|
[*clang*], [have_clang=yes],
|
|
|
|
[have_clang=no])
|
|
|
|
|
|
|
|
if (test "x${ac_cv_lib_asan__init}" = xyes || test "x$have_clang" = xyes); then
|
|
|
|
CFLAGS="$CFLAGS \
|
|
|
|
-fsanitize=address,undefined,leak \
|
|
|
|
-Wformat \
|
|
|
|
-Werror=format-security \
|
|
|
|
-Werror=array-bounds"
|
|
|
|
else
|
|
|
|
AC_MSG_WARN("AddressSanitizer not supported")
|
|
|
|
asan=no
|
|
|
|
fi
|
|
|
|
fi
|
2020-08-28 08:12:47 +00:00
|
|
|
|
2020-08-27 14:20:38 +00:00
|
|
|
AC_CONFIG_FILES([Makefile
|
|
|
|
common/Makefile
|
|
|
|
common/lib/Makefile
|
|
|
|
null/Makefile
|
|
|
|
ssl/Makefile
|
2020-10-06 16:28:18 +00:00
|
|
|
pcap/Makefile
|
2020-08-27 14:20:38 +00:00
|
|
|
base/Makefile])
|
2020-08-30 17:09:42 +00:00
|
|
|
|
2020-08-27 14:20:38 +00:00
|
|
|
AC_OUTPUT
|
2020-08-30 17:09:42 +00:00
|
|
|
|
|
|
|
echo
|
|
|
|
echo "################################################"
|
|
|
|
echo "SSLDump build setup"
|
|
|
|
echo " Host system: $host_os"
|
|
|
|
echo " Host architecture: $host_cpu"
|
|
|
|
echo " Compiler: $CC"
|
|
|
|
echo " Installation prefix: $prefix"
|
|
|
|
echo " CFLAGS: $CFLAGS"
|
|
|
|
echo " LDFLAGS: $LDFLAGS"
|
|
|
|
echo " LIBS: $LIBS"
|
|
|
|
echo " Optimizations enabled: $optimization"
|
|
|
|
echo " Debug info enabled: $debug"
|
|
|
|
echo " ASAN enabled: $asan"
|
|
|
|
echo "################################################"
|
|
|
|
|