Hi Ralf, On Tue, Jun 19, 2007 at 09:52:40PM +0200, Ralf Wildenhues wrote: > * Noah Misch wrote on Tue, Jun 19, 2007 at 09:36:06PM CEST: > > The current code gets that right, at least. > > Well, this is an argument for showing your latest version of > tests/f{c,77}demo/configure.ac changes to become nonlethal in case of > non-presence of Fortran (77) compilers. Did you get much further there?
Here's the current version of that patch. It allows `make dist' to work on a system with no F77/F90 compilers. Suitable? > > We must bootstrap the test directories first (so the relevant files > > exist), then generate test-dist.mk, then bootstrap the root directory > > (where Makefile.am includes test-dist.mk). > > Sure. That's why I suggested repeating the loop down below again, but > now only picking `.'. I simply thought that a second loop looks cleaner > (and is probably faster) than a complicated case expression. But since > we're rather moving away from this patch variant, this minor point > matters little. Ah; I misunderstood you. Yes. 2007-06-21 Noah Misch <[EMAIL PROTECTED]> * tests/f77demo/configure.ac [--with-dist]: New option. Skip most Fortran checks when given. * tests/fcdemo/configure.ac [--with-dist]: Likewise. * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist. diff -urp -X ../dontdiff lt-clean/Makefile.am lt-fdist/Makefile.am --- lt-clean/Makefile.am 2007-06-14 12:37:28.000000000 -0400 +++ lt-fdist/Makefile.am 2007-06-21 08:17:49.000000000 -0400 @@ -109,7 +109,7 @@ configure-subdirs distdir: $(DIST_MAKEFI dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \ test -d $$dir || mkdir $$dir || exit 1; \ abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; \ - (cd $$dir && $$abs_srcdir/$$dir/configure) || exit 1 + (cd $$dir && $$abs_srcdir/$$dir/configure --with-dist) || exit 1 # ---------- # diff -urp -X ../dontdiff lt-clean/tests/f77demo/configure.ac lt-fdist/tests/f77demo/configure.ac --- lt-clean/tests/f77demo/configure.ac 2007-03-25 07:12:43.000000000 -0500 +++ lt-fdist/tests/f77demo/configure.ac 2007-06-21 09:18:41.000000000 -0400 @@ -31,6 +31,9 @@ AC_CONFIG_HEADERS([config.h:config-h.in] AC_CONFIG_SRCDIR([foof.f]) AC_CONFIG_AUX_DIR([../../libltdl/config]) +AC_ARG_WITH([dist], AS_HELP_STRING([--with-dist], + [ignore errors not affecting `make dist'])) + ## ------------------------ ## ## Automake Initialisation. ## ## ------------------------ ## @@ -46,10 +49,14 @@ AC_PROG_CC ## Fortran compiler checks. ## ## ------------------------ ## AC_PROG_F77 -dnl Check the flags needed to link f77 programs with ld (i.e. cc) -AC_F77_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_F77_WRAPPERS +dnl When configuring for `make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F77 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link f77 programs with ld (i.e. cc) + AC_F77_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_F77_WRAPPERS +fi ## ----------------------- ## ## Libtool initialisation. ## diff -urp -X ../dontdiff lt-clean/tests/fcdemo/configure.ac lt-fdist/tests/fcdemo/configure.ac --- lt-clean/tests/fcdemo/configure.ac 2007-03-25 07:12:43.000000000 -0500 +++ lt-fdist/tests/fcdemo/configure.ac 2007-06-21 09:18:50.000000000 -0400 @@ -31,6 +31,9 @@ AC_CONFIG_HEADERS([config.h:config-h.in] AC_CONFIG_SRCDIR([foof.f90]) AC_CONFIG_AUX_DIR([../../libltdl/config]) +AC_ARG_WITH([dist], AS_HELP_STRING([--with-dist], + [ignore errors not affecting `make dist'])) + ## ------------------------ ## ## Automake Initialisation. ## ## ------------------------ ## @@ -47,15 +50,19 @@ AC_PROG_CC ## ------------------------ ## AC_LANG_PUSH([Fortran]) AC_PROG_FC -dnl Check the flags needed to link fc programs with ld (i.e. cc) -AC_FC_LIBRARY_LDFLAGS -dnl Check for underscoring of external names -AC_FC_WRAPPERS -dnl We need to use .f90 and not .f to enable Automake FC support -dnl Some Intel ifc/ifort do not understand .f95. :-/ -AC_FC_SRCEXT([f90]) -dnl Yes, we want free form Fortran! -AC_FC_FREEFORM +dnl When configuring for `make dist' purposes, skip checks that may yield fatal +dnl errors when there is no working F90 compiler. +if test -z "$with_dist"; then + dnl Check the flags needed to link fc programs with ld (i.e. cc) + AC_FC_LIBRARY_LDFLAGS + dnl Check for underscoring of external names + AC_FC_WRAPPERS + dnl We need to use .f90 and not .f to enable Automake FC support + dnl Some Intel ifc/ifort do not understand .f95. :-/ + AC_FC_SRCEXT([f90]) + dnl Yes, we want free form Fortran! + AC_FC_FREEFORM +fi AC_LANG_POP ## ----------------------- ##