Re: Make process, suggestions

Search this archive.

From: Dr. Michael Weller (eowmob@exp-math.uni-essen.de)
Date: Wed 15 Jul 1998 - 20:04:50 IDT


On Tue, 14 Jul 1998 glennm@mediaone.net wrote:

> Is there a reason you don't use autoconf, automake or libtool?
> (Other then "I havn't found a need yet", of course. :)

Well, I don't think so. The current scheme was done by Stephen Lee for the
ELF port. A big advantage is, that it allows to compile in a different dir
(that is the source can actually be on a CD and does not have to be
copied).

It is important of course, that it works well with a.out and ELF.
Although a.out is pretty much dead, there are still applications out which
profit from a future svgalib release with more hardware support. I must
also admit that there is a very painful flaw with ELF, namely than any
global symbol within the library is also exported to the application (ok,
it allows you to redefine internal functions like malloc from the outside)
which then can patch around in the internals and use undocumented things
which completely break in future releases. a.out allowed to kept these
internal. (Now I renamed all these to __*something* in the hope that it
will keep people away from internals which are subject to change).

Talking about a.out, compiling an a.out shared lib is a bit difficult,
esp. as the necessary tools are no longer maintained. It should still be
possible to include a precompiled a.out lib and install it too.

Something I got very used to, is also one can say 'make backup' and gets a
complete distribution tar file made.

> I nearly finished (mostly out of boredom) a 1.2.13 patch that
> converts the svgalib make process completely to automake; the
> standard "./configure ; make ; make install" worked.  It removed
> the process of deleting old libraries, and simplified the makefiles
> a lot.
> 
> One thing I did that would probably be of benefit, even with no
> other changes, was to remove the code for individual drivers from
> src/Makefile, and replace them with #ifdefs in each driver.  That
> way, each file is always compiled and linked; there's simply no
> code in the file if the driver is not selected.  It cleared a few
> pages from src/Makefile.

Yep, actually a problem is that there are many options just made in the
makefile and they don't lead automatically to the right modules rebuild.
In a sense that is a feature as it allows to keep an a.out shared lib and
rebuild the ELF one in addition.

Well, this are a few things. If autoconf can do them. Why not. I don't
really see that much need for autoconf, however, because it is clear that
svgalib always will be compiled with gcc on linux., it does not work
elsewgere anyway. There a few things about pathe names and maybe
Alpha/intel which might be nice to detect but I thought this is not the
major feature of autoconf. I though it detects different OS calls
available and Compilers

In any case I'm interested to see what you did, of course.

Michael.

--

Michael Weller: eowmob@exp-math.uni-essen.de, eowmob@ms.exp-math.uni-essen.de,
or even mat42b@spi.power.uni-essen.de. If you encounter an eowmob account on
any machine in the net, it's very likely it's me.


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:22 IST