From: Han-Wen Nienhuys <hanwen@xs4all.nl>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org
Subject: Re: GIT on MinGW problem
Date: Sat, 26 May 2007 19:53:24 -0300 [thread overview]
Message-ID: <4658BA64.2050904@xs4all.nl> (raw)
In-Reply-To: <Pine.LNX.4.64.0705262318190.4648@racer.site>
Johannes Schindelin escreveu:
>>> * git version reports just:
>>>
>>> git version -dirty
>>>
>>> Since git-gui parses the output of git version, but does not expect it
>>> to be of this format, and fails with an error message that it cannot
>>> parse the version.
>> My biggest problem is that the makefiles of git are an unmitigated
>> disaster, and there seems to be little interest in solving this
>> problem. For example, my suggestion to introduce autoconf was met with
>> derision.
>
> Well, I would not call it derision. But many people have had bad
> experience with that big mess which is autoconf, so we were more than
> reluctant to do it.
autoconf is not that big a mess, but it is a macrolanguage, which does
come with its pitfalls. Automake and libtool are the messy things,
and I prefer to stay away from them as far as possible.
The point of autoconf is to generate a hyper-portable script that
deals with all the different flavors of shell breakage. For the user
it simplifies compiling packages enormously, which IMO should be the
guiding concern if you like to have users.
For a pretty run-of-the-mill tool like git (dependency wise), it
should be easy to write a working configure.in.
My favorite approach is: use autoconf to generate
- config.h
- config.make
All settings that force recompile should be in config.h, and standard
C methods to track dependencies will take care of the recompilation
when anything changes. The main Makefile includes config.make, and
contains all configurable settings. The Makefile only needs to be
edited by developers. Require GNU Make so you can write sane
makefiles.
Instead, we have a Makefile that relies on an esoteric combination of
perl and shell scripting inside Makefiles.
Also, the Makefile says.
# Shell quote (do not use $(call) to accommodate ancient setups);
I think it would be better to have a clearly defined list of optional
and required dependencies with version numbers, and then stand by
that. For example, Make uses a completely autoconf/libtool based
compile process, and is easy to compile. I think it would be
reasonable to require a recent make, say 3.80, and then use its
features.
> In the meantime, we do have a configure.ac, though. In general, you do not
> have to run it, but you can if "make" does not work out of the box.
>
> I have to admit that it is unclear to me what are the problems with the
> Makefile with regards to gub. I think I will just bite the apple, and
> download that beast to try it myself.
>From what I recall, it tries to be too clever in detecting changes
of the make command line, forcing a recompile (possibly with erroneous paths)
during the
make install
I might be mistaken, though. I tried to get something up as fast as
possible.
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
next prev parent reply other threads:[~2007-05-26 22:55 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-12 1:13 GIT on MinGW problem Aaron Gray
2007-05-12 1:17 ` Junio C Hamano
2007-05-12 2:25 ` Aaron Gray
2007-05-12 3:30 ` Han-Wen Nienhuys
2007-05-25 8:49 ` Johannes Sixt
2007-05-25 9:45 ` Marco Costalba
2007-05-25 10:20 ` Johannes Schindelin
2007-05-25 11:07 ` Johannes Sixt
2007-05-26 19:42 ` Han-Wen Nienhuys
2007-05-26 22:17 ` Johannes Schindelin
2007-05-27 6:56 ` Han-Wen Nienhuys
2007-05-27 10:52 ` Johannes Schindelin
2007-05-27 17:04 ` Han-Wen Nienhuys
2007-05-28 16:54 ` Nix
2007-05-27 20:44 ` Han-Wen Nienhuys
[not found] ` <Pine.LNX.4.64.0705272213350.4648@racer.site>
[not found] ` <f329bf540705271417k1874c1f2u3acc98dc25e058b9@mail.gmail.com>
2007-05-27 21:26 ` Johannes Schindelin
2007-05-25 21:37 ` Aaron Gray
2007-05-26 19:41 ` Han-Wen Nienhuys
2007-05-26 22:26 ` Johannes Schindelin
2007-05-26 22:39 ` Junio C Hamano
2007-05-26 22:45 ` Johannes Schindelin
2007-05-26 22:53 ` Han-Wen Nienhuys [this message]
2007-05-26 23:47 ` Jakub Narebski
2007-05-27 6:30 ` Han-Wen Nienhuys
2007-05-27 6:39 ` Shawn O. Pearce
2007-05-27 7:02 ` Han-Wen Nienhuys
2007-05-27 7:21 ` Steven Grimm
2007-05-27 9:09 ` Jakub Narebski
2007-05-27 23:18 ` Han-Wen Nienhuys
2007-05-28 0:04 ` Johannes Schindelin
2007-05-28 0:31 ` Han-Wen Nienhuys
2007-05-27 10:46 ` Johannes Schindelin
2007-05-27 18:50 ` Han-Wen Nienhuys
2007-05-27 19:52 ` GIT on MinGW, with tcltk for gitk Han-Wen Nienhuys
2007-05-27 20:39 ` Aaron Gray
2007-05-27 21:19 ` Han-Wen Nienhuys
2007-05-27 21:24 ` Aaron Gray
2007-05-27 21:39 ` Aaron Gray
2007-05-27 21:55 ` Han-Wen Nienhuys
2007-05-27 22:22 ` Aaron Gray
2007-05-27 22:28 ` Han-Wen Nienhuys
2007-05-27 22:56 ` GIT on MinGW - No symbolic links support Aaron Gray
2007-05-27 23:56 ` Johannes Schindelin
2007-05-29 7:11 ` Johannes Sixt
2007-05-27 22:22 ` GIT on MinGW, with tcltk for gitk Han-Wen Nienhuys
2007-05-29 10:54 ` GIT on MinGW problem Johannes Sixt
2007-05-29 11:45 ` Marius Storm-Olsen
2007-05-29 12:10 ` Johannes Sixt
2007-05-29 14:29 ` Han-Wen Nienhuys
2007-05-29 14:49 ` Johannes Sixt
2007-05-29 12:11 ` Johannes Schindelin
2007-05-29 13:05 ` Marius Storm-Olsen
2007-05-29 13:24 ` Johannes Sixt
2007-05-29 14:36 ` Marius Storm-Olsen
2007-05-29 13:47 ` Johannes Schindelin
2007-05-29 14:13 ` Johannes Sixt
2007-05-29 15:28 ` Nguyen Thai Ngoc Duy
2007-05-29 15:47 ` Johannes Sixt
2007-05-29 18:45 ` Nguyen Thai Ngoc Duy
2007-05-30 3:03 ` [PATCH] Make git-k an alias to gitk Johannes Schindelin
2007-05-30 7:06 ` Johannes Sixt
2007-05-30 2:16 ` GIT on MinGW problem Han-Wen Nienhuys
2007-05-30 2:39 ` Johannes Schindelin
2007-05-30 2:57 ` Shawn O. Pearce
2007-05-30 3:25 ` [PATCH] Git wrapper: add --redirect-stderr option Johannes Schindelin
2007-05-30 3:38 ` Shawn O. Pearce
2007-05-30 3:45 ` Johannes Schindelin
2007-05-30 3:53 ` Shawn O. Pearce
2007-05-30 4:12 ` Johannes Schindelin
-- strict thread matches above, loose matches on Subject: below --
2007-05-12 14:20 GIT on MinGW problem Aaron Gray
[not found] ` <033501c79710$a2eb0290$0200a8c0@AMD2500>
2007-05-15 19:51 ` Han-Wen Nienhuys
2007-05-16 8:02 ` Johannes Sixt
2007-05-21 18:22 ` Nguyen Thai Ngoc Duy
2007-05-26 23:08 ` Han-Wen Nienhuys
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4658BA64.2050904@xs4all.nl \
--to=hanwen@xs4all.nl \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).