Subject: Re: bug: git-sh-setup should not be in $PATH

From: Jakub Narebski <[email-masked]>
Date: Wed, 6 Dec 2006 17:27:53 +0100

Dnia środa 6. grudnia 2006 17:03, Han-Wen Nienhuys napisał:

> Jakub Narebski escreveu:
>
>> The fact that I didn't understood what this part of patch is meant
>> to do should be the big hint that this commit needs some longer commit
>> message explaining purpose of such mess.
>> 
>> I still don't understand what this part do (and how come it is
>> in configure.ac which should be _only_ about generating 
>> config.mak.autogen Makefile configuration file and _not_ about
>> generating Makefiles). You want what sequence of commands to work?
>> 
>>   $ $srcdir/configure --srcdir=$srcdir
>>   $ make -D $srcdir
>>   $ make -D $srcdir DESTDIR=$DESTDIR install
> 
> make -D doesn't exist.

Oops. I meant make -C, not make -D.

> This is about 
> 
>   mkdir git-build
>   cd git-build
>   $my_git_source/configure  
>   make 
> 
> this _was_ actually documented in that one-line commit message, that
> you found to be too short.

Because it was so short (one line) while being long for one line.
Why don't you write above in commit message?

> Since git does recursive makes, among others in 
> 
>  perl/ 
>  Documentation/
>  templates/
>  contrib/
>   
> there should be Makefiles in said directories. Otherwise, every rule
> in the toplevel Makefile saying
> 
> 
>   $(MAKE) -C subdir/
> 
> will fail because $builddir/ does not have a Makefile in
> $builddir/subdir.

Wouldn't it be better just to modify toplevel Makefile to say:

   $(MAKE) -C $(srcdir)/subdir/

without messing with ./configure script, and creating "redirect"
Makefiles?

> The part you don't understand is a generic way of duplicating the
> Makefiles from the git sources, while making sure that they work when
> $srcdir != $builddir
> 
> 
> Yes, if builddir != srcdir , then configure is about more than
> generating config.mak.autogen

Once again: git is not autotool'ed project. Everything you want to
do should work regardless if you would run ./configure, or if you
would hand-craft config.mak file.

-- 
Jakub Narebski