Re: Error because README is missing

2004-12-01 Thread Akim Demaille
 Andreas == Andreas Schwab [EMAIL PROTECTED] writes:

  Untested code ahead.

  m4_syscmd([test -f build.sh.in])dnl
  m4_if(m4_sysval, 0, [AC_CONFIG_FILES(build.sh)])

Bad idea: side effects are incompatible with the (autom4te) cache.  If
the environment changes but not the sources of configure, it won't be
regenerated.  Similarly with what Automake needs to trace.




Re: RFC for new FAQ entry: Flag Variables Ordering

2004-12-01 Thread Stepan Kasal
Hello,

On Tue, Nov 30, 2004 at 07:02:22AM -0800, Bruce Korb wrote:
 would make sense to add AM_LDADD as a synonym for LDADD purely for

that sounds weird.  I have an alternative proposal:

Automake could watch for variables named AM_* and if it doesn't
recognize them, it could issue a warning.
This shouldn't annouy anyone, AM_ os kind of reserved prefix in
Automake.

Just my 1/256 pound.

Have a nice day,
Stepan




svn copy conflicts with autotools ?

2004-12-01 Thread Eric PAIRE
Hi all,
Here is the description of a problem met with subversion and autotools.
If anybody has a clean solution, let me/us know:
1) I have a project using the autotools for the environment management.
2) The project compiles without any problem in the 'trunk' directory.
3) I have set up a tag with 'svn copy' so that the tagged version is the 
exact
   copy of the version in the 'trunk' directory.
4) Another user gets the tagged version with a 'svn co' and runs 'configure'
   on it. And now ...

The problem is that all the dates of the checked out files have been 
modified,
and when running 'make', the first thing run is 'autoconf' and 
'automake', thus
modifying source directory files (configure, ...). It was even worst in 
our case, as
the autotools installed on the machine were too old and 'make' stopped 
without
having built anything :-( :-( The result is that checking out a tagged 
version may
lead to an unusable source tree (at least a tree needing some source 
file modifications).

This is the reason why I don't think it is a good thing that the 
subversion philosophy
of timestamps conflicts with autotools one. I am looking for a solution 
that would
allow a checkout to avoid rebuilding source files when not necessary. 
Timestamps
need to be preserved somewhat, and I think that the way subversion 
manages currently
timestamps should be coherent with autotools (or autotools should be 
modified to
handle subversion philosophy), and in particular when doing a 'svn copy'.

Thanks for your comments (and your solutions),
Eric PAIRE




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Leonardo Boiko
Eric PAIRE wrote:
The problem is that all the dates of the checked out files have been 
modified,
and when running 'make', the first thing run is 'autoconf' and 
'automake', thus
modifying source directory files (configure, ...).
You seem to keep generated files like Makefile and configure in the 
repository.  We follow a different approach; no generated files are 
versioned, not even auxiliary scripts.  A developer who wants to compile 
from repository should have the correct autotoolset version and run 
autoreconf -ifs and configure first.

This is what a svn:ignore looks like for a typical top_srcdir:
  autom4te.cache
  build
  Makefile.in
  configure
  aclocal.m4
  config.h.in
  aux
Note that we usually build from the build subdirectory, not directly 
from top_srcdir, and that auxiliary files like config.guess are kept 
in aux.

If a developer wants to compile without using autotools, he should use a 
distribution tarball (generated by make dist), not the subversion sources.

It works :)
--
Leonardo Boiko


signature.asc
Description: OpenPGP digital signature


Re: svn copy conflicts with autotools ?

2004-12-01 Thread Stepan Kasal
Hi,

On Wed, Dec 01, 2004 at 11:24:33AM -0200, Henrique de Moraes Holschuh wrote:
 On Wed, 01 Dec 2004, Stepan Kasal wrote:
  I learned from that text how can autotools and CVS/svn combined.
  Though I personally obey the rule ``no generated files in the RCS'',
  I seriously considered the other alternatives because of that text.
 
 I will read it, I am curious about what it says that could have such a
 strong effect on you.  Maybe it can change my mind about the issue (but I
 doubt it)...

No, it didn't have _strong_ effect.  I just happened to learn about ``CVS in
practice'' from that.  So perhaps we should suggest that the text pushes
the rule ``no generated files in the RCS'' more strongly.

Yours,
Stepan




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Henrique de Moraes Holschuh
On Wed, 01 Dec 2004, Eric PAIRE wrote:
 3) I have set up a tag with 'svn copy' so that the tagged version is the 
 exact
