Re: distchecking without FC?

2007-06-21 Thread Benoit Sigoure

Quoting Ralf Wildenhues [EMAIL PROTECTED]:


Hi Noah, Benoit,

* Noah Misch wrote on Thu, Jun 21, 2007 at 03:54:14PM CEST:


Here's the current version of that patch.  It allows `make dist' to
work on a system with no F77/F90 compilers.  Suitable?


Yes, please apply.  It would be nice if Benoit could confirm that it
works for him as well.


Yes it Works For Me (c).  Thank you very much guys.

--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory


This message was sent using IMP, the Internet Messaging Program.






Re: distchecking without FC?

2007-06-21 Thread Noah Misch
On Thu, Jun 21, 2007 at 07:06:01PM +0200, Ralf Wildenhues wrote:
 Yes, please apply.  It would be nice if Benoit could confirm that it
 works for him as well, and nice of you to mention him as bug reporter
 in the ChangeLog entry.  :-)

Done.  Thanks for the reviews and testing.




Re: distchecking without FC?

2007-06-19 Thread Ralf Wildenhues
Hi Noah,

* Noah Misch wrote on Tue, Jun 19, 2007 at 09:36:06PM CEST:
 On Tue, Jun 19, 2007 at 08:38:49PM +0200, Ralf Wildenhues wrote:
  * Noah Misch wrote on Mon, Jun 18, 2007 at 07:43:52AM CEST:
 
 I am somewhat concerned about a developer using `reconfdirs=. ./bootstrap;
 ./configure; make dist' on a fresh checkout and silently losing the
 generated files in the test directories.  With the old mechanism or
 the literal file list mechanism, this cannot happen.  We could fight
 this with a sanity check, like a test on `grep -c Makefile.in
 test-disk.mk'.

Hmm, yes.

 This patch and the literal-file-list one share a further problem: if
 the generated files in test directories are out-of-date, nothing will
 update them.

Indeed.  That's bad.

 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?

 Alas, I did not expect a clean solution to prove so elusive :(

Oh, I fully expected this issue to be ugly.  Which is why I never took a
good stab at it (sorry for offloading this to you).

   +# Bootstrap `.' last.
   +case $reconfdirs in
   +  . | '. '* | *' . '* | *' .') $AUTORECONF --force --verbose --install ;;
   +esac
  
  Why not simple, like above the `find'?
  
  for sub in $reconfdirs; do
test $sub = .  $AUTORECONF --force --verbose --install
  done
 
 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.

Cheers, and thanks,
Ralf




Re: distchecking without FC?

2007-06-17 Thread Noah Misch
Hi Ralf,

On Sat, Jun 16, 2007 at 11:13:36AM +0200, Ralf Wildenhues wrote:
 * Noah Misch wrote on Fri, Jun 15, 2007 at 02:42:04AM CEST:
  Therefore, I took a different approach:
  list the files to distribute directly in the top-level Makefile.am,
  and do not bother to configure the test directories for `make dist'.
 
 This would break down at the point when Autoconf or Automake decide to
 generate a different set of files (and we try to support both older and
 newer version).  Arguably this doesn't happen too often, and Stepan has
 too little time to carry out his plans...

True.

  If better, we could compromise between complexity
  and redundancy by generating the list of files at `bootstrap' time.
 
 If you've already tried this, please post the patch.  Thanks.
 Otherwise I suppose we can cross the bridge when we come to it
 (you could put a FIXME above the list).

Not yet, sorry.  I can look into it.

  In any case, `make dist' runs an order magnitude faster.
 
 FWIW, I could care less about `dist' time.  `check' and `all' are much
 more interesting.

Certainly; this speed improvement is but a minor bonus.

  While examining this, I tried `make distcheck'.  It failed due to a
  `config.log' left in tests/fcdemo when its `configure' fails.  This
  patch incorporates a two-line fix to avoid that problem.
 
 This is fine.
 
 It seems the others like this patch, so I won't stand in the way.  ;-)

Thanks.  Now if only I can entice someone to install it.

Thanks,
Noah




Re: distchecking without FC?

2007-06-16 Thread Ralf Wildenhues
Hi Noah,

