[SV 40240] Use configure info to build load test shared libs
authorPaul Smith <psmith@gnu.org>
Sat, 19 Oct 2013 19:39:15 +0000 (15:39 -0400)
committerPaul Smith <psmith@gnu.org>
Sat, 19 Oct 2013 19:39:15 +0000 (15:39 -0400)
* tests/config-flags.pm.in: A new file containing variable assignments
for the test suite; these variables are set by configure to contain
the values detected there for compilers, flags, etc.
* tests/run_make_tests.pl: Require the config-flags.pm file
* tests/scripts/features/load, tests/scripts/features/loadapi: Use the
configure-provided values when building the shared test library.
* configure.ac: Replace tests/config-flags.pm.in
* Makefile.am: Make sure tests/config-flags.pm is up to date

Makefile.am
configure.ac
tests/.gitignore
tests/config-flags.pm.in [new file with mode: 0644]
tests/run_make_tests.pl
tests/scripts/features/load
tests/scripts/features/loadapi

index 6303d96e77b93705e026300fb277ed6b90bd1055..e2c0fe9bad0358fb7617c81702ebea6eebdde1f2 100644 (file)
@@ -172,7 +172,7 @@ loadavg_LDADD = @GETLOADAVG_LIBS@
 #
 MAKETESTFLAGS =
 
-check-regression:
+check-regression: tests/config-flags.pm
        @if test -f '$(srcdir)/tests/run_make_tests'; then \
          if $(PERL) -v >/dev/null 2>&1; then \
            case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \
index 7bf9cccb1adc89131cb54788356d1a95f3823fe9..8e11328d97641f1cde3e3ff27461e2cac48e0b3a 100644 (file)
@@ -499,7 +499,7 @@ AS_IF([test "x$make_cv_load" = xno && test "x$user_load" = xyes],
 
 # Specify what files are to be created.
 AC_CONFIG_FILES([Makefile glob/Makefile po/Makefile.in config/Makefile \
-                 doc/Makefile w32/Makefile])
+                 doc/Makefile w32/Makefile tests/config-flags.pm])
 
 # OK, do it!
 
index b8f99f5be53f536f79ef622abaa77b9942a9e142..a30a689584a2d1cbb37829de71afd6f4534d2943 100644 (file)
@@ -1 +1,2 @@
+config-flags.pm
 work
diff --git a/tests/config-flags.pm.in b/tests/config-flags.pm.in
new file mode 100644 (file)
index 0000000..a26b8dc
--- /dev/null
@@ -0,0 +1,18 @@
+# This is a -*-perl-*- script
+#
+# Set variables that were defined by configure, in case we need them
+# during the tests.
+
+%CONFIG_FLAGS = (
+    AM_LDFLAGS   => '@AM_LDFLAGS@',
+    CC           => '@CC@',
+    CFLAGS       => '@CFLAGS@',
+    CPP          => '@CPP@',
+    CPPFLAGS     => '@CPPFLAGS@',
+    GUILE_CFLAGS => '@GUILE_CFLAGS@',
+    GUILE_LIBS   => '@GUILE_LIBS@',
+    LDFLAGS      => '@LDFLAGS@',
+    LIBS         => '@LIBS@'
+);
+
+1;
index 54c2892238aba572622a4b64b2d7bbd63e936f48..555e4092af5c020d332f0037611cba8b41bcbdee 100644 (file)
@@ -43,6 +43,7 @@ $command_string = '';
 $all_tests = 0;
 
 require "test_driver.pl";
+require "config-flags.pm";
 
 # Some target systems might not have the POSIX module...
 $has_POSIX = eval { require "POSIX.pm" };
index 2e3f263c80d64aa23ad523bc3e09d689b537c179..05e9ddb090c58f7d47fca0c5420da91e59212e56 100644 (file)
@@ -6,8 +6,6 @@ $details = "Test dynamic loading of modules.";
 # Don't do anything if this system doesn't support "load"
 exists $FEATURES{load} or return -1;
 
-my $sobuild = '$(CC) '.($srcdir? "-I$srcdir":'').' -g -shared -fPIC -o $@ $<';
-
 # First build a shared object
 # Provide both a default and non-default load symbol
 
@@ -39,7 +37,15 @@ EOF
 close($F) or die "close: testload.c: $!\n";
 
 # Make sure we can compile
-run_make_test('testload.so: testload.c ; @'.$sobuild, '', '');
+# CONFIG_FLAGS are loaded from config-flags.pm and set by configure
+
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testload.so testload.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+    $verbose and print "Failed to build testload.so:\n$sobuild\n$_";
+    return -1;
+}
 
 # TEST 1
 run_make_test(q!
index 6d3b03f735a8be53bd87b14c14fa9555f4b7763c..bf66bae85d574ad481c38c301394298f653fda19 100644 (file)
@@ -6,8 +6,6 @@ $details = "Verify the different aspects of the shared object API.";
 # Don't do anything if this system doesn't support "load"
 exists $FEATURES{load} or return -1;
 
-my $sobuild = '$(CC) '.($srcdir? "-I$srcdir":'').' -g -shared -fPIC -o $@ $<';
-
 # First build a shared object
 # Provide both a default and non-default load symbol
 
@@ -74,7 +72,13 @@ testapi_gmk_setup ()
 EOF
 close($F) or die "close: testapi.c: $!\n";
 
-run_make_test('testapi.so: testapi.c ; @'.$sobuild, '', '');
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testapi.so testapi.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+    $verbose and print "Failed to build testapi.so:\n$sobuild\n$_";
+    return -1;
+}
 
 # TEST 1
 # Check the gmk_expand() function