* Autoconf/Automake
@ 2006-06-14 22:27 Pavel Roskin
2006-06-14 22:45 ` Autoconf/Automake Linus Torvalds
` (3 more replies)
0 siblings, 4 replies; 26+ messages in thread
From: Pavel Roskin @ 2006-06-14 22:27 UTC (permalink / raw)
To: git
Hello!
Is there any interest in converting the build system used by git to
Autoconf and Automake? The ad-hoc configuration in Makefile is getting
too big. As for nice features like remembering $prefix, wouldn't it be
better to add them to Automake instead of limiting them to just one
project?
Other goodies from Automake are "make distcheck" and automatic
dependency tracking. Compatibility with non-GNU make could earn us some
respect from BSD folks.
I converted several projects to the GNU build system, including qgit.
It may be hard to get right, but then it just works for any
configuration without giving any trouble.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
@ 2006-06-14 22:45 ` Linus Torvalds
2006-06-14 22:54 ` Autoconf/Automake Bertrand Jacquin
` (2 subsequent siblings)
3 siblings, 0 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-06-14 22:45 UTC (permalink / raw)
To: Pavel Roskin; +Cc: git
On Wed, 14 Jun 2006, Pavel Roskin wrote:
>
> Is there any interest in converting the build system used by git to
> Autoconf and Automake? The ad-hoc configuration in Makefile is getting
> too big.
NO! At least the Makefile is debuggable and understandable.
If we need a better build system, I'd much rather use something
higher-level that can generate VC++ project files etc.
In other words, I'd much rather see us using CMake or something like that,
which actually adds real value-add.
(And no, I've never used cmake, so maybe it has horrors waiting for us
too, but autoconf is just worthless).
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
2006-06-14 22:45 ` Autoconf/Automake Linus Torvalds
@ 2006-06-14 22:54 ` Bertrand Jacquin
2006-06-14 23:18 ` Autoconf/Automake Timo Hirvonen
2006-06-15 7:24 ` Autoconf/Automake Yann Dirson
3 siblings, 0 replies; 26+ messages in thread
From: Bertrand Jacquin @ 2006-06-14 22:54 UTC (permalink / raw)
To: Pavel Roskin; +Cc: git
On 6/15/06, Pavel Roskin <proski@gnu.org> wrote:
> Hello!
>
> Is there any interest in converting the build system used by git to
> Autoconf and Automake? The ad-hoc configuration in Makefile is getting
> too big. As for nice features like remembering $prefix, wouldn't it be
> better to add them to Automake instead of limiting them to just one
> project?
Autofoo are pretty good but it's unix make dependant, can't create
build files for other build system as Visual, or so on. How don't lost
his hairs trying to do autofood his project ?
CMake seems to be as good for git. And is also expansible.
Git Makefile is quiet big but not complex, autofood imho will make it
less stable and usable.
--
# Beber : beber@gna.org
# IM : beber@jabber.fr
# http://guybrush.ath.cx, irc://irc.freenode.net/#{e.fr,gentoofr}
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
2006-06-14 22:45 ` Autoconf/Automake Linus Torvalds
2006-06-14 22:54 ` Autoconf/Automake Bertrand Jacquin
@ 2006-06-14 23:18 ` Timo Hirvonen
2006-06-15 7:24 ` Autoconf/Automake Yann Dirson
3 siblings, 0 replies; 26+ messages in thread
From: Timo Hirvonen @ 2006-06-14 23:18 UTC (permalink / raw)
To: proski; +Cc: git
Pavel Roskin <proski@gnu.org> wrote:
> Hello!
>
> Is there any interest in converting the build system used by git to
> Autoconf and Automake? The ad-hoc configuration in Makefile is getting
> too big. As for nice features like remembering $prefix, wouldn't it be
> better to add them to Automake instead of limiting them to just one
> project?
>
> Other goodies from Automake are "make distcheck" and automatic
> dependency tracking. Compatibility with non-GNU make could earn us some
> respect from BSD folks.
>
> I converted several projects to the GNU build system, including qgit.
> It may be hard to get right, but then it just works for any
> configuration without giving any trouble.
Autotools almost drove me crazy so I had to write my own configure
system:
http://onion.dynserv.net/~timo/tconf.html
It is really easy to use and quite flexible.</shameless plug>
Personally I don't think git needs autoconf/tconf/whatever. The current
makefile is good enough.
--
http://onion.dynserv.net/~timo/
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
` (2 preceding siblings ...)
2006-06-14 23:18 ` Autoconf/Automake Timo Hirvonen
@ 2006-06-15 7:24 ` Yann Dirson
2006-06-15 13:31 ` Autoconf/Automake Alex Riesen
3 siblings, 1 reply; 26+ messages in thread
From: Yann Dirson @ 2006-06-15 7:24 UTC (permalink / raw)
To: Pavel Roskin; +Cc: git
On Wed, Jun 14, 2006 at 06:27:10PM -0400, Pavel Roskin wrote:
> Is there any interest in converting the build system used by git to
> Autoconf and Automake? The ad-hoc configuration in Makefile is getting
> too big. As for nice features like remembering $prefix, wouldn't it be
> better to add them to Automake instead of limiting them to just one
> project?
Since there are many people objecting to autotools, what about using
Jam instead ? It has the advantage of being designed to be
cross-platform, and should have all the features we would need for *git.
When compared to autotools, it rather takes the place of automake, and
can also be use together with autoconf (or any non-make-specific
replacement you can name) if there is a need for it.
Best regards,
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
http://ydirson.free.fr/ | Check <http://www.debian.org/>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 7:24 ` Autoconf/Automake Yann Dirson
@ 2006-06-15 13:31 ` Alex Riesen
2006-06-15 16:32 ` Autoconf/Automake Yann Dirson
2006-06-15 20:10 ` Autoconf/Automake Phil Richards
0 siblings, 2 replies; 26+ messages in thread
From: Alex Riesen @ 2006-06-15 13:31 UTC (permalink / raw)
To: Yann Dirson; +Cc: Pavel Roskin, git
Yann Dirson, Thu, Jun 15, 2006 09:24:50 +0200:
> > Is there any interest in converting the build system used by git to
> > Autoconf and Automake? The ad-hoc configuration in Makefile is getting
> > too big. As for nice features like remembering $prefix, wouldn't it be
> > better to add them to Automake instead of limiting them to just one
> > project?
>
> Since there are many people objecting to autotools, what about using
> Jam instead ? It has the advantage of being designed to be
> cross-platform, and should have all the features we would need for *git.
Except that it is not readily available everywhere, has unreadable
and illogical syntax, and lots of unknown assumptions built in.
We are forced to use that thing at work, and it is mostly hated.
Git already has enough external dependencies (crypto, Python, Perl,
bash, gmake), why create another one?
If we are about to need a configuration system (and I doubt it), may
be we should at least select a system small enough to have it always
in git repo? (yes, as linux kernel configuration system is)
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 13:31 ` Autoconf/Automake Alex Riesen
@ 2006-06-15 16:32 ` Yann Dirson
2006-06-15 17:02 ` Autoconf/Automake Linus Torvalds
2006-06-15 20:10 ` Autoconf/Automake Phil Richards
1 sibling, 1 reply; 26+ messages in thread
From: Yann Dirson @ 2006-06-15 16:32 UTC (permalink / raw)
To: Alex Riesen; +Cc: Pavel Roskin, git
On Thu, Jun 15, 2006 at 03:31:46PM +0200, Alex Riesen wrote:
> Yann Dirson, Thu, Jun 15, 2006 09:24:50 +0200:
> > Since there are many people objecting to autotools, what about using
> > Jam instead ? It has the advantage of being designed to be
> > cross-platform, and should have all the features we would need for *git.
>
> Except that it is not readily available everywhere, has unreadable
> and illogical syntax, and lots of unknown assumptions built in.
> We are forced to use that thing at work, and it is mostly hated.
Well, being hated is often the fate of tools for which users got no
training, but are forced to used because of a corporate decision.
That does not necessarily mean the tool is bad in itself.
> If we are about to need a configuration system (and I doubt it), may
> be we should at least select a system small enough to have it always
> in git repo? (yes, as linux kernel configuration system is)
The kernel is a beast that is specific enough to need its own build
system, and does not support that many platforms, IIRC. Wrong
example, if you want my opinion :)
Best regards,
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
http://ydirson.free.fr/ | Check <http://www.debian.org/>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 16:32 ` Autoconf/Automake Yann Dirson
@ 2006-06-15 17:02 ` Linus Torvalds
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
` (2 more replies)
0 siblings, 3 replies; 26+ messages in thread
From: Linus Torvalds @ 2006-06-15 17:02 UTC (permalink / raw)
To: Yann Dirson; +Cc: Alex Riesen, Pavel Roskin, git
On Thu, 15 Jun 2006, Yann Dirson wrote:
>
> Well, being hated is often the fate of tools for which users got no
> training, but are forced to used because of a corporate decision.
That's one possible reason.
> That does not necessarily mean the tool is bad in itself.
It does not _necessarily_ mean that, but let's face it, it really usually
does.
Too many developers shrug off the "it's hard to use" argument. THEY think
it's fine. THEY think it's "lack of training". THEY think the tools are
fine, and the problem is the user.
THEY are wrong.
Almost every time when a user says "it's hard to use", the user is right.
Sometimes it's a lack of documentation, but quite often it's just that the
tool interfaces are bad.
Oh, I'm sure git has the same problems, but dammit, I think we've tried
very hard to listen to user opinions, and make the things that make them
go "that's hard" be more obvious. All the things that were _possible_ to
do if you did them by hand, that you now can do pretty obviously without
even knowing what it really does. "git commit -a". "git log -p". "git show
<name>", etc etc.
Sometimes the problem space makes the interfaces fundamentally hard. But
sometimes the program itself just makes things ugly and hard, and autoconf
and automake definitely didn't make it easier for users - they were
designed for people who knew fifteen different versions of UNIX, and not
for sane people.
These days, there aren't fifteen different versions of UNIX. There's a
couple, and it's perfectly ok to actually say "fix your damn system and
just install GNU make". It's easier to install GNU make than it is to
install autoconf/automake.
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 17:02 ` Autoconf/Automake Linus Torvalds
@ 2006-06-15 17:48 ` Olivier Galibert
2006-06-15 18:03 ` Autoconf/Automake Jakub Narebski
2006-06-16 9:06 ` Autoconf/Automake Jerome Lovy
2006-06-15 20:17 ` Autoconf/Automake Yakov Lerner
2006-06-15 21:14 ` Autoconf/Automake Yann Dirson
2 siblings, 2 replies; 26+ messages in thread
From: Olivier Galibert @ 2006-06-15 17:48 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Yann Dirson, Alex Riesen, Pavel Roskin, git
On Thu, Jun 15, 2006 at 10:02:10AM -0700, Linus Torvalds wrote:
> These days, there aren't fifteen different versions of UNIX. There's a
> couple, and it's perfectly ok to actually say "fix your damn system and
> just install GNU make". It's easier to install GNU make than it is to
> install autoconf/automake.
You should be careful to separate autoconf and automake. Autoconf is
not so bad, and you can make clean, maintainable Makefile.in and
config.h.in files with it, because it uses simple substitution. It is
quite useful to detect available librairies when some are optional,
and also to lightly[1] ensure that prefix and friends will stay the
same between make and make install. Also, especially if you hack a
little bit to alias 'enable' and 'with', you get a sane interface to
optional feature selection. Oh, and to seperate compilation
directories too (vpath generation).
OTOH, automake is a BDSM session gone bad. The makefiles it generates
are atrocious and outdated, even buggy on some lesser makes, which is
quite annoying when what you try to build is gnu make.
The worst of the lot is libtool, though. That one explicitely tries
to make your experience as painful as possible. Including, but not
limited to, hiding the files in dot-directories so that you try to run
gdb on a script, relinking at install time, silently removing flags
you want to pass to ld or the compiler because it thinks it knows
better, locking C++ shared libraries to the exact compiler version
that compiled them through the .la file crap, etc.
So, autoconf can be useful. The rest should die.
OG.
[1] As in, you can still override when running make, but if you don't
override anything you'll get the value you passed to configure every
time.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
@ 2006-06-15 18:03 ` Jakub Narebski
2006-06-15 18:19 ` Autoconf/Automake Olivier Galibert
2006-06-16 18:23 ` Autoconf/Automake Petr Baudis
2006-06-16 9:06 ` Autoconf/Automake Jerome Lovy
1 sibling, 2 replies; 26+ messages in thread
From: Jakub Narebski @ 2006-06-15 18:03 UTC (permalink / raw)
To: git
Olivier Galibert wrote:
> On Thu, Jun 15, 2006 at 10:02:10AM -0700, Linus Torvalds wrote:
>> These days, there aren't fifteen different versions of UNIX. There's a
>> couple, and it's perfectly ok to actually say "fix your damn system and
>> just install GNU make". It's easier to install GNU make than it is to
>> install autoconf/automake.
>
> You should be careful to separate autoconf and automake. Autoconf is
> not so bad, and you can make clean, maintainable Makefile.in and
> config.h.in files with it, because it uses simple substitution.
[...]
> So, autoconf can be useful. The rest should die.
Does autoconf generate configure script in POSIX shell, or in bash?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 18:03 ` Autoconf/Automake Jakub Narebski
@ 2006-06-15 18:19 ` Olivier Galibert
2006-06-16 18:23 ` Autoconf/Automake Petr Baudis
1 sibling, 0 replies; 26+ messages in thread
From: Olivier Galibert @ 2006-06-15 18:19 UTC (permalink / raw)
To: git
On Thu, Jun 15, 2006 at 08:03:56PM +0200, Jakub Narebski wrote:
> Does autoconf generate configure script in POSIX shell, or in bash?
It seems that it still generates bare /bin/sh compatible scripts.
ICBvery easilyW, though.
OG.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 13:31 ` Autoconf/Automake Alex Riesen
2006-06-15 16:32 ` Autoconf/Automake Yann Dirson
@ 2006-06-15 20:10 ` Phil Richards
2006-06-15 20:32 ` Autoconf/Automake Timo Hirvonen
2006-06-15 20:42 ` Autoconf/Automake Johannes Schindelin
1 sibling, 2 replies; 26+ messages in thread
From: Phil Richards @ 2006-06-15 20:10 UTC (permalink / raw)
To: git
On 2006-06-15, Alex Riesen <fork0@t-online.de> wrote:
> Yann Dirson, Thu, Jun 15, 2006 09:24:50 +0200:
> > Since there are many people objecting to autotools, what about using
> > Jam instead ? It has the advantage of being designed to be
> > cross-platform, and should have all the features we would need for *git.
> Except that it is not readily available everywhere, has unreadable
> and illogical syntax, and lots of unknown assumptions built in.
> We are forced to use that thing at work, and it is mostly hated.
FWIW, I like Boost and use it every day. I hate bjam.
> Git already has enough external dependencies (crypto, Python, Perl,
> bash, gmake), why create another one?
>
> If we are about to need a configuration system (and I doubt it), may
> be we should at least select a system small enough to have it always
> in git repo? (yes, as linux kernel configuration system is)
Well, since Python is already a dependency, why not use a build system
that has Python as its scripting/extension language? It's also quite
small, and it's called SCons. I found it rather easy to learn
when I was having a quick look around at alternative build systems.
Just a thought.
phil
--
change name before "@" to "phil" for email
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 17:02 ` Autoconf/Automake Linus Torvalds
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
@ 2006-06-15 20:17 ` Yakov Lerner
2006-06-15 21:14 ` Autoconf/Automake Yann Dirson
2 siblings, 0 replies; 26+ messages in thread
From: Yakov Lerner @ 2006-06-15 20:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
On 6/15/06, Linus Torvalds <torvalds@osdl.org> wrote:
> These days, there aren't fifteen different versions of UNIX. There's a
> couple, and it's perfectly ok to actually say "fix your damn system and
> just install GNU make". It's easier to install GNU make than it is to
> install autoconf/automake.
It's easier to learn GNUmake than to learn autoconf/automake or jam, too.
However, the idea of compiling small pieces of main() at the
configure-time to automatically figure what exactly is available --
I like how well this approach works. It works more
precisely than relying on uname.
Yakov
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 20:10 ` Autoconf/Automake Phil Richards
@ 2006-06-15 20:32 ` Timo Hirvonen
2006-06-15 20:42 ` Autoconf/Automake Johannes Schindelin
1 sibling, 0 replies; 26+ messages in thread
From: Timo Hirvonen @ 2006-06-15 20:32 UTC (permalink / raw)
To: news; +Cc: git
Phil Richards <news@derived-software.ltd.uk> wrote:
> Well, since Python is already a dependency, why not use a build system
> that has Python as its scripting/extension language? It's also quite
> small, and it's called SCons. I found it rather easy to learn
> when I was having a quick look around at alternative build systems.
Only git-merge-recursive depends on Python. I hope it will be rewritten
in C some day.
--
http://onion.dynserv.net/~timo/
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 20:10 ` Autoconf/Automake Phil Richards
2006-06-15 20:32 ` Autoconf/Automake Timo Hirvonen
@ 2006-06-15 20:42 ` Johannes Schindelin
2006-06-15 22:05 ` Autoconf/Automake Yann Dirson
1 sibling, 1 reply; 26+ messages in thread
From: Johannes Schindelin @ 2006-06-15 20:42 UTC (permalink / raw)
To: Phil Richards; +Cc: git
Hi,
On Thu, 15 Jun 2006, Phil Richards wrote:
> On 2006-06-15, Alex Riesen <fork0@t-online.de> wrote:
>
> > Git already has enough external dependencies (crypto, Python, Perl,
> > bash, gmake), why create another one?
> >
> > If we are about to need a configuration system (and I doubt it), may
> > be we should at least select a system small enough to have it always
> > in git repo? (yes, as linux kernel configuration system is)
>
> Well, since Python is already a dependency, why not use a build system
> that has Python as its scripting/extension language? It's also quite
> small, and it's called SCons. I found it rather easy to learn
> when I was having a quick look around at alternative build systems.
Okay, let's face it. There are gazillions of make clones which "guarantee"
to fix all shortcomings of make. None of them are even close to make
(regarding developer exposure: take 3 developers, and 1 does not know
make, and 2 do not know whatever-your-favourite-make-clone-is).
As for now, I fail to see why the current system is not adequate for git!
Ciao,
Dscho
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 17:02 ` Autoconf/Automake Linus Torvalds
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
2006-06-15 20:17 ` Autoconf/Automake Yakov Lerner
@ 2006-06-15 21:14 ` Yann Dirson
2006-06-15 22:54 ` Autoconf/Automake Linus Torvalds
2 siblings, 1 reply; 26+ messages in thread
From: Yann Dirson @ 2006-06-15 21:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Alex Riesen, Pavel Roskin, git
On Thu, Jun 15, 2006 at 10:02:10AM -0700, Linus Torvalds wrote:
> Too many developers shrug off the "it's hard to use" argument. THEY think
> it's fine. THEY think it's "lack of training". THEY think the tools are
> fine, and the problem is the user.
>
> THEY are wrong.
>
> Almost every time when a user says "it's hard to use", the user is right.
> Sometimes it's a lack of documentation, but quite often it's just that the
> tool interfaces are bad.
In tha case of jam, the doc issue can certainly be raised, but the
most prominent problem is probably that everyone and their dog knows
make, and expects a replacement to work in a similar fashion. The
current documentation and tutorial unfortunately does not show
precisely how people used to "make" can easily switch to jam.
For those not knowing about jam, I'd say the 1st thing to anchor in
one's mind is that jam gives complete (programmatic) control on the
dependency tree (eg. you just have to write once that the results of a
compilation have to be removed by "jam clean", and everytime you
declare a file to be built with your rule, you don't have to remember
to add it to the Clean rule - and more importantly, as soon as you
remove that declaration, you don't have to fear the Clean target to
remove it, in case it would be precious).
> Sometimes the problem space makes the interfaces fundamentally hard. But
> sometimes the program itself just makes things ugly and hard, and autoconf
> and automake definitely didn't make it easier for users - they were
> designed for people who knew fifteen different versions of UNIX, and not
> for sane people.
>
> These days, there aren't fifteen different versions of UNIX. There's a
> couple, and it's perfectly ok to actually say "fix your damn system and
> just install GNU make". It's easier to install GNU make than it is to
> install autoconf/automake.
Right, autoconf would be much more sane if it would not insist on
supporting vintage unices. OTOH, people having to work on these
systems (eg. for professional reason - not everyone has the luck to
work with modern systems all the time) are more than happy to be able
to build some recent tools to make there task easier. Except when it
fails in that task (eg. a configure script for the bash package
failing to run on an years-old lynxos version because of a sh bug on
the OS), it still does a wonderful job in the end.
But I agree having to carry all this compat stuff, when one just wants
to benefit from higher-level features (like those mentionned by
Oliver), is annoying. Maybe the support for legacy platforms could be
restricted in some way to the bare minimum. Eg. using a "legacy"
backend where the cruft would go, and stubs for modern things, that
would generate a hopefully-more-portable-but-limited
./configure-simple script, and a "modern" backend generating a sane
full-fledged bash script.
But I'm going off-topic :)
Best regards,
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
http://ydirson.free.fr/ | Check <http://www.debian.org/>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 20:42 ` Autoconf/Automake Johannes Schindelin
@ 2006-06-15 22:05 ` Yann Dirson
2006-06-15 22:58 ` Autoconf/Automake Johannes Schindelin
2006-06-16 18:31 ` Autoconf/Automake Petr Baudis
0 siblings, 2 replies; 26+ messages in thread
From: Yann Dirson @ 2006-06-15 22:05 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Phil Richards, git
On Thu, Jun 15, 2006 at 10:42:40PM +0200, Johannes Schindelin wrote:
> As for now, I fail to see why the current system is not adequate for git!
I can reassure you, gazillions of people still fail to see why cvs is
not adequate for their project. And the ratio of devs in the
corporate world not knowning git to those not knowning cvs is far
superior to 2. And everyone here knows cvs is not more adequate than
git for so many tasks :)
Best regards,
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
http://ydirson.free.fr/ | Check <http://www.debian.org/>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 21:14 ` Autoconf/Automake Yann Dirson
@ 2006-06-15 22:54 ` Linus Torvalds
2006-06-15 23:10 ` Autoconf/Automake Johannes Schindelin
0 siblings, 1 reply; 26+ messages in thread
From: Linus Torvalds @ 2006-06-15 22:54 UTC (permalink / raw)
To: Yann Dirson; +Cc: Alex Riesen, Pavel Roskin, git
On Thu, 15 Jun 2006, Yann Dirson wrote:
>
> In tha case of jam, the doc issue can certainly be raised, but the
> most prominent problem is probably that everyone and their dog knows
> make,
Oh, I agree. A "simpler" thing that people don't know is often much
inferior to a complex thing that people are generally intimately familiar
with.
I just personally believe that autoconf/automake are the worst of both
worlds (ie it's a _complex_ thing that a lot of people don't know).
GNU make in many ways is actually not that bad. Yeah, the makefiles get
more complex, but it's usually not totally unreadable, and you can do some
clever stuff with it.
The kernel makefiles are a pretty extreme example (and it hides a lot of
the complexity in files that get included and that most people never ever
need to look at). I suspect that git could more easily do something like
that (on a _much_ smaller scale - don't get me wrong).
Linus
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 22:05 ` Autoconf/Automake Yann Dirson
@ 2006-06-15 22:58 ` Johannes Schindelin
2006-06-16 20:17 ` Autoconf/Automake Yann Dirson
2006-06-16 18:31 ` Autoconf/Automake Petr Baudis
1 sibling, 1 reply; 26+ messages in thread
From: Johannes Schindelin @ 2006-06-15 22:58 UTC (permalink / raw)
To: Yann Dirson; +Cc: Phil Richards, git
Hi,
On Fri, 16 Jun 2006, Yann Dirson wrote:
> On Thu, Jun 15, 2006 at 10:42:40PM +0200, Johannes Schindelin wrote:
> > As for now, I fail to see why the current system is not adequate for git!
>
> I can reassure you, gazillions of people still fail to see why cvs is
> not adequate for their project. And the ratio of devs in the
> corporate world not knowning git to those not knowning cvs is far
> superior to 2. And everyone here knows cvs is not more adequate than
> git for so many tasks :)
You know as well as I that this comparison is unfair. I am _NOT_ a
corporate person. I hope that you do not judge me as a complete airhead.
The point is: the right tool solves the problem. You can have a tool which
is mighty cool, but way too powerful (AKA complicated).
As for CVS: there _are_ a few use cases where CVS is just the right tool.
There are many more use cases where git is more than adequate, where CVS
is not.
_BUT_: there are cases where something like autoconf/jam/cmake/blablabla
is adequate, but I still fail to see why for git, the makefile system
should not work. It is the most transparent way to configure a make system
I encountered. It is short, concise, and does the job. And I understand
it. As opposed to autoconf/jam/cmake/blablabla.
Hth,
Dscho
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 22:54 ` Autoconf/Automake Linus Torvalds
@ 2006-06-15 23:10 ` Johannes Schindelin
2006-06-16 6:51 ` Autoconf/Automake Nikolai Weibull
0 siblings, 1 reply; 26+ messages in thread
From: Johannes Schindelin @ 2006-06-15 23:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Yann Dirson, Alex Riesen, Pavel Roskin, git
Hi,
On Thu, 15 Jun 2006, Linus Torvalds wrote:
> On Thu, 15 Jun 2006, Yann Dirson wrote:
> >
> > In tha case of jam, the doc issue can certainly be raised, but the
> > most prominent problem is probably that everyone and their dog knows
> > make,
>
> Oh, I agree. A "simpler" thing that people don't know is often much
> inferior to a complex thing that people are generally intimately familiar
> with.
>
> I just personally believe that autoconf/automake are the worst of both
> worlds (ie it's a _complex_ thing that a lot of people don't know).
>
> GNU make in many ways is actually not that bad. Yeah, the makefiles get
> more complex, but it's usually not totally unreadable, and you can do some
> clever stuff with it.
I can add to that with first-hand experience of ant and maven.
A whole sh*t-load of people think make is broken. It does not live up to
what they want, and it is slow.
And then they invent a _DISEASE_ like ant, which _does not begin_ to sport
the features of make.
In a project I am stuck in, maven is used. It tries -- of all things -- to
fix a few shortcomings of ant -- which was supposed to fix shortcomings of
make! And let's face it. Maven is complicated, slow as a dog lacking all
four feet, and it still does not do the things I can do in three lines
with make. It's a complete desaster.
So to keep the discussion on topic: tell me what you want to fix wrt the
current setup of git, and I'll try to fix it in less than 10 lines of make
code. If that is impossible, let's continue then and there with the
discussion about a switch to a newer, less tested, replacement of make,
okay?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 23:10 ` Autoconf/Automake Johannes Schindelin
@ 2006-06-16 6:51 ` Nikolai Weibull
0 siblings, 0 replies; 26+ messages in thread
From: Nikolai Weibull @ 2006-06-16 6:51 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Linus Torvalds, Yann Dirson, Alex Riesen, Pavel Roskin, git
On 6/16/06, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> In a project I am stuck in, maven is used. It tries -- of all things -- to
> fix a few shortcomings of ant -- which was supposed to fix shortcomings of
> make! And let's face it. Maven is complicated, slow as a dog lacking all
> four feet, and it still does not do the things I can do in three lines
> with make. It's a complete desaster.
But...it uses XML...how can it not be a panacea?
nikolai
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
2006-06-15 18:03 ` Autoconf/Automake Jakub Narebski
@ 2006-06-16 9:06 ` Jerome Lovy
1 sibling, 0 replies; 26+ messages in thread
From: Jerome Lovy @ 2006-06-16 9:06 UTC (permalink / raw)
To: git
Olivier Galibert wrote:
> On Thu, Jun 15, 2006 at 10:02:10AM -0700, Linus Torvalds wrote:
>
>>These days, there aren't fifteen different versions of UNIX. There's a
>>couple, and it's perfectly ok to actually say "fix your damn system and
>>just install GNU make". It's easier to install GNU make than it is to
>>install autoconf/automake.
>
>
> You should be careful to separate autoconf and automake. Autoconf is
> not so bad, and you can make clean, maintainable Makefile.in and
> config.h.in files with it, because it uses simple substitution. It is
> quite useful to detect available librairies when some are optional,
> and also to lightly[1] ensure that prefix and friends will stay the
> same between make and make install. Also, especially if you hack a
> little bit to alias 'enable' and 'with', you get a sane interface to
> optional feature selection. Oh, and to seperate compilation
> directories too (vpath generation).
I fully agree with Olivier. It seems to me that you don't have to buy
the whole autoconf/automake/libtool stack to leverage the autoconf
functionality. autoconf alone provides the full "autoconfiguration"
framework (running scriptlets and setting substitution variables
accordingly). You still have to write Makefile.in (with statements
looking like: CC=@CC@). Therefore the resulting Makefile is just as
beautiful or as ugly as you wrote the initial Makefile.in: you have full
control over it.
As for dependencies, one shouldn't confuse what is needed on the
autoconfiguration developer's side (in order to build the configure
script from the configure.in file) and what is needed on the installer's
side to run the configure script and process the generated makefile. The
former needs the autoconf package which itself relies on GNU m4. The
latter merely needs a decently compatible Bourne shell and a decently
compatible make.
On the other hand, what you get with automake is a fully automatically
generated makefile, with make targets conforming to the GNU standards.
But then you fully loose control over the Makefile: you don't write the
Makefile.in anymore (automake does it for you) but rather the terce
Makefile.am. In this respect, automake is like imake: you write few
lines of (i)makefile, but then you cannot complain if you don't
understand what comes in the generated makefile ;-) .
Jérôme Lovy
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 18:03 ` Autoconf/Automake Jakub Narebski
2006-06-15 18:19 ` Autoconf/Automake Olivier Galibert
@ 2006-06-16 18:23 ` Petr Baudis
1 sibling, 0 replies; 26+ messages in thread
From: Petr Baudis @ 2006-06-16 18:23 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
Dear diary, on Thu, Jun 15, 2006 at 08:03:56PM CEST, I got a letter
where Jakub Narebski <jnareb@gmail.com> said that...
> Does autoconf generate configure script in POSIX shell, or in bash?
/bin/sh, but on such a degree that it avoids using even functions -
which makes the resulting ./configure script quite awful. autoconf is
*much* better than automake (libtool I shall refrain commenting on
entirely; eeeek) in that you have much more free hand in bending it
in case it does something stupid, but the resulting ./configure script
is still mammoth and barely readable.
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
A person is just about as big as the things that make them angry.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 22:05 ` Autoconf/Automake Yann Dirson
2006-06-15 22:58 ` Autoconf/Automake Johannes Schindelin
@ 2006-06-16 18:31 ` Petr Baudis
1 sibling, 0 replies; 26+ messages in thread
From: Petr Baudis @ 2006-06-16 18:31 UTC (permalink / raw)
To: Yann Dirson; +Cc: Johannes Schindelin, Phil Richards, git
Dear diary, on Fri, Jun 16, 2006 at 12:05:34AM CEST, I got a letter
where Yann Dirson <ydirson@altern.org> said that...
> On Thu, Jun 15, 2006 at 10:42:40PM +0200, Johannes Schindelin wrote:
> > As for now, I fail to see why the current system is not adequate for git!
>
> I can reassure you, gazillions of people still fail to see why cvs is
> not adequate for their project. And the ratio of devs in the
> corporate world not knowning git to those not knowning cvs is far
> superior to 2. And everyone here knows cvs is not more adequate than
> git for so many tasks :)
Duh. That works the same way when I replace the original question with
"As for now, I fail to see to see why Linux is not adequate for my
desktop! (In contrast with AIX.)".
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
A person is just about as big as the things that make them angry.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-15 22:58 ` Autoconf/Automake Johannes Schindelin
@ 2006-06-16 20:17 ` Yann Dirson
2006-06-16 20:42 ` Autoconf/Automake Petr Baudis
0 siblings, 1 reply; 26+ messages in thread
From: Yann Dirson @ 2006-06-16 20:17 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Phil Richards, git
On Fri, Jun 16, 2006 at 12:58:30AM +0200, Johannes Schindelin wrote:
> > On Thu, Jun 15, 2006 at 10:42:40PM +0200, Johannes Schindelin wrote:
> > > As for now, I fail to see why the current system is not adequate for git!
> >
> > I can reassure you, gazillions of people still fail to see why cvs is
> > not adequate for their project. And the ratio of devs in the
> > corporate world not knowning git to those not knowning cvs is far
> > superior to 2. And everyone here knows cvs is not more adequate than
> > git for so many tasks :)
>
> You know as well as I that this comparison is unfair. I am _NOT_ a
> corporate person. I hope that you do not judge me as a complete airhead.
Well, I have to apologize - especially after looking closer at the
current Makefile. I think I understand now why autoconf was suggested
in the first place, but it what it would achieve would mostly moving
the ifdef's to configure.ac, which would not be such a gain anyway.
Best regards,
--
Yann Dirson <ydirson@altern.org> |
Debian-related: <dirson@debian.org> | Support Debian GNU/Linux:
| Freedom, Power, Stability, Gratis
http://ydirson.free.fr/ | Check <http://www.debian.org/>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Autoconf/Automake
2006-06-16 20:17 ` Autoconf/Automake Yann Dirson
@ 2006-06-16 20:42 ` Petr Baudis
0 siblings, 0 replies; 26+ messages in thread
From: Petr Baudis @ 2006-06-16 20:42 UTC (permalink / raw)
To: Yann Dirson; +Cc: Johannes Schindelin, Phil Richards, git
Dear diary, on Fri, Jun 16, 2006 at 10:17:15PM CEST, I got a letter
where Yann Dirson <ydirson@altern.org> said that...
> On Fri, Jun 16, 2006 at 12:58:30AM +0200, Johannes Schindelin wrote:
> > > On Thu, Jun 15, 2006 at 10:42:40PM +0200, Johannes Schindelin wrote:
> > > > As for now, I fail to see why the current system is not adequate for git!
> > >
> > > I can reassure you, gazillions of people still fail to see why cvs is
> > > not adequate for their project. And the ratio of devs in the
> > > corporate world not knowning git to those not knowning cvs is far
> > > superior to 2. And everyone here knows cvs is not more adequate than
> > > git for so many tasks :)
> >
> > You know as well as I that this comparison is unfair. I am _NOT_ a
> > corporate person. I hope that you do not judge me as a complete airhead.
>
> Well, I have to apologize - especially after looking closer at the
> current Makefile. I think I understand now why autoconf was suggested
> in the first place, but it what it would achieve would mostly moving
> the ifdef's to configure.ac, which would not be such a gain anyway.
Except that then I don't need to bother manually adding NO_EXPAT to the
makefile on all systems I compile git on.
Yes, it's not a huge bother per se, but since almost all other
non-obscure projects do figure these things out automagically, git kind
of stands out negatively here. "Wah, it needs me tweak the Makefile to
be able to compile it."
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
A person is just about as big as the things that make them angry.
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2006-06-16 20:42 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
2006-06-14 22:45 ` Autoconf/Automake Linus Torvalds
2006-06-14 22:54 ` Autoconf/Automake Bertrand Jacquin
2006-06-14 23:18 ` Autoconf/Automake Timo Hirvonen
2006-06-15 7:24 ` Autoconf/Automake Yann Dirson
2006-06-15 13:31 ` Autoconf/Automake Alex Riesen
2006-06-15 16:32 ` Autoconf/Automake Yann Dirson
2006-06-15 17:02 ` Autoconf/Automake Linus Torvalds
2006-06-15 17:48 ` Autoconf/Automake Olivier Galibert
2006-06-15 18:03 ` Autoconf/Automake Jakub Narebski
2006-06-15 18:19 ` Autoconf/Automake Olivier Galibert
2006-06-16 18:23 ` Autoconf/Automake Petr Baudis
2006-06-16 9:06 ` Autoconf/Automake Jerome Lovy
2006-06-15 20:17 ` Autoconf/Automake Yakov Lerner
2006-06-15 21:14 ` Autoconf/Automake Yann Dirson
2006-06-15 22:54 ` Autoconf/Automake Linus Torvalds
2006-06-15 23:10 ` Autoconf/Automake Johannes Schindelin
2006-06-16 6:51 ` Autoconf/Automake Nikolai Weibull
2006-06-15 20:10 ` Autoconf/Automake Phil Richards
2006-06-15 20:32 ` Autoconf/Automake Timo Hirvonen
2006-06-15 20:42 ` Autoconf/Automake Johannes Schindelin
2006-06-15 22:05 ` Autoconf/Automake Yann Dirson
2006-06-15 22:58 ` Autoconf/Automake Johannes Schindelin
2006-06-16 20:17 ` Autoconf/Automake Yann Dirson
2006-06-16 20:42 ` Autoconf/Automake Petr Baudis
2006-06-16 18:31 ` Autoconf/Automake Petr Baudis
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).