* Noah Misch wrote on Fri, Jun 15, 2007 at 02:42:04AM CEST:
 
 It was possible to generalize the f77demo/fcdemo configure script
 hacks to make them work with no Fortran compiler at all.  Even so, it
 looked increasingly fragile.  Therefore, I took a different approach:
 list the files to distribute directly in the top-level Makefile.am,
 and do not bother to configure the test directories for `make dist'.

This would break down at the point when Autoconf or Automake decide to
generate a different set of files (and we try to support both older and
newer version).  Arguably this doesn't happen too often, and Stepan has
too little time to carry out his plans...

 If better, we could compromise between complexity
 and redundancy by generating the list of files at `bootstrap' time.

If you've already tried this, please post the patch.  Thanks.
Otherwise I suppose we can cross the bridge when we come to it
(you could put a FIXME above the list).

 In any case, `make dist' runs an order magnitude faster.

FWIW, I could care less about `dist' time.  `check' and `all' are much
more interesting.

 While examining this, I tried `make distcheck'.  It failed due to a
 `config.log' left in tests/fcdemo when its `configure' fails.  This
 patch incorporates a two-line fix to avoid that problem.

This is fine.

It seems the others like this patch, so I won't stand in the way.  ;-)

Cheers, and thanks for your work,
Ralf

 2007-06-14  Noah Misch  [EMAIL PROTECTED]
 
   * Makefile.am (configure-subdirs, @DIST_MAKEFILE_LIST@, DIST_SUBDIRS):
   Delete.
   (cdemo_dist, demo_dist, depdemo_dist, f77demo_dist, fcdemo_dist)
   (mdemo_dist, mdemo2_dist, pdemo_dist, tagdemo_dist): New variables.
   (EXTRA_DIST): Add the contents of those variables.
   (clean-local-legacy): Delete `config.log' in test directories.
   * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Delete.




Re: distchecking without FC?

2007-06-15 Thread Noah Misch
On Thu, Jun 14, 2007 at 08:50:41PM -0500, Bob Friesenhahn wrote:
 On Thu, 14 Jun 2007, Noah Misch wrote:
 
 `make dist' now works fine on a system with no Fortran.  The list of files 
 in
 the distribution has not changed.

 Normally I would be more in favor of narrowing the scope of management 
 to as close to the file as possible.  However, an order of magnitude 
 speed improvement sounds great to me and the tests directories have 
 certainly been burdensome.  Presumably there is a substantial speed 
 improvement while bootstrapping and configuring the project as well.

The subdirectory configures would still exist; bootstrap and test would take the
same amount of time.  `make dist' will no longer need to configure the test
directories, so that part does improve.




distchecking without FC?

2007-06-14 Thread Benoit Sigoure

Hello,
is there any reason why I can checkout, configure and make all check  
libtool HEAD but not distcheck it?  Configure would complain (only  
during distcheck) that I don't have a working Fortran compiler.


--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory


This message was sent using IMP, the Internet Messaging Program.






Re: distchecking without FC?

2007-06-14 Thread Noah Misch
On Thu, Jun 14, 2007 at 01:47:12PM +0200, Benoit Sigoure wrote:
 is there any reason why I can checkout, configure and make all check  
 libtool HEAD but not distcheck it?  Configure would complain (only  
 during distcheck) that I don't have a working Fortran compiler.

I posted a patch to fix this:
http://lists.gnu.org/archive/html/libtool-patches/2007-05/msg2.html




Re: distchecking without FC?

2007-06-14 Thread Benoit Sigoure

Quoting Noah Misch [EMAIL PROTECTED]:


On Thu, Jun 14, 2007 at 01:47:12PM +0200, Benoit Sigoure wrote:

is there any reason why I can checkout, configure and make all check
libtool HEAD but not distcheck it?  Configure would complain (only
during distcheck) that I don't have a working Fortran compiler.


I posted a patch to fix this:
http://lists.gnu.org/archive/html/libtool-patches/2007-05/msg2.html



Thanks for the pointer,
my working copy has (only) these changes:

$ cvs diff -u
Index: Makefile.am
===
RCS file: /sources/libtool/libtool/Makefile.am,v
retrieving revision 1.221
diff -u -r1.221 Makefile.am
--- Makefile.am 4 Jun 2007 03:01:10 -   1.221
+++ Makefile.am 14 Jun 2007 12:47:53 -
@@ -109,7 +109,7 @@
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


 # -- #
Index: tests/fcdemo/configure.ac
===
RCS file: /sources/libtool/libtool/tests/fcdemo/configure.ac,v
retrieving revision 1.4
diff -u -r1.4 configure.ac
--- tests/fcdemo/configure.ac   25 Mar 2007 12:12:43 -  1.4
+++ tests/fcdemo/configure.ac   14 Jun 2007 12:47:53 -
@@ -31,6 +31,9 @@
 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. ##
 ##  ##
@@ -53,7 +56,11 @@
 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 When configuring for `make dist' purposes, skip this check, as it  