copy of the version in the 'trunk' directory.
 4) Another user gets the tagged version with a 'svn co' and runs 'configure'
on it. And now ...

As it was once so eloquently explained to me by a senior Debian developer
when I asked exactly the same question (but for CVS, since Subversion didn't
exist yet):  If you're doing that, you're weird. Go away.

The translation for that would be:  Why the heck are you keeping
auto-generated files in a RCS system?  Get them out of there, they do NOT
belong in the repository! 

Add a run-this-on-checkout script and proper rules to the makefiles to run
the autotools sequence if the autotools files are not yet available.

As for a bad autotools setup on the build system, well, document properly
what the build system has to have installed for the development versions.
Anyone doing development has to be at least capable of a proper build system
setup, no?

When you generate a release, run autotools before you make a
tar.bz2/tar.gz/.cab/whatever file that you're going to distribute.  This
way, all the autotools scripts are already built and have correct timestamps
inside the distribution archive. Normal users won't need to bother with
autotools configs, then, unless they muck with Makefile.am, configure.in or
something else like that.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Henrique de Moraes Holschuh
On Wed, 01 Dec 2004, Stepan Kasal wrote:
 On Wed, Dec 01, 2004 at 10:13:45AM -0200, Henrique de Moraes Holschuh wrote:
  If you're doing that, you're weird. Go away.
  
  The translation for that would be:  Why the heck are you keeping
  auto-generated files in a RCS system?  Get them out of there, they do NOT
  belong in the repository! 
 
 if you are that firm about the issue, you might try to convince Bruno to
 fix the node ``Files under CVS'' in the gettext manual.

Hmm... just to make things clear, the weird thing was told TO me, not by
me.  It just happens that I think the person who said it was actually right
on the issue (even if HE is the weird one IMHO).

At least for CVS, it has been a major help in my experience to never
register any autogenerated files on version control.  Although I *do* keep
history of all releases, so you could say I have some sort of version
control of everything (including all autogenerated files) as far as released
tarballs go.

 I learned from that text how can autotools and CVS/svn combined.
 Though I personally obey the rule ``no generated files in the RCS'',
 I seriously considered the other alternatives because of that text.

I will read it, I am curious about what it says that could have such a
strong effect on you.  Maybe it can change my mind about the issue (but I
doubt it)...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Leonardo Boiko
Henrique de Moraes Holschuh wrote:
I will read it, I am curious about what it says that could have such a
strong effect on you.  Maybe it can change my mind about the issue (but I
doubt it)...
OTOH I was convinced _not_ to keep autogenerated files in subversion 
thanks to Henrique's README.Debian for the autotools-dev Debian package, 
and that made my life better.  I recommend it for anyone interested in 
this issue.  Thank you, Henrique.

--
Leonardo Boiko


signature.asc
Description: OpenPGP digital signature


Re: svn copy conflicts with autotools ?

2004-12-01 Thread Stepan Kasal
Hi,

On Wed, Dec 01, 2004 at 10:15:12AM -0400, Leonardo Boiko wrote:
 Henrique de Moraes Holschuh wrote:
 Maybe one of the automake targets do a full cleanup, I never tried to track
 that down.  I never needed it.
 
 Doesn't make distclean do that?  But I too never needed it...

no.

make distclean should give you the same tree as when the tarball was
unpacked.

make maintainer-clean deletes a bit more than distclean, but it still
leaves Makefile.in, ./configure, etc.

Even after maintainer clean, you don't need to run more than
./configure  make
to build the package.

I think autotools shouldn't even try to support the ``full cleanup''.
What if the ./autogen.sh (or ./bootstrap) has imported ``config.guess'',
gnulib modules, or whatever?

