Commit Graph

94 Commits

Author SHA1 Message Date
Akim Demaille
bb4693991e * aclang.m4 (AC_LANG): Be `smart': don't issue the sh code if the
current language did not change.
(AC_LANG_ASSERT): New.
(AC_PROG_CPP, AC_PROG_CXXCPP): Assert the language.
(_AC_PROG_F77_V, _AC_F77_NAME_MANGLING): Don't require
AC_PROG_F77, the code you include does it.
(AC_F77_LIBRARY_LDFLAGS): Set the language.
2000-12-06 08:59:08 +00:00
Akim Demaille
482e84f65c * m4sugar.m4 (ifelse): Rename as...
(m4_if): this.
* autoconf.m4 (ifelse): Restore.
2000-12-06 08:58:41 +00:00
Akim Demaille
e77a2341a0 * aclang.m4 (AC_PROG_F77): Temporarily set ac_ext to F to run
_AC_LANG_COMPILER_GNU.
From Steven G. Johnson.
* tests/compile.at (GNU Fortran 77): New test.
2000-12-05 14:08:35 +00:00
Akim Demaille
167feac4ba When using Cygwin, in spite of all their efforts, it may happen
that `confestval' be read in binary mode.  The shell then fails to
properly strip the rn.
Reported by Lars J. Aas.
* aclang.m4 (AC_LANG_INT_SAVE): Don't add any trailing new line,
and close the file.
Suggested by Peter Eisentraut.
2000-11-30 14:49:43 +00:00
Akim Demaille
0af3f6af7b * m4sugar.m4 (ifval, ifset, ifdef, ifndef, m4_ifvanl): Rename as...
(m4_ifval, m4_ifset, m4_ifdef, m4_ifndef, m4_ifvaln): this.
(m4_n): New macro.
(m4_ifvaln): Use it.
* autoconf.m4 (ifdef): Restore it.
2000-11-29 10:09:44 +00:00
Akim Demaille
3e56675bc8 A single m4_require is enough.
* m4sugar.m4 (_m4_require): $2 defaults to $1.
Rename as...
(m4_require): this.
* acgeneral.m4 (_AC_REQUIRE): Remove, use m4_require if you want
to get into the gory details.
2000-11-14 11:06:37 +00:00
Akim Demaille
300fbf12d3 Set AC_LANG_PREPROC_REQUIRE which replaces AC_REQUIRE_CPP.
The main difference is that the former requires AC_LANG_COMPILER.
* aclang (AC_LANG_PREPROC, AC_LANG_PREPROC(C), AC_LANG_PREPROC(C++))
(AC_LANG_PREPROC(Fortran 77), AC_LANG_PREPROC_REQUIRE): New
macros.  Issue a warning when looking for the Fortran 77
preprocessor instead of an error.
(AC_LANG_COMPILER): Check that it is run before the corresponding
AC_LANG_PREPROC.
(AC_PROG_C
(AC_LANG_COMPILER_REQUIRE): Don't call directly
AC_LANG_COMPILER(_AC_LANG), rather invoke AC_LANG_COMPILER so that
the generic code in AC_LANG_COMPILER is run.
(AC_REQUIRE_CPP): Use AC_LANG_PREPROC_REQUIRE.
(AC_PROG_CC, AC_PROG_CXX): Don't require being run before the
corresponding AC_LANG_PREPROC: AC_LANG_COMPILER does it.
Propagate AC_LANG_PREPROC_REQUIRE.
* acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP): Use it instead of
AC_REQUIRE_CPP.
* acspecific.m4 (_AC_DECL_YYTEXT, AC_PATH_X): Don't
AC_REQUIRE_CPP, inner macro will do it.
* aclang.m4 (AC_PROG_GCC_TRADITIONAL, AC_C_STRINGIZE)
(AC_C_PROTOTYPES): Likewise.
(AC_C_STRINGIZE): Yeeks!  The body of AC_CACHE_CHECK was not
quoted.  Use @%:@ do assist Emacs.
For some reason (don't ask), this revamping revealed that
AC_PROG_CC_STDC, because of the `break', does not clean its tmp
files.
* aclang.m4 (AC_PROG_CC_STDC): Extract the creation of conftest.c
out of AC_COMPILE_IFELSE.
Be sure to clean the tmp files.
2000-11-14 10:44:27 +00:00
Akim Demaille
cc2c99e90b Move AC_MSG_* into M4sh.
* acgeneral.m4 (_AC_SH_QUOTE, _AC_SH_QUOTE_IFELSE, _AC_ECHO): Move
to...
* m4sh.m4 (_AS_QUOTE, _AS_QUOTE_IFELSE, _AS_ECHO): here.
(AS_MESSAGE, AS_WARN, AS_ERROR): New.
* acgeneral.m4 (AC_MSG_NOTICE, AC_MSG_WARN, AC_MSG_ERROR): Use them.
(AC_FD_MSG, AC_FD_LOG): Be AU_ALIAS'es of...
(AS_MESSAGE_FD, AS_MESSAGE_LOG_FD): new.
Adjust all dependencies.
2000-11-14 10:11:43 +00:00
Akim Demaille
371ebd560e Use AC_MSG_ERROR in `config.status', but adjust AC_MSG_* to use $0
instead of hard coded `configure'.
* acgeneral.m4 (AC_COPYRIGHT): s/configure.in/__file__/.
(_AC_INIT_DEFAULTS_FDS): Append to AC_FD_LOG instead of creating
it.  No longer insert the configure banner.
(_AC_INIT_DEFAULTS): Create config.log with the banner.
Define `as_me'.
(_AC_INIT_PARSE_ARGS, _AC_INIT_PREPARE, AC_MSG_NOTICE)
(AC_MSG_CHECKING, AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED)
(AC_MSG_WARN, AC_MSG_ERROR, AC_MSG_ERROR, AC_TRY_CPP)
(_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE)
(_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_PROG_F77_V_OUTPUT): Use
`$as_me' instead of `configure'.
(AC_OUTPUT): Get rid of the UCA, and of the empty line when
dumping confdefs.h into config.log.
(_AC_OUTPUT_CONFIG_STATUS): Use _AC_INIT_DEFAULTS_FDS.
Print a banner.
Use AC_MSG_ERROR and AC_MSG_NOTICE.
* acgeneral.m4 (AC_CACHE_LOAD, _AC_OUTPUT_FILES, _AC_OUTPUT_LINKS)
(_AC_OUTPUT_HEADERS):  Use AC_MSG_NOTICE.
* tests/semantics.at (missing templates): Adjust.
2000-11-14 10:05:14 +00:00
Pavel Roskin
03d06c0d47 * acfunctions.m4: Always quote first argument of AC_MSG_ERROR,
AC_MSG_WARN, AC_MSG_CHECKING, AC_MSG_RESULT,
AC_MSG_RESULT_UNQUOTED.
* acgeneral.m4: Likewise.
* aclang.m4: Likewise.
* acspecific.m4: Likewise.
* configure.in: Likewise.
* doc/autoconf.texi: Likewise.
2000-11-11 05:59:21 +00:00
Akim Demaille
41ec08f9ed When running
AC_INIT
AC_PROG_CC
AC_LANG_COMPILER_REQUIRE
AC_PROG_CC is expanded twice, because AC_PROG_CC provides
`AC_PROG_CC', and not `AC_LANG_COMPILER(C)' as expected by
AC_LANG_COMPILER_REQUIRE.
* aclang.m4 (AC_LANG_COMPILER(C)): Instead of calling AC_PROG_CC,
require it.
(AC_LANG_COMPILER(C++), AC_LANG_COMPILER(Fortran 77)): Likewise.
2000-11-10 10:57:34 +00:00
Akim Demaille
6a1fe22942 * aclang.m4 (AC_LANG_PROGRAM(Fortran 77): Complain about $1 having
a value.
Reported by Paul Martinolich.
(_AC_LANG_COMPILER_GNU): Pass the test as the body of
AC_LANG_PROGRAM, not the prologue.
2000-11-08 17:46:24 +00:00
Akim Demaille
a9102fbdf9 * aclang.m4 (ac_cv_prog_gcc, ac_cv_prog_gxx, ac_cv_prog_g77):
Be AU_DEFUN'd, not AU_ALIAS'd.
Reported by Ralf Corsepius.
* tests/mktests.sh (exclude_list): Skip these variables.
2000-11-07 14:16:54 +00:00
Akim Demaille
e927749bb5 * Makefile.am (.m4.m4f): Check that processing produces only
comments and empty lines.
Check that freezing produced no output.
* m4sugar.m4: Commentize what was not.
* m4sh.m4: Likewise.
* aclang.m4: Formatting changes.
2000-11-03 14:01:58 +00:00
Akim Demaille
ded24ff599 * autoconf.m4 (define): Reestablish only after having read the
`ac' files.
Adjust all the Autoconf code to use `m4_define', not `define'.
2000-11-03 13:41:40 +00:00
Akim Demaille
7e4f776a09 * autoconf.m4: Instead of reactivating the macros before reading
Autoconf's file, do it afterwards, so that Autoconf promotes the
right use, but users still can use the old names.
Of course this revealed numerous non updated uses of old macros in
Autoconf's files.  Adjust them.
But for the time being, keep `define' alive for Autoconf.
2000-11-03 11:14:48 +00:00
Akim Demaille
2353e0d366 * m4sugar.m4 (popdef, pushdef): Rename as...
(m4_popdef, m4_pushdef): these.
Adjust dependencies.
* acgeneral.m4: Adjust.
* aclang.m4: Likewise.
* autoconf.m4 (popdef, pushdef): Reactivate them.
2000-11-02 14:12:18 +00:00
Akim Demaille
4c40aa086f Move the handling of diversions into M4sugar.
* acgeneral.m4 (_AC_DIVERT, AC_DIVERT, AC_DIVERT_PUSH)
(AC_DIVERT_POP): Move to...
* m4sugar.m4 (_m4_divert, m4_divert, m4_divert_push)
(m4_divert_pop): here.
* acgeneral.m4: Adjust to use only the M4sugar macros.
Nevertheless...
(AC_DIVERT_PUSH, AC_DIVERT_POP): New wrappers around the M4sugar
macros.
(_AC_DIVERT(...)): Rename all the diversions names as...
(_m4_divert(...)): these.
2000-10-30 19:01:24 +00:00
Pavel Roskin
3ab42e94a3 * aclang.m4 (AC_REQUIRE_CPP): Don't default to C++ - call AC_FATAL
for unsupported languages.
2000-10-28 16:33:19 +00:00
Akim Demaille
b60b89ed66 * m4sugar.m4: (m4_tolower, m4_toupper): New macros.
* acgeneral.m4 (AC_PREFIX_PROGRAM): Use m4_toupper().
* aclang.m4 (AC_F77_FUNC): Use m4_toupper()/m4_tolower().
2000-10-24 17:25:18 +00:00
Pavel Roskin
0c101b88ae * acfunctions.m4 (AC_FUNC_CHOWN): Remove temporary files on exit.
(AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
        (AC_FUNC_SELECT_ARGTYPES): Likewise.
        (AC_FUNC_UTIME_NULL): Likewise.
        * acgeneral.m4 (_AC_COMPUTE_INT): Likewise.
        * aclang.m4 (_AC_F77_NAME_MANGLING): Likewise.
        * acspecific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
2000-10-23 04:07:42 +00:00
Akim Demaille
e9021957ad * aclang.m4 (_AC_PROG_CC_G): Use the _AC_COMPILE_IFELSE macro
instead of reinventing the wheel. This also takes care of a bug
where the "-g" option was accepted if the compiler silently exits
with status unequal to 0.
(_AC_PROG_CXX_G): Likewise.
(AC_PROG_CC): As _AC_PROG_CC_G depends on $ac_objext and
$ac_exeext, move the expansion of _AC_OBJEXT and _AC_EXEEXT in
front of _AC_PROG_CC_G.
(AC_PROG_CXX, AC_PROG_F77): Likewise.
2000-10-18 16:18:18 +00:00
Akim Demaille
11e6ca2c9b * aclang.m4 (_AC_LANG_COMPILER_GNU): New macro, which unifies...
(_AC_PROG_F77_GNU, _AC_PROG_CC_GNU, _AC_PROG_CXX_GNU): Remove.
Adjust dependencies.
(ac_cv_prog_gcc, ac_cv_prog_gxx, ac_cv_prog_g77): AU_ALIAS'ed.
2000-10-16 18:40:19 +00:00
Akim Demaille
1e3cdfe0a3 * acgeneral.m4: Adjust copyright notice.
* acspecific.m4: Likewise.
* acoldnames.m4: Likewise.
* acversion.m4.in: Likewise.
* autoconf.sh: Likewise.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
* autoscan.pl: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Likewise.
2000-10-16 18:25:55 +00:00
Akim Demaille
2499688c24 Macros used by AC_LANG_COMPILER macros shall not AC_REQUIRE
AC_LANG_COMPILER by the way of AC_COMPILE_IFELSE etc.
* acspecific.m4 (_AC_EXEEXT): Use _AC_LINK_IFELSE, not
AC_LINK_IFELSE to avoid AC_REQUIREing AC_PROG_CC which precisely
requires _AC_EXEEXT.
Don't run _AC_CYGWIN, _AC_MINGW32, _AC_EMXOS2.
* aclang.m4 (_AC_PROG_F77_G): Use _AC_COMPILE_IFELSE, not
AC_COMPILE_IFELSE.
(_AC_LANG_COMPILER_WORKS): Use _AC_LINK_IFELSE, not
AC_LINK_IFELSE.
2000-10-12 12:39:25 +00:00
Akim Demaille
505d2c60df * acgeneral.m4 (AC_RUN_IFELSE): Add missing executable suffix.
* aclang.m4 (_AC_LANG_COMPILER_WORKS): Likewise.
* aclang.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O): Fix typos where
$objext were used instead of $ac_objext.
2000-10-11 14:51:28 +00:00
Akim Demaille
c7a8dfd1cf * aclang.m4 (_AC_LANG_ABBREV, _AC_LANG_ABBREV(C))
(_AC_LANG_ABBREV(C++), _AC_LANG_ABBREV(Fortran 77): New macros.
(AC_LANG_(C), AC_LANG_(C++), AC_LANG_(Fortran 77)): Don't define
AC_LANG_ABBREV.
(_AC_PROG_PREPROC_WORKS): Adjust.
* acgeneral.m4 (_AC_TRY_CPP): Likewise.
2000-10-02 13:11:27 +00:00
Pavel Roskin
c865483335 * acfunctions.m4: Formatting fixes.
* acgeneral.m4: Likewise.
* aclang.m4: Likewise.
* acspecific.m4: Likewise.
* libm4.m4: Likewise.
2000-09-28 14:26:50 +00:00
Pavel Roskin
f4bc20baf8 * aclang.m4 (_AC_LANG_COMPILER_WORKS): Remove []dnl because it
resulted in invalid shell code.
2000-09-27 13:16:13 +00:00
Akim Demaille
949f06e0e8 * aclang.m4 (AC_PROG_CPP): Use double quotes in the for loop
and eliminate ac_tmp_cpp.
(AC_PROG_CXXCPP): Use double quotes in the for loop and
eliminate ac_tmp_cxxcpp.
2000-09-14 07:55:32 +00:00
Akim Demaille
ced19e1e5f * acgeneral.m4 (_AC_TRY_CPP): Don't filter out conftest.$ac_ext
from the output - it is only printed by Visual C that gives
correct exit status.
* aclang.m4 (AC_PROG_CPP): Don't try '${CC-cc} -nologo -E'
by the same reason.
2000-09-14 07:50:14 +00:00
Akim Demaille
c08bb24cf3 * aclocal.m4 (_AC_PROG_CPP_WORKS): Don't use AC_REQUIRE_CPP -
it's useless here. Rename to ...
(_AC_PROG_PREPROC_WORKS): ... this.
2000-09-12 16:05:29 +00:00
Akim Demaille
368c1810a2 The test suite fails on some hosts because for instance
AC_INIT
  AC_CHECK_FUNC(exit)
will not look for a compiler, it will just use `cc'.
Macros that need a compiler should require one.
2000-09-12 13:59:55 +00:00
Akim Demaille
58e8d5c397 * acgeneral.m4 (_AC_TRY_CPP): New macro. It runs the preprocessor
and checks whether it produces errors or warnings. Don't put grep
output into a variable, use another grep instead.
(AC_TRY_CPP): Use _AC_TRY_CPP. Copy conftest.err to config.log
if the case of an error.
* aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)):
define AC_LANG_ABBREV to the short language name.
(_AC_PROG_CPP_WORKS): New macro. It checks whether the current
preprocessor can be used to check for existance of headers.
Most code taken from ...
(AC_PROG_CPP): ... here. Use _AC_PROG_CPP_WORKS. Use shell
"for" to find working CPP. Use AC_LANG_PUSH(C) and AC_LANG_POP -
it's a macro for C only.
(AC_PROG_CXXCPP): Rewritten using _AC_PROG_CPP_WORKS.
2000-09-12 13:02:29 +00:00
Akim Demaille
d2cb51aef4 * acspecific.m4 (_AC_OBJEXT): No longer use AC_COMPILE_IFELSE,
which uses $ac_objext hence depends upon _AC_OBJEXT.
* aclang.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Call
_AC_EXEEXT before _AC_OBJEXT since the former needs $ac_objext.
2000-09-06 13:05:58 +00:00
Akim Demaille
bddb504cff * aclang.m4 (_AC_PROG_F77_GNU): Run command from standard input so
that we can get some standard output.
2000-09-05 09:14:10 +00:00
Akim Demaille
cf3aea2302 * aclang.m4 (AC_NO_EXECUTABLES): New macro. 2000-08-11 12:41:55 +00:00
Akim Demaille
55d7dff046 * acfunctions.m4 (_AC_LIBOBJ_ALLOCA, AC_REPLACE_FUNCS): Simplify
${foo} into $foo.
* aclang.m4 (AC_LANG(C), AC_LANG(C++)): Move some internal
comments into the header comment.
* acgeneral.m4 (AC_TRY_CPP): Likewise.
2000-08-07 12:33:17 +00:00
Akim Demaille
90f0868cdd * aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Recent changes
inverted the results.  Fix that.
2000-08-02 15:15:26 +00:00
Akim Demaille
c6a72f5bf2 * aclang.m4 (AC_PROG_CC): Also try to find $target_alias-cc. 2000-08-01 13:14:42 +00:00
Akim Demaille
17bf2a2a33 * aclang.m4 (_AC_PROG_CXX_GNU, _AC_PROG_CC_GNU, _AC_PROG_F77_GNU):
Use grep instead of egrep, don't redirect stderr.
2000-08-01 10:03:41 +00:00
Akim Demaille
8914cfdd81 * acgeneral.m4 (_AC_INIT_PREPARE_FDS): New macro, pulled out of
(_AC_INIT_PREPARE): here, where it is called from.
* aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Don't test -z "`foo`".
2000-07-31 09:22:47 +00:00
Akim Demaille
898867a4f5 * aclang.m4 (AC_LANG_CONFTEST, _AC_PROG_CC_GNU, _AC_PROG_CXX_GNU,
_AC_PROG_F77_GNU): Use ac_ext.  Use _ACEOF instead of ACEOF.
2000-07-28 07:55:01 +00:00
Akim Demaille
80a7004bc3 * aclang.m4 (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU,
_AC_PROG_F77_GNU): Use ac_ext.  Use ACEOF instead of EOF.
(AC_LANG_CONFTEST): New macro.
(_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_F77_C_O,
_AC_PROG_F77_V_OUTPUT): Use it.
* acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_COMPILE_IFELSE,
AC_LINK_IFELSE, AC_RUN_IFELSE): Likewise.
2000-07-28 07:36:11 +00:00
Akim Demaille
1173e0e0c9 * aclang.m4 (AC_F77_FUNC): New macro to give the user a clean
way of accessing Fortran name-mangling information other than
through CPP, and without having to know the different possible
name-mangling schemes.
* autoconf.texi: Documented AC_F77_FUNC
2000-07-24 07:58:52 +00:00
Akim Demaille
f47670db70 * aclang.m4 (AC_F77_NAME_MANGLING): Obsolete, becomes
_AC_F77_NAME_MANGLING.
(_AC_F77_NAME_MANGLING): Use independent checks for the
name mangling of symbols with and without underscores.
Use algorithm with for loops instead of recursive macro calls.
(AC_F77_WRAPPERS): Adapt to changes in _AC_F77_NAME_MANGLING.
* doc/autoconf.texi (Fortran 77 Compiler Characteristics):
Remove documentation of AC_F77_NAME_MANGLING.
Remove documentation of f77_case and f77_underscore.
Replace AC_F77_FUNC_WRAPPER with AC_F77_WRAPPERS.
2000-07-19 09:56:18 +00:00
Akim Demaille
b66b88b2a0 * aclang.m4 (AC_PROG_CC): Don't require AC_PROG_F77, require
AC_PROG_CC instead.
From Martin Wilck.
(AC_PROG_F77_C_O): Require AC_PROG_F77.
Use a cache variable independent of $F77.
2000-07-19 09:06:25 +00:00
Akim Demaille
f054152a7b Fixed bug where the F77 compiler output was parsed differently
when detecting the verbose flag than when scanning for linker
options, and as a result the former test failed (under AIX/xlf).

