bug-gnulib
[Top][All Lists]
Advanced

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

Re: maintainer-makefile vs vc-list-files/useless-if-before-free


From: Simon Josefsson
Subject: Re: maintainer-makefile vs vc-list-files/useless-if-before-free
Date: Mon, 27 Apr 2009 14:19:57 +0200
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.92 (gnu/linux)

Eric Blake <address@hidden> writes:

> According to Simon Josefsson on 4/27/2009 3:39 AM:
>> 
>> The patch below makes the error messages better.  Ok to push?
>
> No.  You aren't fixing the real bug.
>
>> 
>> I prefer that maintainer-makefile do not depend on vc-list-files and
>> useless-if-before-free modules: not every use of maint.mk requires
>> syntax-check to work, and not every use of syntax-check needs
>> useless-if-before-free tests.
>
> I agree with this point.
>
>> -VC_LIST = $(gnulib_dir)/build-aux/vc-list-files -C $(srcdir)
>> +VC_LIST_FILES ?= $(gnulib_dir)/build-aux/vc-list-files
>> +VC_LIST = $(VC_LIST_FILES) -C $(srcdir)
>
> The real bug is that $(gnulib_dir) is expanding to the empty string, but
> we aren't checking that fact.

Oops.  I didn't notice this.

> The intent is that your cfg.mk should point to the location where you
> expect to find a fresh gnulib checkout, so that you DON'T have to add
> a dependency on vc-list-files or useless-if-before-free.  Using
> maint.mk from gnulib implies that you have gnulib installed, which is
> why I was okay writing it in this way.

I don't think that is true -- I have been using maint.mk in several
projects without requiring a locally installed gnulib repository for
bootstrapping.  There are at least two ways to use gnulib with version
control:

1) Use gnulib-tool --import to import files, and add them to version
control.

2) Use bootstrap to import the gnulib files every time you bootstrap
from version controlled sources.

So far, maintainer-makefile has supported both variants.

> Hmm, maybe maint.mk should provide a default value of $(gnulib_dir) as
> gnulib (assuming that you use it as a git submodule, the way bison,
> coreutils, and m4 currently do), while still allowing a cfg.mk override
> (the way autoconf currently does).

Given the above, this seems wrong to me.  Instead, why don't maint.mk
use the local build-aux/ path?  Right now it looks in the gnulib
directory (gnulib/) but the right thing seems like the maintainer should
--import vc-list-files and useless-if-before-free (possibly
maintainer-makefile should depend on them) and then maint.mk should call
the files from the locally imported build-aux/ directory.  Right?

/Simon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]