yields a

+dnl fatal error when there is no working F90 compiler.
+if test -z $with_dist; then
+  AC_FC_SRCEXT([f90])
+fi
 dnl Yes, we want free form Fortran!
 AC_FC_FREEFORM
 AC_LANG_POP


But I still get:
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking how to get verbose linking output from ... configure:  
WARNING: compilation failed


checking for Fortran 77 libraries of ...
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... configure: error:  
cannot compile a simple Fortran program

See `config.log' for more details.
make: *** [tests/f77demo/Makefile] Error 1

--
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory


This message was sent using IMP, the Internet Messaging Program.






Re: distchecking without FC?

2007-06-14 Thread Noah Misch
On Thu, Jun 14, 2007 at 02:52:45PM +0200, Benoit Sigoure wrote:
 Quoting Noah Misch [EMAIL PROTECTED]:
 On Thu, Jun 14, 2007 at 01:47:12PM +0200, Benoit Sigoure wrote:
 is there any reason why I can checkout, configure and make all check
 libtool HEAD but not distcheck it?  Configure would complain (only
 during distcheck) that I don't have a working Fortran compiler.
 
 I posted a patch to fix this:
 http://lists.gnu.org/archive/html/libtool-patches/2007-05/msg2.html
 
 Thanks for the pointer,

 But I still get:
 checking whether we are using the GNU Fortran 77 compiler... no
 checking whether  accepts -g... no

Ah, you have no F77 compiler either.  The patch I posted only works around an
absent `FC' (F95) compiler.  Thanks; I'll look at generalizing it.




Re: distchecking without FC?

2007-06-14 Thread Noah Misch
On Thu, Jun 14, 2007 at 09:02:39AM -0700, Noah Misch wrote:
 On Thu, Jun 14, 2007 at 02:52:45PM +0200, Benoit Sigoure wrote:
  Quoting Noah Misch [EMAIL PROTECTED]:
  On Thu, Jun 14, 2007 at 01:47:12PM +0200, Benoit Sigoure wrote:
  is there any reason why I can checkout, configure and make all check
  libtool HEAD but not distcheck it?  Configure would complain (only
  during distcheck) that I don't have a working Fortran compiler.
  
  I posted a patch to fix this:
  http://lists.gnu.org/archive/html/libtool-patches/2007-05/msg2.html
  
  Thanks for the pointer,
 
  But I still get:
  checking whether we are using the GNU Fortran 77 compiler... no
  checking whether  accepts -g... no
 
 Ah, you have no F77 compiler either.  The patch I posted only works around an
 absent `FC' (F95) compiler.  Thanks; I'll look at generalizing it.

It was possible to generalize the f77demo/fcdemo configure script hacks to make
them work with no Fortran compiler at all.  Even so, it looked increasingly
fragile.  Therefore, I took a different approach: list the files to distribute
directly in the top-level Makefile.am, and do not bother to configure the test
directories for `make dist'.  If better, we could compromise between complexity
and redundancy by generating the list of files at `bootstrap' time.  In any
case, `make dist' runs an order magnitude faster.

`make dist' now works fine on a system with no Fortran.  The list of files in
the distribution has not changed.

While examining this, I tried `make distcheck'.  It failed due to a `config.log'
left in tests/fcdemo when its `configure' fails.  This patch incorporates a
two-line fix to avoid that problem.

Comments, anyone?


2007-06-14  Noah Misch  [EMAIL PROTECTED]

* Makefile.am (configure-subdirs, @DIST_MAKEFILE_LIST@, DIST_SUBDIRS):
Delete.
(cdemo_dist, demo_dist, depdemo_dist, f77demo_dist, fcdemo_dist)
(mdemo_dist, mdemo2_dist, pdemo_dist, tagdemo_dist): New variables.
(EXTRA_DIST): Add the contents of those variables.
(clean-local-legacy): Delete `config.log' in test directories.
* configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Delete.