* aclang.m4 (_AC_PROG_F77_V_OUTPUT): New macro to get the
output of linking an F77 program with a given verbose flag,
and preprocess it as required to scan for linker flags.
(_AC_PROG_F77_V): Use the above macro here...
(AC_F77_LIBRARY_LDFLAGS): ...and here, enforcing consistency.
2000-07-18 12:27:05 +00:00
Akim Demaille
b83d0eb6a8 * aclang.m4 (AC_PROG_F77): Delete AC_BEFORE(AC_PROG_CPP) that
leads to unnecessary warnings if both C and Fortran are checked.
(AC_PROG_F77_C_O): AC_REQUIRE AC_PROG_F77 instead of pretend you
need to be AC_BEFORE it.
2000-07-12 17:06:42 +00:00
Akim Demaille
9f7f09bf91 * aclang.m4 (_AC_PROG_F77_V): New macro to determine the flag that
causes the compiler to output verbose linking information.
(AC_F77_LIBRARY_LDFLAGS): Use _AC_PROG_F77_V instead of
simply "-v"
(AC_F77_LIBRARY_LDFLAGS): New algorithm to parse flags, uses
set/shift shell commands.
(AC_F77_LIBRARY_LDFLAGS): Set FLIBS at end, after determining
ac_cv_flibs.
2000-07-12 08:45:32 +00:00