Automake, autopoint, autoheader could remove the files they generate,
but I doubt its worth the trouble.  Exporting a fresh tree seems much
safer.

Regards,
Stepan Kasal




Re: troubles with conditional install using automake

2004-12-01 Thread Andreas Schwab
Stepan Kasal [EMAIL PROTECTED] writes:

 Hi,

 while I am not able to address your main problem, I'd like to address one
 misunderstanding of the make language:

 On Wed, Dec 01, 2004 at 03:29:10PM +0100, Guillaume Rousse wrote:
 initrd_SCRIPTS is defined to $(INITRD) at the beginning of the Makefile, 
 while INITRD is defined at the end of the Makefile, with other 
 conditional variables, and thus appears empty when it is evaluated.

 No, make doesn't work this way; consider the makefile:

 A = $(BB)

 e:
 echo $(A)

 BB=x


 Then ``make'' runs ``echo x''

But when $(A) appears on the dependency list of e, for example, it will be
expanded already while the makefile is being read in.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
And now for something completely different.




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Alexandre Duret-Lutz
 Stepan == Stepan Kasal [EMAIL PROTECTED] writes:

 Stepan Hello Henrique,
 Stepan On Wed, Dec 01, 2004 at 10:13:45AM -0200, Henrique de Moraes Holschuh 
wrote:
  If you're doing that, you're weird. Go away.
  
  The translation for that would be:  Why the heck are you keeping
  auto-generated files in a RCS system?  Get them out of there, they do NOT
  belong in the repository! 

 Stepan if you are that firm about the issue, you might try to
 Stepan convince Bruno to fix the node ``Files under CVS'' in
 Stepan the gettext manual.

Speaking of manuals, the FAQ section of the Automake manual also
have a node called CVS and listing pros, cons, and workarounds.
-- 
Alexandre Duret-Lutz





Re: troubles with conditional install using automake

2004-12-01 Thread Alexandre Duret-Lutz
 Guillaume == Guillaume Rousse [EMAIL PROTECTED] writes:

[...]

 Guillaume In this situation, I have an installation target for
 Guillaume initrd scripts in generated Makefile, using
 Guillaume $(initrd_SCRIPTS) as dependency. However,
 Guillaume initrd_SCRIPTS is defined to $(INITRD) at the
 Guillaume beginning of the Makefile, while INITRD is defined
 Guillaume at the end of the Makefile, with other conditional
 Guillaume variables, and thus appears empty when it is
 Guillaume evaluated.

What you describes are two bugs that were present in old
versions of Automake.  Please look at the Automake version
number at the top of the generated Makefile you mentioned.  I
believe you are not using Automake 1.8 as you think (it probably
is Automake 1.4).

[...]

 Guillaume BTW, I'm using autoconf 2.53 and automake 1.8

Unlikely: Automake 1.8 requires Autoconf 2.58 or greater.
-- 
Alexandre Duret-Lutz





Re: Support for precompiled C++ headers

2004-12-01 Thread Christian Parpart
On Wednesday 01 December 2004 1:30 am, Dale E. Martin wrote:
  Are there short-term plans to facilitate the generation and use
  of GCC's precompiled headers?
 
  Can anyone point me to a C++ project that is working with
  precompiled headers and that is doing it with the currently
  available versions of automake and autoconf?
  Many thanks in advance,

 I've been wondering about this as well.  Anyone have an answer?

I add myself to the list of users wanting to know about :))

cya,
Christian Parpart.

-- 
Netiquette: http://www.ietf.org/rfc/rfc1855.txt
 00:24:21 up 33 days, 16:54,  0 users,  load average: 0.47, 0.50, 0.53


pgpuE1960YQ0w.pgp
Description: PGP signature


Re: Support for precompiled C++ headers