diff -urp -X ../dontdiff lt-clean/configure.ac lt-fdist/configure.ac
--- lt-clean/configure.ac   2007-03-26 15:18:43.0 -0500
+++ lt-fdist/configure.ac   2007-06-14 18:09:27.0 -0400
@@ -153,18 +153,6 @@ if test x${enable_ltdl_install+set} !=
   enable_ltdl_install=yes
 fi
 
-# All subdirectories that are configured on demand, but that must be
-# included in the distribution.
-CONF_SUBDIRS=tests/cdemo tests/demo tests/depdemo tests/f77demo tests/fcdemo \
-   tests/mdemo tests/mdemo2 tests/pdemo tests/tagdemo
-AC_SUBST([CONF_SUBDIRS])
-
-DIST_MAKEFILE_LIST=
-for dir in $CONF_SUBDIRS; do
-  DIST_MAKEFILE_LIST=${DIST_MAKEFILE_LIST}$dir/Makefile 
-done
-AC_SUBST([DIST_MAKEFILE_LIST])
-
 
 ##  ##
 ## compiler checks. ##
diff -urp -X ../dontdiff lt-clean/Makefile.am lt-fdist/Makefile.am
--- lt-clean/Makefile.am2007-06-14 12:37:28.0 -0400
+++ lt-fdist/Makefile.am2007-06-14 19:34:03.0 -0400
@@ -103,14 +103,6 @@ libtool: $(top_builddir)/config.status $
  cd $(top_builddir)  $(SHELL) ./config.status $$target; \
fi
 
-.PHONY: configure-subdirs
-configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
[EMAIL PROTECTED]@:
-   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
-
 
 # -- #
 # Bootstrap. #
@@ -599,6 +591,60 @@ COMMON_TESTS = \
tests/mdemo-inst.test tests/mdemo-unst.test \
tests/cdemo-undef.test tests/cdemo-make.test tests/cdemo-exec.test
 
+cdemo_dist = tests/cdemo/aclocal.m4 tests/cdemo/configure  
\
+tests/cdemo/configure.ac tests/cdemo/foo.c tests/cdemo/foo.h 
tests/cdemo/main.c\
+tests/cdemo/Makefile.am tests/cdemo/Makefile.in tests/cdemo/README
+
+demo_dist = tests/demo/aclocal.m4 tests/demo/configure tests/demo/configure.ac 
\
+tests/demo/dlmain.c tests/demo/foo.c tests/demo/foo.h tests/demo/hell1.c   
\
+tests/demo/hell2.c tests/demo/hello.c tests/demo/main.c tests/demo/Makefile.am 
\
+tests/demo/Makefile.in tests/demo/README
+
+depdemo_dist = tests/depdemo/l1/l1.c tests/depdemo/l1/l1.h 
\
+tests/depdemo/l1/Makefile.am tests/depdemo/l1/Makefile.in 
tests/depdemo/l2/l2.c\
+tests/depdemo/l2/l2.h tests/depdemo/l2/Makefile.am 
tests/depdemo/l2/Makefile.in\
+tests/depdemo/l3/l3.c tests/depdemo/l3/l3.h tests/depdemo/l3/Makefile.am   
\
+tests/depdemo/l3/Makefile.in tests/depdemo/l4/l4.c tests/depdemo/l4/l4.h   
\
+tests/depdemo/l4/Makefile.am tests/depdemo/l4/Makefile.in  
\
+tests/depdemo/aclocal.m4 tests/depdemo/README tests/depdemo/configure  
\
+tests/depdemo/configure.ac 

Re: distchecking without FC?

2007-06-14 Thread Bob Friesenhahn

On Thu, 14 Jun 2007, Noah Misch wrote:


`make dist' now works fine on a system with no Fortran.  The list of files in
the distribution has not changed.

While examining this, I tried `make distcheck'.  It failed due to a `config.log'
left in tests/fcdemo when its `configure' fails.  This patch incorporates a
two-line fix to avoid that problem.

Comments, anyone?


Normally I would be more in favor of narrowing the scope of management 
to as close to the file as possible.  However, an order of magnitude 
speed improvement sounds great to me and the tests directories have 
certainly been burdensome.  Presumably there is a substantial speed 
improvement while bootstrapping and configuring the project as well.


Bob
==
Bob Friesenhahn
[EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/