162 lines
4.3 KiB
Plaintext
162 lines
4.3 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_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_SRCDIR([src/cwtest/main.cpp])
|
|
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 libraries.
|
|
# AC_CHECK_LIB([cairo],[cairo_debug_reset_static_data],[AC_MSG_RESULT([The 'cairo' library was found.])],[AC_MSG_ERROR([The 'cairo' library was not found.])])
|
|
#TODO: add more library checks
|
|
|
|
|
|
# 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])
|
|
|
|
|
|
# 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}"
|
|
|
|
|
|
|
|
|
|
# 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
|