[SV 40240] Use configure info to build load test shared libs

* 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
This commit is contained in:
Paul Smith 2013-10-19 15:39:15 -04:00
parent 07f2666b91
commit 107ab16bf6
7 changed files with 38 additions and 8 deletions

View 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`) : ;; \

View 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!

1
tests/.gitignore vendored
View file

@ -1 +1,2 @@
config-flags.pm
work

18
tests/config-flags.pm.in Normal file
View file

@ -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;

View 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" };

View 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!

View 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