2004-12-01 Thread Paul F. Kunz
 On Thu, 2 Dec 2004 00:25:48 +0100, Christian Parpart [EMAIL PROTECTED] 
 said:

 On Wednesday 01 December 2004 1:30 am, Dale E. Martin wrote:
  Are there short-term plans to facilitate the generation and use 
 of GCC's precompiled headers?
 
  Can anyone point me to a C++ project that is working with 
 precompiled headers and that is doing it with the currently 
 available versions of automake and autoconf?   Many thanks in
 advance,
 
 I've been wondering about this as well.  Anyone have an answer?

 I add myself to the list of users wanting to know about :))

   me too.




Re: Support for precompiled C++ headers

2004-12-01 Thread Tom Tromey
 Roberto == Roberto Bagnara [EMAIL PROTECTED] writes:

Roberto Can anyone point me to a C++ project that is working with
Roberto precompiled headers and that is doing it with the currently
Roberto available versions of automake and autoconf?

From the gcjx project on sourceforge:


BUILT_SOURCES = [...] typedefs.hh.gch

headers = [...]

## FIXME: need a better way to convince libtool to let us do this.
typedefs.hh.gch: $(headers)
-rm -f typedefs.hh.gch
$(CXXCOMPILE) -fPIC -DPIC -x c++-header -o typedefs.hh.gch 
$(srcdir)/typedefs.hh


As you can see I had to hack around libtool.  I didn't try a more
direct approach, perhaps it would have worked.

Also, I always build this project with --disable-static.

Tom




Re: svn copy conflicts with autotools ?

2004-12-01 Thread Eric PAIRE
Hello Gary,
Gary Thomas wrote:
Bonjour, Eric :-)
On Wed, 2004-12-01 at 04:38, Eric PAIRE wrote:
 

Hi all,
Here is the description of a problem met with subversion and autotools.
If anybody has a clean solution, let me/us know:
1) I have a project using the autotools for the environment management.
2) The project compiles without any problem in the 'trunk' directory.
3) I have set up a tag with 'svn copy' so that the tagged version is the 
exact
   copy of the version in the 'trunk' directory.
4) Another user gets the tagged version with a 'svn co' and runs 'configure'
   on it. And now ...

The problem is that all the dates of the checked out files have been 
modified,
and when running 'make', the first thing run is 'autoconf' and 
'automake', thus
modifying source directory files (configure, ...). It was even worst in 
our case, as
the autotools installed on the machine were too old and 'make' stopped 
without
having built anything :-( :-( The result is that checking out a tagged 
version may
lead to an unusable source tree (at least a tree needing some source 
file modifications).

This is the reason why I don't think it is a good thing that the 
subversion philosophy
of timestamps conflicts with autotools one. I am looking for a solution 
that would
allow a checkout to avoid rebuilding source files when not necessary. 
Timestamps
need to be preserved somewhat, and I think that the way subversion 
manages currently
timestamps should be coherent with autotools (or autotools should be 
modified to
handle subversion philosophy), and in particular when doing a 'svn copy'.

Thanks for your comments (and your solutions),
Eric PAIRE
   

Doesn't setting use-commit-times = yes in your local configuration
file (~/.subversion/config) solve this?  The files will have the 
timestamp of when you committed them last when you check them out.
Thus, you set them up and commit them to the trunk.  All is well with
the auto-tools.  Then copy to your branch/tag.  When you check them out
you'll get the same timestamp if as when you committed them if you have
this option set.

 

Unfortunately, I tried this feature, and it does not solve easily my particular
problem : I need to run multiple 'svn commmit' in order to respect modification
time of all the tools generated which means multiple 'svn copy' in the right
order when tagging a version (a real pain for doing a simple tag :-(
For now, the best existing solution is to not commit autotools generated files
under source control (which makes sense), and to regenerate them inside a
'svn export' tree. But what keeps on puzzling me with this solution is that
you need to modify the source tree of what you 'svn co' in order to be able to
use the package delivered.
Probably the right solution would be to modify the autotools to only get in the
source tree a generic 'configure' able to generate at the very beginning all
autotools files in the object tree without having to modify anything in the
source tree.
It remains clear that autotools and subversion are somewhat in conflict that
should be clearly fixed by both sides, saying what is the solution that is
jointly recommended.
Best regards,
Eric