cwtest/configure.ac

187 lines
4.7 KiB
Plaintext

#
# Use "autoreconf --force --install" to update depedent files after changing
# this configure.ac or any of the Makefile.am files.
#
AC_COPYRIGHT([Copyright (C) 2019-2020 Kevin Larke])
AC_INIT([cwtest],[1.0],[cwtest@larke.org])
AC_CONFIG_SRCDIR([src/cwtest/main.cpp])
AC_CONFIG_AUX_DIR([build-aux]) # put aux files in build-aux
AM_INIT_AUTOMAKE([1.9 -Wall foreign subdir-objects]) # subdir-objects needed for non-recursive make
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIRS([m4])
AM_PROG_AR
LT_INIT
# Check for programs
AC_PROG_CC
AC_PROG_CXX
# AC_PROG_RANLIB # required for static librarires
AM_PROG_CC_C_O
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h limits.h mach/mach.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h termios.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_OFF_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT64_T
# Checks for library functions.
AC_FUNC_ERROR_AT_LINE
AC_FUNC_FORK
AC_FUNC_FSEEKO
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_FUNC_STRTOD
AC_CHECK_FUNCS([clock_gettime floor memmove memset mkdir pow rint select socket sqrt strcasecmp strchr strcspn strerror strspn strstr strtol])
# Checks for libraries.
fftw=false
AC_CHECK_LIB([fftw3],[fftw_malloc],[fftw=true],[])
AM_CONDITIONAL([cwFFTW],[test x"${fftw}" = xtrue])
if test x"$fftw" = xtrue; then
AC_DEFINE([cwFFTW], 1,[Use libfftw3.])
fi
echo "fftw='${fftw}'"
# The following is a custom macro in ./m4/os_type.m4
# be sure to also set "ACLOCAL_AMFLAGS = -I m4" in ./Makefile.am
# Defines the config.h variable OS_LINUX or OS_OSX
AX_FUNC_OS_TYPE
AX_FUNC_OS_64
# ac_cv_os_type is set by AX_FUNC_OS_TYPE
AM_CONDITIONAL([OS_LINUX],[test x"${ax_cv_os_type}" == xLinux])
AM_CONDITIONAL([OS_OSX],[test x"${ax_cv_os_type}" == xDarwin])
echo "OS='${ax_cv_os_type}'"
AM_CONDITIONAL([OS_64],[test x"${ax_cv_os_64}" == xx86_64])
echo "ptr width='${ax_cv_os_64}'"
#
# Enable Debug
#
AC_ARG_ENABLE([debug],
[ --enable-debug Turn on debugging],
[case "${enableval}" in
yes) debug=true ;;
no) debug=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
esac],[debug=false])
echo "debug=${debug}"
AM_CONDITIONAL([DEBUG], [test x$debug == xtrue])
if test x$debug = xfalse; then
AC_DEFINE([NDEBUG], 1,[Debugging off.])
fi
#
# Enable libwebsock
#
AC_ARG_ENABLE([websock],
[ --enable-websock Include websock dependencies],
[case "${enableval}" in
yes) websock=true ;;
no) websock=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-websock]) ;;
esac],[websock=false])
if test x"$websock" = xtrue; then
AC_CHECK_LIB([websockets],[lws_get_library_version],[AC_MSG_RESULT([The 'websockets' library was found.])],[AC_MSG_ERROR([The 'websockets' library was not found.])])
AC_DEFINE([cwWEBSOCK], 1,[Use libwebsock.])
fi
AM_CONDITIONAL([cwWEBSOCK], [test x$websock == xtrue])
echo "websock=${websock}"
#
# Enable ALSA
#
AC_ARG_ENABLE([alsa],
[ --enable-alsa Include ALSA dependencies],
[case "${enableval}" in
yes) alsa=true ;;
no) alsa=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-alsa]) ;;
esac],[alsa=false])
if test x"$alsa" = xtrue; then
AC_CHECK_LIB([asound],[snd_asoundlib_version],[AC_MSG_RESULT([The 'ALSA' library was found.])],[AC_MSG_ERROR([The 'ALSA' library was not found.])])
AC_DEFINE([cwALSA], 1,[Use libalsa.])
fi
AM_CONDITIONAL([cwALSA], [test x$alsa == xtrue])
echo "alsa=${alsa}"
# check for C++17
# hasCpp17=true
# AX_CHECK_COMPILE_FLAG(-std=c++17, [CXXFLAGS="$CXXFLAGS -std=c++17"],[hasCpp17=false])
# if test x"$hasCpp17" = xtrue; then
# AC_DEFINE([cwCPP17], 1,[C++ 17 is available.])
# else
# C++17 is not available check for C++11
# hasCpp11=true
# AX_CHECK_COMPILE_FLAG([-std=c++11], [CXXFLAGS="$CXXFLAGS -std=c++11"], [hasCpp11=false])
# if test x"$hasCpp11" = xtrue; then
# AC_DEFINE([cwCPP11], 1,[C++ 11 is available.])
# fi
# echo "c++11=${hasCpp11}"
#fi
#echo "c++17=${hasCpp17}"
#
# Enable ALSA
#
AC_ARG_ENABLE([web],
[ --enable-web Include WEB dependencies],
[case "${enableval}" in
yes) web=true ;;
no) web=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-web]) ;;
esac],[web=false])
if test x"$web" = xtrue; then
AC_DEFINE([cwWEB], 1,[Use libweb.])
fi
AM_CONDITIONAL([cwWEB], [test x$web == xtrue])
echo "web=${web}"
# AC_ARG_ENABLE([add_lib],
# [ --enable-add_lib Append some additional libs to the end of the library link list.],
# [add_lib="${enableval}"],
# [add_lib=""])
#
# echo "add_lib=${add_lib}"
#
# AC_SUBST([ADD_LIB], [$add_lib])
#ldir = src/libcw
#AC_SUBST([ldir])
AC_CONFIG_FILES([ Makefile ])
AC_OUTPUT