Skip to content

configure.ac: propagate path to LALSuite library bin/ directories

Description

Two build system changes which are useful for writing tests:

  • Propagate the path to each LALSuite library's bin/ directory from the top-level ./configure.ac, in the same way that data/Python/Octave paths are handled. This allows test scripts to make use of executables from their dependent libraries (provided that they're in bin/ and not in a subdirectory). For example a LALPulsar test that needs to deal with Frame files could use the lalfr-* utilities from LALFrame.
  • Populate an AC_SUBST variable TESTS_ENV_CONFIG_VARS with a list of exported shell variables describing the library configuration. This is mostly set by LALSUITE_ENABLE_MODULE(), e.g. if LALFrame is available, TESTS_ENV_CONFIG_VARS will contain export LALFRAME_ENABLED=true, or =false if unavailable. Other variables are HAVE_PYTHON and HAVE_<SSE|AVX|...>_COMPILER. TESTS_ENV_CONFIG_VARS is then added to TESTS_ENVIRONMENT to expose the variables to tests, which can then modify their behaviour accordingly, e.g. skip a test that needs LALFrame if it's not available.

API Changes and Justification

Backwards Compatible Changes

  • This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions
  • This change adds new classes/functions/structs/types to a public C header file or Python module

Backwards Incompatible Changes

  • This change modifies an existing class/function/struct/type definition in a public C header file or Python module
  • This change removes an existing class/function/struct/type from a public C header file or Python module

Review Status

cc @adam-mercer @duncanmmacleod

Merge request reports