aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorW. Kosior <koszko@koszko.org>2025-05-08 13:05:26 +0200
committerW. Kosior <koszko@koszko.org>2025-05-08 13:18:47 +0200
commit1ede424911831362278a2047ca3129c8ad88ba5a (patch)
tree293abf40785228bc7d9ea9e02b86efdf2857b540
parent0c088bb52371a55de2e1c837568efbb8de93d629 (diff)
downloadlawrence-boilerplate-1ede424911831362278a2047ca3129c8ad88ba5a.tar.gz
lawrence-boilerplate-1ede424911831362278a2047ca3129c8ad88ba5a.zip
Add `AX_ADD_GUILE_TEST_ENV' macro.
-rw-r--r--Makefile.am4
-rw-r--r--ax_add_guile_pre_inst_env.m43
-rw-r--r--ax_add_guile_test_env.m426
3 files changed, 32 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 4d7464c..98fef11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,9 @@
# Copyright (C) 2023 Wojtek Kosior <koszko@koszko.org>
aclocaldir = $(datarootdir)/aclocal
-dist_aclocal_DATA = ax_add_guile_pre_inst_env.m4
+dist_aclocal_DATA = \
+ ax_add_guile_pre_inst_env.m4 \
+ ax_add_guile_test_env.m4
EXTRA_DIST = \
LICENSES/CC0-1.0.txt \
diff --git a/ax_add_guile_pre_inst_env.m4 b/ax_add_guile_pre_inst_env.m4
index 6156c5d..038c241 100644
--- a/ax_add_guile_pre_inst_env.m4
+++ b/ax_add_guile_pre_inst_env.m4
@@ -18,11 +18,14 @@ SOURCE_DIR='"$(cd "$srcdir" && pwd -P)"'
BUILD_DIR="$(cd "$(dirname "[$]0")" && pwd -P)"
export G''UILE_LOAD_PATH="dnl
+${LAWRENCE_TEST_SCM_ROOT:+$SOURCE_DIR/$LAWRENCE_TEST_SCM_ROOT:}dnl
+${LAWRENCE_TEST_SCM_ROOT:+$BUILD_DIR/$LAWRENCE_TEST_SCM_ROOT:}dnl
$SOURCE_DIR/'m4_default([$2], [src/guile])'dnl
:$BUILD_DIR/'m4_default([$3], [src/guile])'dnl
${G''UILE_LOAD_PATH:+:}${G''UILE_LOAD_PATH:-}"
export G''UILE_LOAD_COMPILED_PATH="dnl
+${LAWRENCE_TEST_GO_ROOT:+$BUILD_DIR/$LAWRENCE_TEST_GO_ROOT:}dnl
$BUILD_DIR/'m4_default([$3], [src/guile])'dnl
${G''UILE_LOAD_COMPILED_PATH:+:}${G''UILE_LOAD_COMPILED_PATH:-}"
diff --git a/ax_add_guile_test_env.m4 b/ax_add_guile_test_env.m4
new file mode 100644
index 0000000..722f915
--- /dev/null
+++ b/ax_add_guile_test_env.m4
@@ -0,0 +1,26 @@
+dnl SPDX-License-Identifier: CC0-1.0
+dnl
+dnl Copyright (C) 2023, 2025 Wojtek Kosior <koszko@koszko.org>
+dnl
+dnl This file proviced an autoconf macro that generates a test-env script
+dnl suitable for use in Guile projects.
+dnl
+# AX_ADD_GUILE_TEST_ENV([FILENAME = test-env],
+# [PRE_INST_ENV_PATH = pre-inst-env],
+# [TEST_SCM_ROOT_PATH = tests/guile],
+# [TEST_GO_ROOT_PATH = tests/guile])
+# ------------------------------------------------------------------------------
+AC_DEFUN([AX_ADD_GUILE_TEST_ENV], [
+printf '%s' '
+set -eu
+
+BUILD_DIR="$(cd "$(dirname "[$]0")" && pwd -P)"
+
+export LAWRENCE_TEST_SCM_ROOT='m4_default([$3], [tests/guile])'
+export LAWRENCE_TEST_GO_ROOT='m4_default([$4], [tests/guile])'
+
+$BUILD_DIR/'m4_default([$2], [pre-inst-env])' "[$]@"
+' > m4_default([$1], [test-env])
+
+chmod 755 m4_default([$1], [test-env])
+])dnl AX_ADD_GUILE_TEST_ENV