From b3474802b81df6db83492adf251503d86b48299c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Tue, 31 Mar 2020 19:52:15 +0200 Subject: Rework setting of LD_LIBRARY_PATH for tests. * testsuite/Makefile.in (check): Pass only TEST_SHLIB_DIR to the run-tests script, and leave setting of LD_LIBRARY_PATH and related variables to that script. * examples/Makefile.in (check): Likewise. * run-tests: Check TEST_SHLIB_DIR, and set up LD_LIBRARY_PATH and related member variables. * config.make.in (abs_top_builddir, TEST_SHLIB_DIR): New variables. --- ChangeLog | 12 ++++++++++++ config.make.in | 3 +++ examples/Makefile.in | 3 +-- run-tests | 12 ++++++++++++ testsuite/Makefile.in | 3 +-- 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ce67af9e..30ae48e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2020-03-31 Niels Möller + + * config.make.in (abs_top_builddir, TEST_SHLIB_DIR): New variables. + + * run-tests: Check TEST_SHLIB_DIR, and set up LD_LIBRARY_PATH and + related member variables. + + * testsuite/Makefile.in (check): Pass only TEST_SHLIB_DIR + to the run-tests script, and leave setting of LD_LIBRARY_PATH and + related variables to that script. + * examples/Makefile.in (check): Likewise. + 2020-03-26 Niels Möller * configure.ac: Bump package version to 3.6. diff --git a/config.make.in b/config.make.in index 649b7695..3f817076 100644 --- a/config.make.in +++ b/config.make.in @@ -64,6 +64,9 @@ bindir = @bindir@ libdir = @libdir@ includedir = @includedir@ infodir = @infodir@ +abs_top_builddir = @abs_top_builddir@ + +TEST_SHLIB_DIR = "${abs_top_builddir}/.lib" # PRE_CPPFLAGS and PRE_LDFLAGS lets each Makefile.in prepend its own # flags before CPPFLAGS and LDFLAGS. While EXTRA_CFLAGS are added at the end. diff --git a/examples/Makefile.in b/examples/Makefile.in index db8e91cc..eb6a8179 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -113,9 +113,8 @@ hogweed-benchmark$(EXEEXT): $(HOGWEED_BENCH_OBJS) $(TARGETS) : io.$(OBJEXT) ../libnettle.stamp $(HOGWEED_TARGETS): ../libhogweed.stamp -# The PATH update is for windows dlls, DYLD_LIBRARY_PATH is for OSX. check: $(TS_ALL) - LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" DYLD_LIBRARY_PATH=../.lib \ + TEST_SHLIB_DIR="$(TEST_SHLIB_DIR)" \ srcdir="$(srcdir)" EMULATOR="$(EMULATOR)" EXEEXT="$(EXEEXT)" \ "$(top_srcdir)"/run-tests $(TS_ALL) diff --git a/run-tests b/run-tests index 3d5655cf..5186d0c8 100755 --- a/run-tests +++ b/run-tests @@ -28,6 +28,18 @@ fi export srcdir +if [ -n "$TEST_SHLIB_DIR" ] ; then + # Prepend to LD_LIBRARY_PATH, if it is alredy set. + LD_LIBRARY_PATH="${TEST_SHLIB_DIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + # For MACOS + DYLD_LIBRARY_PATH="$TEST_SHLIB_DIR" + # For Windows + PATH="${TEST_SHLIB_DIR}:${PATH}" + export LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH + export PATH +fi + # When used in make rules, we sometimes get the filenames VPATH # expanded, but usually not. find_program () { diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in index 70a92793..89b52efa 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in @@ -139,9 +139,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \ # data. VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes -# The PATH update is for windows dlls, DYLD_LIBRARY_PATH is for OSX. check: $(TS_ALL) - LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" DYLD_LIBRARY_PATH=../.lib \ + TEST_SHLIB_DIR="$(TEST_SHLIB_DIR)" \ srcdir="$(srcdir)" \ EMULATOR="$(EMULATOR)" NM="$(NM)" EXEEXT="$(EXEEXT)" \ $(top_srcdir)/run-tests $(TS_ALL) -- cgit v1.2.1