***Sent again cause this mail got bounce from the automake mailing list 
presumably due to the attachment (now removed)***

On Tuesday 23 September 2008 14:45:33 Brian Dessent wrote:
> Bryan Bennetts wrote:
> > So question #1 is should aclocal.m4 be in my distribution?
>
> Strictly speaking, a user should not even need m4 installed at all (nor
> autoconf, nor automake, etc) to run the configure script and build the
> software.  However common courtesy dictates that you should distribute
> any macros necessary to regenerate everything.  And the maintainer rules
> that automake adds by default will cause problems if you don't.  (You
> can avoid this by making maintainer mode require an explicit
> --enable-maintainer-mode with AM_MAINTAINER_MODE.)

So that's a 'yes', I guess.  I'm not totally sure which files are 
post-configure and which are pre.  A revisit of the doc is probably required, 
I was hoping not to need a too in-depth knowledge of the auto-build systems, 
relying on the magic of KDev to handle it, but looks like I'm not going to 
get away with it :)

>
> > If I do include the aclocal.m4, the configure *still* kicks off automake
> > because of a subdirs file that is created by configure being newer than
> > the configure.in, which the Makefile.in is dependant on.
>
> What exactly do you mean by a subdirs file?

Hmm, seems it *might* be a KDE-ism.  From the Makefile.am :

<snip>
$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
        cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;

$(top_srcdir)/subdirs:
        cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs

$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in 
$(top_srcdir)/admin/libtool.m4.in
        @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > 
acinclude.m4
</snip>

Makefile.common :

<quote>
### Makefile.common
###
### Copyright (C) 2002 by the KDE developers

### All the real work is done by the shellscript cvs.sh
</quote>

Is a fairly impenetrable make target which uses cvs.sh to create a 
file 'subdirs' which lists the (you gonna love this) sub-directories in the 
project - dunno why.

I've attached the tarball of the project so you can peruse at you leisure - 
it'll be quicker than me quoting bits and pieces randomly.

>
> > So question #2 is WTF?!
> >
> > Thanks for any help you can provide - if there's more info you require
> > please let me know.  I can send  tarball of the app, just wasn't sure how
> > well the mailing list would handle it.
>
> I think the real question is how are you generating this distribution
> tarball?  You should be using "make dist" and it should automatically
> include all the necessary files with correct timestamps so as to not
> require any developer tools on the end-user system.  You might also want
> to run "make distcheck" and fix any problems that it reports.

Ah, well I'm using the KDevelop 'Project->Distribution & Publishing' menu 
option, not sure if that uses make dist or not (probably not).  I shall give 
make dist a go and see if the results are more sensible.

Thanks for your help so far.  I'm hoping its user error and not a problem with 
KDevelop as its easy to persuade a broken user to get repaired :P

Bryan.


Reply via email to