[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnucap-devel] Autotools build system
From: |
David Fang |
Subject: |
Re: [Gnucap-devel] Autotools build system |
Date: |
Thu, 18 Jun 2009 04:01:52 -0400 (EDT) |
Hi Al (and all),
The "old" build system is really just plain old "make", with a
tiny configure script to provide an interface like autotools,
for those who want it. Where autotools generates a monstrosity
of a Makefile, the "old" system cats three pieces, each one is
simple.
Every time I try to do anything with autotools, I give up in
frustration.
Sometimes, it just takes a little demonstration to show the way.
My early frustrations were quickly forgotten, after I found good examples,
(read the docs), and became comfortable with writing from scratch. And
besides, you can write standard Makefile rules/dependices in automake
files.
The "thousands" of lines of generated Makefiles include shell scripts for
structured distribution generation, installation, uninstallation, and
checking (lots and lots of checking), that many hand-written boilerplate
Makefiles lack or fall short. Building is just a piece of software
development.
Considering that in my experience, auto* rarely works correctly
on mainstream systems, I shudder to think what it is like on a
non-mainstream system.
Perhaps we should look into why you've observed so. I've had much better
experience porting to older and less common platforms. For every build
system out there, there exist poor examples (I've seen some hideous
Makefiles in my days -- some people have been so scarred, that they prefer
to write perl-scripts and straight-line shell scripts over Makefiles.)
Before auto*, I could always figure out what to hack.
I don't have confidence in it. Aside from the fact that I haven't
figured out how to gracefully turn debugging features on and off, how to
simultaneously do multiple builds with different options, and lots of
other things that are trivial with plain old "make", it seems that most
of the time I try to build some package that uses autotools, it doesn't
work and the messages are not at all useful at figuring out what is
needed. Just compiling and letting it fail gives more useful
information.
Don't panic. Since we are proposing the idea, it will be our
responsibility to show you how the 'old-way' maps to the 'new-way', and
convince you to give it another shot.
I am still bewildered about the relation between autotools and
"libtool". It seems to me that if autotools is doing its job,
libtool isn't necessary.
Libtool's power come from the way it handles dynamically linked libraries,
including both shared libraries, and plug-ins. Without it, automake is
really only capable of working with static (.a) libraries. For instance,
libtool helps link your executable so that it can run pre-installed with
shared libraries (for pre-install testing), and then post-installed.
IMO, the little nuances between shared libraries on different platforms
and compilers and linkers are the biggest obstable to portability.
libtool handles all of it transparently.
There is a new challenge now with plugins, that I think is
satisfied by the "old" system and not by the new one .. With
the "old" system, a plugin only needs the first part of the
Makefile, and you can compile with just "make".
So, if the choice is one or the other, let's COMPLETE the old
one. I think that is easier than FIXING autoconf. Also, I
think the world would appreciate it. Done right, it could be as
much of an improvement over autoconf as Git is over RCS.
I'm rather busy until the weekend. Over the weekend I should have some
time to work with you, Kevin and other interested developers on drafting
the autotool files, hopfully getting around to plug-ins.
Remember, we are trying to make your life easier!
Best,
Fang
David Fang
http://www.csl.cornell.edu/~fang/
http://www.achronix.com/
- Re: [Gnucap-devel] Autotools build system, (continued)
- Re: [Gnucap-devel] Autotools build system, al davis, 2009/06/21
- Re: [Gnucap-devel] Autotools build system, David Fang, 2009/06/21
- Re: [Gnucap-devel] Autotools build system, al davis, 2009/06/21
- Re: [Gnucap-devel] Autotools build system, David Fang, 2009/06/21
- Re: [Gnucap-devel] Autotools build system, David Fang, 2009/06/22
Re: [Gnucap-devel] Autotools build system, Kevin Bowling, 2009/06/17
Re: [Gnucap-devel] Autotools build system, Kevin Bowling, 2009/06/14