git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Han-Wen Nienhuys <hanwen@xs4all.nl>
Date
Dec 6, 2006, 15:03 UTC
Message-ID
<4576DBA5.4080002@xs4all.nl>
In-Reply-To
<200612061551.51603.jnareb@gmail.com>
Jakub Narebski escreveu:
> Please add some longer commit message.
do you have any specifics you would like me to mention?
Show 15 quoted lines
>>  exec_prefix = @exec_prefix@
>>  bindir = @bindir@
>> -#gitexecdir = @libexecdir@/git-core/
>> -datarootdir = @datarootdir@
>> -template_dir = @datadir@/git-core/templates/
>>  
>>  mandir=@mandir@
> 
> Why have you removed setting datarootdir and template_dir? I would
> have thought that you would rather change it to
> 
>   #gitexecdir = @libexecdir@/git-core/
>   datarootdir = @datarootdir@
>   GIT_datadir = @datadir@/git-core/
>   template_dir= @datadir@/git-core/templates/

The Makefile already has this code, so adding it here is duplication of work and code.

If you think putting code in the generated file is a good idea, I propose we just generate the entire Makefile, as is the standard usage for autoconf.

Show 27 quoted lines
>> +## generate subdirectories and sub Makefiles. 
>> +for d in `cd $srcdir &&  find . -type d -print | grep -v '\.git'` ;
>> +do
>> +  if test ! -d  $d ; then
>> +    echo creating $d 
>> +    mkdir $d
>> +  fi
>> +  
>> +  if test -f $srcdir/$d/Makefile ; then
>> +    
>> +    dnl [[]] is to keep m4 happy
>> +    depth=`echo $d/ | sed -e 's!^\./!!g' -e 's![[^/]]*/!../!g'`
>> +    echo creating $d/Makefile
>> +    cat << EOF > $d/Makefile
>> +include ${depth}config.mak.autogen
>> +here-srcdir=\$(srcdir)/$d/
>> +VPATH=\$(here-srcdir)
>> +include \$(here-srcdir)/Makefile
>> +EOF
>> +
>> +  fi 
>> +done
>> +exit 1
> 
> What is this for? The ./configure script, generated by autoconf from
> configure.ac (by "make configure"), generates config.mak.autogen file
> from config.mak.in, which is included in main (top) Makefile.
in some cases, the files can also be called stand alone, eg.
  [lilydev@haring perl]$ pwd
  /home/lilydev/vc/git/perl
  [lilydev@haring perl]$ make
  make -f perl.mak all
  make[1]: Entering directory `/home/lilydev/vc/git/perl'
  make[1]: Leaving directory `/home/lilydev/vc/git/perl'

The above Makefile generation makes sure that this behavior is mirrored in the builddir. Also, I'm not sure if the vpath settings get exported automatically.

Having multiple Makefiles in the builddir is the standard behavior for autotool'ed packages.

> The variables defined in config.mak.autogen are of course visible in
> make in subdirectories (make invoked from main makefile). Why the change?
> What about user-generated config.mak?
good point. I'll include it too.
> This part IMHO has no sense, and has no place here.
Previous: Jakub NarebskiNext: Jakub Narebski
Message 7 of 17 in “bug: git-sh-setup should not be in $PATH”
  1. Han-Wen NienhuysDec 6, 2006
  2. Johannes SchindelinDec 6, 2006
  3. Han-Wen NienhuysDec 6, 2006
  4. Jakub NarebskiDec 6, 2006
  5. Han-Wen NienhuysDec 6, 2006
  6. Jakub NarebskiDec 6, 2006
  7. Han-Wen NienhuysDec 6, 2006
  8. Jakub NarebskiDec 6, 2006
  9. Han-Wen NienhuysDec 6, 2006
  10. Jakub NarebskiDec 6, 2006
  11. Han-Wen NienhuysDec 6, 2006
  12. Jakub NarebskiDec 6, 2006
  13. Han-Wen NienhuysDec 6, 2006
  14. Jakub NarebskiDec 6, 2006
  15. Han-Wen NienhuysDec 6, 2006
  16. Jakub NarebskiDec 6, 2006
  17. Andreas EricssonDec 7, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.