[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gEDA-dev: Warnings from autogen.sh



On Mon, 2007-04-23 at 08:04 -0400, Dan McMahill wrote:
> Peter Clifton wrote:
> > Hi,
> > 
> > When running autogen.sh, I get these warnings:
> > 
> > find: warning: UNIX filenames usually don't contain slashes (though
> > pathnames do). That means that '-name ./libgeda/CVS' will probably
> > evaluate to false all the time on this system. You might find the
> > '-wholename' test more useful, or perhaps '-samefile'. Alternatively, if
> > you are using GNU grep, you could use 'find ... -print0 | grep
> > -FzZ ./libgeda/CVS'.
> > 
> > This is caused by:
> > 
> > for coin in `find $srcdir -name $srcdir/CVS -prune -o -name $configure_script -print`
> > 
> > 
> > Avoiding the non-portable options, I suspect the right line to find is:
> > 
> > find $srcdir -name "CVS" -prune -false -o -name $configure_script -print
> > 
> > This ditches all "CVS" directories, not just the one in $srcdir though.
> > The test isn't particularly useful though as the CVS directories don't
> > contain "configure.ac" scripts... is that always true?
> > 
> > The attached patch implements this, and works for me.
> > 
> > Could anyone on non Linux/GNU systems give this a try please (Dan?)a
> 
> actually, it goes from sort of working to worse.
> 
> 
> CHROOT (gEDA) mcmahill@mudshark 1844 % find ./gnetlist -name \
>      ./gnetlist/CVS -prune -o -name configure -print
> ./gnetlist/configure
> ./gnetlist/geda-gnetlist-20070216/configure
> 
> CHROOT (gEDA) mcmahill@mudshark 1845 % find ./gnetlist -name CVS \
>      -prune  -false -o -name configure -print
> find: bad option -false
> find: path-list predicate-list

HMM...

ok, perhaps I missed something between the -prune and the -false (GNU
find doesn't care).

What about:

find . -name CVS -prune -a -false -o -name configure -print

(autogen.sh actually looks for configure.ac, but it doesn't matter for
this example).

> your version without the "-false" works though:
> 
> CHROOT (gEDA) mcmahill@mudshark 1847 % find ./gnetlist -name CVS \
>      -prune -o -name configure -print
> ./gnetlist/configure
> ./gnetlist/geda-gnetlist-20070216/configure

I could have sworn that it left the directory matches for "CVS" in there
last time I tried that, but it does indeed work! I must have done
something different before. (Seems the output includes the CVS dirs if
you forget the -print)

> Actually, I think the whole "find" think is a bit of overkill in our 
> case.  It is there so if you have multiple subdirectories that have 
> their own configure.ac file (and hence need to have auto* run) that 
> autogen.sh can find them all.  Instead what happens is that if you 
> happen to have the result of a failed 'make distcheck' lying around 
> (like I did a few days ago), autogen.sh will try to descend in there and 
> run the auto* tools.

Does make distcheck put things under a CVS subdirectory?

I see it under

`/home/pcjc2/gedasrc/writefoo/geda.gaf.HEAD/libgeda/libgeda-20070216/_build'

_SCRATCH THAT_ I see what its _meant_ to be doing, I got the wrong end
of the stick before!

It is meaning to prune directories which _don't_ have a CVS subdir! I
can't see how to do this with standard (non gnu extended) find.

We could test for this with something like the NO-AUTO-GEN flag:

   if test -d $dr/CVS; then



> For reference, here is the autogen.sh we've been using for pcb.  Maybe 
> it is missing something important, but it is sure a lot shorter....

Indeed - I'll leave Ales to decide if it needs changing. No sense
changing it too much if it works - or we can fix the find problem
simply.

Thanks for testing it out.

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)



_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev