Tijl Coosemans [Fri, 28 Nov 2014 15:57:07 +0000 (15:57 +0000)]
libtool: use a modern library version scheme for freebsd-elf.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch
used by FreeBSD for versioned library filenames.
* build-aux/ltmain.in (func_mode_link): Replace conflicting
freebsd-elf version_type case branches with a single calculation
setting major and versuffix to match downstream FreeBSD.
Tijl Coosemans [Fri, 28 Nov 2014 15:51:34 +0000 (15:51 +0000)]
libtool: split sco version into its own type.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to
"sco" for sco based hosts.
* build-aux/ltmain.in (func_mode_link): Accept new "sco"
version_type as equivalent to freebsd-elf.
Gary V. Vaughan [Fri, 28 Nov 2014 15:12:03 +0000 (15:12 +0000)]
configury: detect dlsym underscore prefix without dlopen self.
* m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the
address of a symbol from a separate loadable module, rather than
assuming dlopen self works.
* NEWS: Update.
Reported by KO Myung-Hun
Gary V. Vaughan [Wed, 26 Nov 2014 19:36:47 +0000 (19:36 +0000)]
ltdl: fix a long standing duplicate `-ldl' bug in the link line.
* m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before
calling AC_SEARCH_LIBS, which prepends to LIBS by default, and
restore afterwards. We set LIBADD_DLOPEN and LIBADD_SHL_LOAD
so that dynamic loader libraries can be added selectively only
where they are needed.
* NEWS: Update.
tests: do not test undef symbols across shlibs on AIX.
On AIX, undefined symbols across shared libraries can work only
when the main program explicitly exports those symbols. As this
is bad practice anyway and -no-undefined should be preferred, we
skip this.
* tests/template.at: Skip test with undef syms across libraries
on AIX.
tests: question mark is extended regex for non-GNU grep.
Accepting \? for at-most-once in basic regex is a GNU grep
extension, not accepted by AIX grep for example.
* tests/libtool.at: Use \{0,1\} instead of ? with GREP.
Gary V. Vaughan [Tue, 18 Nov 2014 17:08:33 +0000 (17:08 +0000)]
bootstrap: make sure gnulib file droppings are removed.
* bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap
updates set source_base to null, so we need to use ${x:-y} to
override the null. Autoconf Shellology says that ancient BSD
/bin/sh chokes on :- defaults, but bootstrap is a developer tool,
and so we can reasonably expect a developer to have a working
/bin/sh to run the bootstrap script.
Gary V. Vaughan [Tue, 4 Nov 2014 18:05:42 +0000 (18:05 +0000)]
tests: fix false positive in failed test check for cmdline_wrap.at.
* tests/cmdline_wrap.at (fail_list): non-matching globs return as
a plain unexpanded string, so we also need to test for file
existence before expanding into fail_list.
KO Myung-Hun [Tue, 4 Nov 2014 13:23:24 +0000 (13:23 +0000)]
libtool: support versioning on OS/2.
* build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and
versuffix.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set
version_type to windows. Add a version information to soname_spec.
* NEWS: Update.
KO Myung-Hun [Tue, 4 Nov 2014 12:27:05 +0000 (12:27 +0000)]
libtool: add -os2dllname option.
On OS/2, if there are many DLLs whose prefix is the same and
very long, the resulting DLLs are overwritten. Provide a new
option to force a DLL name.
* build-aux/ltmain.in (func_mode_help): Add a description for
-os2dllname.
(func_mode_link): Add -os2dllname.
* doc/libtool.texi: Document it.
* NEWS: Update.
KO Myung-Hun [Tue, 4 Nov 2014 11:32:20 +0000 (11:32 +0000)]
libtool: fix DLL creation/installation/uninstallation on OS/2.
OS/2 can only load a DLL with a base name of 8 characters or
less. Also, on OS/2 don't install or uninstall using a link.
* build-aux/ltmain.in: Do not strip an import lib.
* m4/libtool.m4: Set variables to fix DLL creation, installation
and uninstallation.
Gary V. Vaughan [Mon, 3 Nov 2014 13:05:22 +0000 (13:05 +0000)]
configury: create installation dir before writing to it.
* Makefile.am (install-scripts-local): Don't forget to make the
installation target directory before writing to it.
* NO-THANKS: Update.
Reported by Allan McRae
Gary V. Vaughan [Thu, 30 Oct 2014 13:13:21 +0000 (13:13 +0000)]
tests: set bindir and libdir at configure time.
In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir
to "${exec_prefix}/lib64", which confuses testcases that check
the contents of "${prefix}/lib". In general, tests that expect
to find installed files in specific directories should explicitly
set those directories at configure time.
* tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix,
bindir and libdir point to known subdirectories we can check the
contents of later on in a test case.
(prefixdir): Rename from this...
(prefix): ...to this. All test cases that set or use the config
prefix directory must now refer to `prefixdir` for the helper
macros in this file to work in hostile build environments such
as CONFIG_SITE setting openSuSE.
* tests/demo.at, tests/depdemo.at, tests/mdemo.at,
tests/tagdemo.at: Adjust accordingly.
Reported by Peter Breitenlohner.
Gary V. Vaughan [Wed, 29 Oct 2014 18:00:32 +0000 (18:00 +0000)]
maint: fix README-alpha version match.
With simplified release version numbering (thank you, git!), be
careful to recognize four part alpha versions, or short git
revision suffixed alpha versions correctly.
* Makefile.am (re_odd_version): Remove.
(re_alpha_version): Recognize alpha version numbers.
($(readme)): Adjust accordingly.
Gary V. Vaughan [Wed, 29 Oct 2014 13:54:19 +0000 (13:54 +0000)]
maint: autogenerate THANKS.
More automation == less time wasted on menial tasks.
* build-aux/thanks-gen: script inspired by coreutils.
* Makefile.am (THANKS): Based on rule from coreutils/Makefile.am.
* NO-THANKS: New file. Configure thanks-gen output.
* THANKS: Remove.
Gary V. Vaughan [Wed, 29 Oct 2014 12:17:35 +0000 (12:17 +0000)]
maint: fix prefix and suffix installs for libtoolize.
* Makefile.am (install-data-local): Depend on new
install-scripts-local, and move libtoolize install from here...
(install-scripts-local): ...to here.
Pass libtoolize destination through program transform expression.
(uninstall-hook): Likewise, prior to removal.
* NEWS: Update.
* THANKS: Update.
Reported by Václav Zeman
Gary V. Vaughan [Mon, 27 Oct 2014 13:42:55 +0000 (13:42 +0000)]
testsuite: fixes required for `make distcheck CC=g++`.
* tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to
declare foo2.
* tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in
C++ guards, because sub.c is also compiled with g++ in this test.
* tests/old-ltdl-iface.at (old.c): Add a return type to main
declaration as required by C++.
Gary V. Vaughan [Sat, 25 Oct 2014 16:25:11 +0000 (17:25 +0100)]
libtool: fix GCC linking with -fstack-protector.
* build-aux/ltmain.in (func_mode_link): Pass -fstack-protector*
to the linker as it is required at link time to resolve libssp symbols.
From Yaakov Selkowitz
Gary V. Vaughan [Sat, 25 Oct 2014 15:59:07 +0000 (16:59 +0100)]
libtool: support Mac OS 10.10 and newer.
The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET
value of "10.10" as "10.1" followed by junk. Thinking that the
build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells
the linker to ignore undefined symbols instead of dynamically
resolving them. This can cause runtime crashes* and will affect
subsequent versions of OS X.
* libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so
as to reject 10.10.x on the 10.1 and 10.2 branch.
* THANKS: Add Lawrence Velázquez.
From Lawrence Velázquez
Peter Rosin [Tue, 6 May 2014 08:11:34 +0000 (10:11 +0200)]
libtool: fix nm test for MSYS/MinGW
The check for the -B option of nm does not work as intended on MSYS/MinGW.
MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL,
but the MinGW nm treats this file as any empty file. This means that
you might end up with some fallback nm instead of the desired nm. This
is not normally a problem, but if one nm is built without lto support, it
starts to matter.
Fixes sr #108558, reported by LRN.
* m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of
/dev/null when checking if nm supports -B.
Peter Rosin [Mon, 5 May 2014 22:03:19 +0000 (00:03 +0200)]
libtool: speed up ltwrapper_script detection in execute mode
Execute mode is slow and might even DOS the computer in extreme
cases when a parameter is a big binary file without newlines.
Work around this with different truncation if a suitable dd
utility is found.
Fixes bug#13472 and bug#16662.
Reported by Pavel Raiskup and Nick Bowler.
* m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility
that works for the below purpose.
(_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary
pipes (fallback to the old sed truncation if no suitable dd is found
in _LT_PATH_DD).
(_LT_SETUP): Require _LT_CMD_TRUNCATE.
(LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD.
* build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated
by libtool" test into...
(func_generated_by_libtool_p): ...this new function...
(func_ltwrapper_script_p): ...so that it can be reused here, when
truncating the pipe according to _LT_CMD_TRUNCATE.
* THANKS: Update.
Peter Rosin [Wed, 12 Feb 2014 09:01:13 +0000 (10:01 +0100)]
libtool: actually strip -Wl when relinking with $LD
Fixes the regression from commit v2.4.2.444 which is causing a
testsuite failure in duplicate_conv.at (seen on Cygwin).
* build-aux/ltmain.in (func_mode_link): $reload_cmds typically
starts with "$LD$reload_flag ..." when $LD is used to relink.
Make the case expression match that when checking if $LD is in
fact used to relink.
Gary V. Vaughan [Wed, 5 Feb 2014 23:05:04 +0000 (12:05 +1300)]
doc: remove redundant "in order to" phrase where possible.
* doc/libtool.texi: Remove many occurrences of the redundant
phrase "in order to", where ever "to" is as clear or clearer.
* THANKS: Add attribution.
Reported by Dave Yost
Gary V. Vaughan [Mon, 27 Jan 2014 02:04:53 +0000 (15:04 +1300)]
bootstrap: use `-d .git` to check whether we are in a git tree.
* gl/build-aux/bootstrap.in (func_require_git): .git is not a
regular file, use -d to check its existence.
* bootstrap: Regenerate.
* THANKS: Add Bruce Korb.
Reported by Bruce Korb
Copyright-paperwork-exempt: Yes Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Rainer Orth [Fri, 17 Jan 2014 21:07:52 +0000 (10:07 +1300)]
libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris
Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452.
* build-aux/ltmain.in (libtool_validate_options): disable the
opt_duplicate_compiler_generated_deps optimization for Solaris2 so
that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris
x86 can avoid unwinding failures caused by accidental mixing of the
libc and libgcc_s unwinders in a single executable.
Todd C. Miller [Sat, 11 Jan 2014 00:15:32 +0000 (13:15 +1300)]
libtoolize: don't remove install-sh.
If you are not using automake, libtoolize would remove install-sh.
It needs the same treatment as config.guess and config.sub.
* libtoolize.in (func_require_seen_libtool): Remove install-sh
from $all_pkgaux_files, the list of files removed by
`libtoolize --force`.
* THANKS: Add Todd C. Miller.
* NEWS: Update.
Copyright-paperwork-exempt: Yes Signed-off-by: Gary V. Vaughan <gary@gnu.org>
Gary V. Vaughan [Tue, 7 Jan 2014 03:06:02 +0000 (16:06 +1300)]
options-parser: --version works with 'DO NOT EDIT' preamble again.
* gl/build-aux/options-parser (func_version): Don't quit on first
leading '##' line, otherwise DO NOT edit warnings prevent version
information from being extracted correctly.
* bootstrap: Regenerate.
Gary V. Vaughan [Tue, 7 Jan 2014 01:16:34 +0000 (14:16 +1300)]
bootstrap: specify particular version in buildreq with =x.y.
* gl/build-aux/bootstrap.in (func_check_versions): If the version
number begins with '=' then it must match the installed version of
the named tool exactly.
* gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature.
* bootstrap: Regenerate.
Gary V. Vaughan [Sat, 4 Jan 2014 01:53:06 +0000 (14:53 +1300)]
bootstrap: replace spurious hyphen in some section comments.
* gl/build-aux/bootstrap.in: replace spurious hypen in same
section header comments with a space.
* gl/build-aux/extract-trace, gl/build-aux/options-parser:
Likewise.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 3 Jan 2014 22:43:58 +0000 (11:43 +1300)]
inline-source: DO NOT EDIT warning only for top-level file.
* gl/build-aux/inline-source (func_include): When recursing, pass
through the value of `magic` so that only the very first #! magic
number has a DO NOT EDIT warning injected.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 3 Jan 2014 07:07:48 +0000 (20:07 +1300)]
inline-source: gawk doesn't have boolean constants.
I've been writing a lot of Lua lately, but still a silly mistake:(
* gl/build-aux/inline-source (func_include): Use `magic` variable
to count #! lines found, and only output the DO NOT EDIT warning
after the first one.
Gary V. Vaughan [Fri, 3 Jan 2014 04:54:28 +0000 (17:54 +1300)]
libtool: rearrange header comments for correct version/help extraction.
* m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to
the generated libtool script so that --version and --help behave
the same as pre-funclib.sh revisions.
(_LT_CONFIG_SAVE_COMMANDS): Likewise.
Gary V. Vaughan [Fri, 3 Jan 2014 04:01:18 +0000 (17:01 +1300)]
README: Tweak into markdown format and fix some bitrot.
* README: Moved from here...
* README.md: ...to here. Make some changes to be valid markdown
format, and fix some inaccuracies in text that is out of date.
* .gitignore: Add README.
Gary V. Vaughan [Fri, 3 Jan 2014 03:45:18 +0000 (16:45 +1300)]
bootstrap: support automake README requirement.
* gl/build-aux/bootstrap.in (func_ensure_README): New function.
Link missing README to existing alternative naming.
(require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE
options from configure.ac.
(func_reconfigure): If we're using automake, and it's not in
foreign mode, link a README file if possible.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 3 Jan 2014 03:01:53 +0000 (16:01 +1300)]
configury: use bootstrap ChangeLog management feature.
* gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional
directory argument to pass to $AUTORECONF.
Update doc-comment.
* bootstrap.conf (func_reconfigure): Remove. Don't completely
overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog
management.
(func_autopoint, func_libtoolize): Overwrite these un-needed
calls instead.
(libtool_autoreconf_libltdl): New hook function to run second
autoreconf in libltdl directory.
(libtool_force_changelog): Remove. This is all handled by
bootstrap's func_reconfigure again.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 3 Jan 2014 02:55:30 +0000 (15:55 +1300)]
bootstrap: force remove file droppings from previous run.
Now that we generate bootstrap.new with no write permission,
we have to force remove it before writing now content to the file.
* bootstrap.in (require_bootstrap_uptodate): Remove old
bootstrap.new output.
* bootstrap: Regenerate.
Gary V. Vaughan [Fri, 3 Jan 2014 01:59:24 +0000 (14:59 +1300)]
inline-source: add a DO NOT EDIT notice to generated files.
* gl/build-aux/inline-source (func_include): Add a DO NOT EDIT
notice below the #! magic number of generated files.
* gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate):
Remove write bit from regenerated bootstrap.new if it differs
from incumbent bootstrap.
Change the update instructions to recommend `mv -f` to cope with
no write permission on old bootstrap script.
Gary V. Vaughan [Fri, 3 Jan 2014 01:24:51 +0000 (14:24 +1300)]
bootstrap: move included files below DO NOT EDIT comment.
* gl/build-aux/bootstrap.in: Reorder sections to load external
libraries as late as possible, leaving DO NOT EDIT comment
visible near the top of the generated bootstrap script.
Gary V. Vaughan [Fri, 3 Jan 2014 01:20:12 +0000 (14:20 +1300)]
maint: use before-save-hook in Emacs footers.
Updating to Emacs 24 now gives me warnings about write-file-hooks
being obsolete.
* gl/build-aux/bootstrap.in, gl/build-aux/extract-trace,
gl/build-aux/funclib.sh, gl/build-aux/inline-source,
gl/build-aux/options-parser: Set before-save-hook in Emacs file
footers instead of obsolete write-file-hooks.
Gary V. Vaughan [Fri, 3 Jan 2014 00:33:38 +0000 (13:33 +1300)]
libtoolize: use printf '%s\n' unconditionally.
It's been a year since the as_echo probes were removed in Autoconf,
so we can follow suit and remove our equivalent bs_echo probing
now. Retain $ECHO in case users need to override default printf
calls in museum piece environments.
* gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'.
(bs_echo): Remove.
Adjust all bs_echo callers to use $ECHO instead.
* bootstrap: Regenerate.
* NEWS: Update.
Gary V. Vaughan [Thu, 2 Jan 2014 00:04:31 +0000 (13:04 +1300)]
bootstrap: push Peter's version sort fix back into funclib.sh.
Peter's a7462c5 fix was applied to the generated bootstrap script
instead of the funclib.sh source, and had have been overwritten
the next time bootstrap was regenerated.
* gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the
non-primary keys as well.
* bootstrap: Regenerate, with the change applied.
Gary V. Vaughan [Wed, 1 Jan 2014 23:13:13 +0000 (12:13 +1300)]
libtool: only strip -Wl when linking with $LD.
* build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the
linker flags, except when linking with $LD, otherwise compiler
drivers that don't recognize and pass linker flags through will
choke on unrecognized options.
Gary V. Vaughan [Wed, 1 Jan 2014 22:58:35 +0000 (11:58 +1300)]
bootstrap: fix gitlog-to-changelog detection.
* gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop
that relies on $IFS for element splitting instead of a one-shot
case glob that is not tolerant to \n in $gnulib_modules.
* THANKS: Add Reuben Thomas.
Reported by Reuben Thomas
Gary V. Vaughan [Mon, 23 Dec 2013 08:52:20 +0000 (21:52 +1300)]
tests: gcj cannot reliably compile directly to .o from .java
Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy'
symbol into every object file when compiling directly from .java
to .o:
* tests/convenience.at (GCJ): make .class files from .java
sources first, and then compile those to native objects. This
works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143
Gary V. Vaughan [Mon, 23 Dec 2013 05:58:31 +0000 (18:58 +1300)]
testsuite: with SunStudio12.x f77, don't fail on system symbols
Modern SunStudio f77 is just a wrapper for f90, which
explains why current master fails these test groups with:
Undefined first referenced
symbol in file
__f90_slw_ch .libs/foof2.o
__f90_sslw .libs/foof2.o
__f90_eslw .libs/foof2.o
ld: fatal: symbol referencing errors. No output written to
.libs/libfoo2.so.0.0.0
So we allow some undefined symbols in the libraries, which are
resolved by the $(FLIBS) added to the final binaries in the tests.
This seems like the simpler, and less error inducing solution to
me (compared to adding $(FLIBS) to every library LDFLAGS line).
* tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS)
(libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined
flag.
* tests/fcdemo.at: Likewise.
Gary V. Vaughan [Wed, 30 Oct 2013 05:25:44 +0000 (18:25 +1300)]
maint: use $SED and $GREP, not sed and grep in all scripts.
Choosing between hardcoding a tool's name, or using the shell
variable with a path to the user's prefered implementation or
configure's idea of the best available is a premature
optimisation.
* build-aux/ltmain.in, gl/build-aux/bootstrap.in,
gl/build-aux/extract-trace, gl/build-aux/funclib.sh,
libtoolize.in: Use $SED and $GREP consistently throughout,
instead of hardcoding sed and grep.
* bootstrap: Regenerate.
Gary V. Vaughan [Wed, 30 Oct 2013 04:47:45 +0000 (17:47 +1300)]
tests: use TESTS_ENVIRONMENT for EGREP and FGREP.
Be consistent about passing commands to the testsuite, and use
TESTS_ENVIRONMENT consistent.
* Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP.
* tests/testsuite.at: Remove EGREP and FGREP extractions from
generated libtool script.
Gary V. Vaughan [Wed, 30 Oct 2013 04:21:38 +0000 (17:21 +1300)]
tests: use $SED throughout.
Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly.
Hardcoding 'sed' for "simple" edits is a premature optimisation.
* tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at,
tests/darwin.at, tests/demo.at, tests/duplicate_conv.at,
tests/duplicate_members.at, tests/execute-mode.at, tests/export.at,
tests/inherited_flags.at, tests/install.at, tests/libtoolize.at,
tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at,
tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all
hardcoded sed invocations with $SED.
Gary V. Vaughan [Wed, 30 Oct 2013 02:33:20 +0000 (15:33 +1300)]
tests: run cmdline_wrap last, or not at all if anything else failed.
* Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at
to the end of the list.
* tests/cmdline_wrap.at: If previous tests have failed, then we
already know that rerunning them will fail too, so save time by
skipping in that case.
Gary V. Vaughan [Wed, 30 Oct 2013 01:55:00 +0000 (14:55 +1300)]
configury: use $(SED) where input does not end in newline.
On Solaris machines the system sed does not process the last
line of input unless it ends with a newline, which means it
cannot be used to massage the output of git-version-gen, because
it deliberately omits the terminating newline.
* Makefile.am (rebuild): Use the sed command found by configure,
which has a better chance of working properly than the first sed
on PATH.
Gary V. Vaughan [Tue, 29 Oct 2013 23:01:27 +0000 (12:01 +1300)]
tests: skip fcdemo checks when $FC cannot compile fortran90.
Avoid spurious fcdemo failures when Autoconf picks f77 or
similar for a fortran90 compiler.
* tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make
TESTS_ENVIRONMENT, check that we really can compile fortran90
or else skip.