99 lines
3.4 KiB
Plaintext
99 lines
3.4 KiB
Plaintext
AC_INIT([Harriman-Peikoff Project], [0.00.002],
|
|
[latentprion@gmail.com],
|
|
[harikoff],
|
|
[http://github.com/latentprion/harikoff])
|
|
|
|
AC_CONFIG_SRCDIR([hcore/mind.cpp])
|
|
AC_CONFIG_AUX_DIR([autotools-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AM_INIT_AUTOMAKE([foreign -Wall -Werror -Woverride])
|
|
|
|
# Set the mind's quantized virtual oscillator period in milliseconds.
|
|
# Default value is 33 ms, user override via MIND_VOSCILLATOR_PERIOD_MS.
|
|
# Check if MIND_VOSCILLATOR_PERIOD_MS is a valid positive integer
|
|
AC_ARG_VAR([MIND_VOSCILLATOR_PERIOD_MS], m4_normalize([
|
|
Mind's virtual osc clock rate. Must be a positive integer, default value 33
|
|
]))
|
|
AS_IF([test -z "${MIND_VOSCILLATOR_PERIOD_MS}"], [MIND_VOSCILLATOR_PERIOD_MS=33])
|
|
AS_IF([! test "${MIND_VOSCILLATOR_PERIOD_MS}" -eq "${MIND_VOSCILLATOR_PERIOD_MS}" 2>/dev/null ||
|
|
test "${MIND_VOSCILLATOR_PERIOD_MS}" -le 0 2>/dev/null], [
|
|
AC_MSG_ERROR([MIND_VOSCILLATOR_PERIOD_MS must be a positive integer > 0.])
|
|
])
|
|
|
|
AC_DEFINE_UNQUOTED([CONFIG_MIND_VOSCILLATOR_PERIOD_MS],
|
|
[${MIND_VOSCILLATOR_PERIOD_MS}],
|
|
[Period of the mind virtual oscillator in milliseconds])
|
|
AC_COMPUTE_INT(
|
|
[MIND_VOSCILLATOR_FREQ_MS], [1000 / ${MIND_VOSCILLATOR_PERIOD_MS}], [],
|
|
[AC_MSG_ERROR([Failed to compute the mind's virtual oscillator frequency.])])
|
|
AC_DEFINE_UNQUOTED([CONFIG_MIND_VOSCILLATOR_FREQ_MS],
|
|
[${MIND_VOSCILLATOR_FREQ_MS}],
|
|
[Frequency of the mind virtual oscillator in milliseconds])
|
|
|
|
m4_include([m4/ax_boost_base.m4])
|
|
m4_include([m4/ax_boost_asio_1.69.0.m4])
|
|
m4_include([m4/ac_prog_flex.m4])
|
|
m4_include([m4/ac_prog_bison.m4])
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AM_PROG_AR
|
|
LT_INIT([shared])
|
|
AC_PROG_LEX([noyywrap])
|
|
AC_PROG_YACC
|
|
AS_IF([test -z "${LEX}" || test -z "${YACC}"], [
|
|
AC_MSG_ERROR([LEX and YACC must both be available in PATH.])
|
|
])
|
|
AX_BOOST_BASE([1.69.0], [], [AC_MSG_ERROR(m4_normalize([Boost v1.69.0 or higher
|
|
is required, because Boost.System is header-only from 1.69.0 onwards.]))])
|
|
AX_BOOST_ASIO_gte_1_69_0
|
|
AS_IF([test "x${HAVE_BOOST_ASIO}" == "x"], [
|
|
AC_MSG_ERROR(m4_normalize([Boost.Asio must be available in headers.
|
|
Try --with-boost-asio if need be.]))
|
|
])
|
|
|
|
AC_SEARCH_LIBS([dlopen], [dl ldl], [], [
|
|
AC_MSG_ERROR([dlopen() not found in libdl or libldl.])])
|
|
AC_SEARCH_LIBS([dlsym], [dl ldl], [], [
|
|
AC_MSG_ERROR([dlsym() not found in libdl or libldl.])])
|
|
|
|
AM_CPPFLAGS=m4_normalize(["-I\"\$(top_srcdir)/include\"
|
|
-Wall -Wextra -pedantic"])
|
|
|
|
AC_SUBST([AM_CPPFLAGS])
|
|
AC_SUBST([YACC])
|
|
AC_SUBST([LEX])
|
|
|
|
COMMONLIBS_ENABLED=
|
|
SENSEAPIS_ENABLED=
|
|
WILZORAPIS_ENABLED=
|
|
m4_include([m4/commonlibs-opts.m4])
|
|
m4_include([m4/sense-wilzor-api-opts.m4])
|
|
AC_SUBST([COMMONLIBS_ENABLED])
|
|
AC_SUBST([SENSEAPIS_ENABLED])
|
|
AC_SUBST([WILZORAPIS_ENABLED])
|
|
|
|
AC_CONFIG_HEADERS([include/config.h])
|
|
AC_CONFIG_FILES([
|
|
Makefile hcore/Makefile
|
|
hcore/deviceManager/Makefile
|
|
hcore/senseApis/Makefile
|
|
commonLibs/Makefile
|
|
commonLibs/xcbXorg/Makefile
|
|
])
|
|
|
|
AC_CONFIG_COMMANDS_POST([
|
|
AC_MSG_NOTICE([${PACKAGE_NAME} ${PACKAGE_VERSION} configuration:])
|
|
AC_MSG_NOTICE(m4_normalize([* MIND_VOSCILLATOR_PERIOD_MS:
|
|
${MIND_VOSCILLATOR_PERIOD_MS} ms
|
|
(freq: ${MIND_VOSCILLATOR_FREQ_MS} Hz)]))
|
|
AC_MSG_NOTICE(m4_normalize(
|
|
[* SenseAPI backends enabled: ${SENSEAPIS_ENABLED}]))
|
|
AC_MSG_NOTICE(m4_normalize(
|
|
[* WilzorAPI backends enabled: ${WILZORAPIS_ENABLED}]))
|
|
AC_MSG_NOTICE(m4_normalize(
|
|
[* Common libraries enabled: ${COMMONLIBS_ENABLED}]))
|
|
])
|
|
|
|
AC_OUTPUT
|