diff --git a/ChangeLog b/ChangeLog index ce67af9eab56b9b9fce8a57fe089111ebf37a80e..30ae48e8a38e1ae4f1c72bff097120be002c59f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2020-03-31 Niels Möller <nisse@lysator.liu.se> + + * 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 <nisse@lysator.liu.se> * configure.ac: Bump package version to 3.6. diff --git a/config.make.in b/config.make.in index 649b769515a045c0ee94655a77ac5f1e8b185986..3f8170761ed8fd105ab4914a313a1885e972afbe 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 db8e91cceeea57a74911915511b334e1d56ab5b8..eb6a81790403f5faa9be84acb6004d0737722b70 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 3d5655cf382fe3b3b4465f3a2db683e090eb321b..5186d0c81a7b0f43f5436d9f8cf711994ecae120 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 70a9279347843aa11640226df3fef87f4dac15fc..89b52efad9df225ae9970dcd3d42d0b27dfb6b5e 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)