[sword-devel] Re: SWORD Automake/Autoconf

Daniel Glassey sword-devel@crosswire.org
Tue, 30 Nov 1999 15:59:30 -0000


I've already made a quick and dirty autoconf/automake system but it 
required altering the file hierarchy to stop it getting too messy (afaik 
automake can't handles files from multiple directories being in the 
same library without building temporary libraries).

Apparently there is an alternative from troll (the qt people) called 
tmake (http://www.troll.no/freebies/tmake.html) that wxWindows 
(cross platform gui) uses to generate makefiles for unix and 
windows. This could also be used with autoconf.

I might take a look later at adapting them for sword since that would 
mean it could support most compilers without much effort.

Daniel

P.S. Just out of curiosity has ftp.crosswire.org been cleaerd or 
something?

P.P.S. Could there be somewhere like ftp.crosswire.org/pub/incoming 
where patches and stuff could be publically posted?

On 29 Nov 99, at 14:43, Patrick Earl sent forth the message:

> "Troy A. Griffitts" wrote:
> > 
> > Patrick,
> >         Yes.  We have a fairly extensive directory structure which
> >         makes it
> > difficult to use auto[make|conf].  I'm fairly pleased with our make
> > system as it works and is easily maintainable when adding new files
> > to the tree, etc.  There have been attempts in the past to create
> > configure support but to the end of placing all the .cpp and .c
> > files in one directory and include file with them.  I don't wish to
> > resort to this. I don't know much about autoconf/automake, but it
> > seems to me that since we only have about 5 configurable properties
> > located in Makefile.cfg in the top level of the tree, a configure
> > script to modify a similar type file at the top level that the
> > others include would be the easiest first step.  Not sure.  I'm sure
> > you have much more insight into the matter.
> 
> Automake and autoconf handle primarily 3 types of directory
> structures. The simplist of course being the flat structure with
> everything in one directory.  They also handle two nested directory
> forms, one in which there are no source files at the top level, and
> the other where there are source files.  It is possible to have
> numerous nested directories without a problem.
> 
> I'm curious about the make system... are the same makefiles used under
> Windows?  Automake generally makes fairly featureful makefiles, and
> that might cause a problem.  As far as I know, it might be difficult
> using autoconf makefiles under Windows.  I don't know much about
> windows make systems, or what you're using for making under windows
> even.
> 
> Autoconf can be used without automake, although it is easier to create
> a project that has all of the standard targets (ex. make dist, make
> install, make uninstall, make distclean) using automake.
> 
> Automake automates the process of making makefiles, and having gone
> through the process of converting a sizeable makefile to automake, I
> know it can be a bit of a pain sometimes :)
> 
> Once you've got a Makefile.in that either you or automake builds, you
> use autoconf to detect machine specific options such as the endian, or
> the tool options (one of your ar commands in the makefile complained
> about an invalid -s option on this particular machine).
> 
> There's also libtool which is designed to help in the creation of
> shared libraries in a portable manner.  It is designed to work in
> combination with the auto* system.  Various platforms handle shared
> libraries in different ways and libtool provides a generic way to
> create shared libraries on them.  I have not used libtool yet,
> although I have looked into using it.
> 
>  Patrick Earl - patearl@pobox.com