diff --git a/configure.ac b/configure.ac index 5be8b25..9a2e7c0 100644 --- a/configure.ac +++ b/configure.ac @@ -6,6 +6,28 @@ AC_INIT([Harriman-Peikoff Project], [0.00.000], AC_CONFIG_SRCDIR([hcore/mind.cpp]) AC_CONFIG_AUX_DIR([autotools-aux]) +# Set the mind's quantized virtual oscillator period in milliseconds. +# Default value is 40 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 40 +])) +AS_IF([test -z "${MIND_VOSCILLATOR_PERIOD_MS}"], [MIND_VOSCILLATOR_PERIOD_MS=40]) +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]) + AM_INIT_AUTOMAKE([foreign -Wall -Werror]) AC_PROG_CC @@ -22,4 +44,11 @@ AC_CONFIG_FILES([ Makefile hcore/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_OUTPUT