[Allegro] Quadriga-Quellen : nun alles identisch
Bernhard Eversberg
ev at biblio.tu-bs.de
Mo Jan 30 12:39:54 CET 2012
Die "Quadriga"-Quellen wurden weiter bearbeitet, sodaß man nun unter
Windows, Linux und Solaris in gleicher Weise damit arbeiten kann.
Im SVN liegen die Quellen unter atools, d.h. man holt sie mit
svn checkout https://svn.allegro-c.de/svn/atools .
Auf dem FTP-Server liegen die kompilierten Programme (index, qrix,
srch und import) unter
http://ftp.allegro-c.de/unix/linux/ bzw.
http://ftp.allegro-c.de/unix/sun/
Zu den Quelldateien:
1.
Offizielles Manual (2002)
http://ftp.gnu.org/old-gnu/Manuals/automake-1.6.1/html_mono/automake.html
Brauchbares Tutorial:
http://www.lugod.org/presentations/autotools/presentation/autotools.pdf
2.
Daraus ergibt sich folgende Sequenz von Aktionen
1) Quelldateien + 'Makefile.am' bereitlegen
Dann auf demselben Verzeichnis folgende Befehle:
2) 'autoscan' es entsteht configure.scan
Nachsehen, ob unter AC_CONFIG_FILES keine unnötigen stehen
3) 'configure.scan' in 'configure.ac' umtaufen,
'configure.in' löschen
4) 'autoheader' erzeugt configure.am, config.h.in, autom4te.cache
5) Zeile AM_INIT_AUTOMAKE in 'configure.ac' einfuegen
(unter dem ersten Abschnitt)
und AC_PROG_RANLIB unter # Checks for programs
6) 'aclocal' erzeugt aclocal.m4 (enthält Makro-Definitionen)
7) 'automake --add-missing --copy'
Dabei entsteht das sehr wichtige Makefile.in
8) 'autoconf' erzeugt daraus configure
das ist ein shell script und dann zu starten mit:
9) './configure' erzeugt Makefile und config.log (f. Kontrolle)
(sehr viele Meldungen)
10) 'make' führt Makefile aus; Executables entstehen
Wenn Fatal error: Don't know how to make target 'configure.in'
Dann aus Makefile die Zeile rausnehmen:
am__aclocal_m4_deps = $(top_srcdir)/configure.in
Die beteiligten GNU-Programme kennen alle eine Unzahl von Optionen,
und die hier gezeigte Sequenz ist nicht die einzige mögliche und
sinnvolle, noch wird das Potential des Automake-Instrumentariums damit
im entferntesten ausgeschöpft.
Sicher geht alles auch noch einfacher und ist die hier gezeigte Sequenz
noch nicht die optimale, aber zusammen mit dem SVN dem SVN kommt man so
am Ende zu einer zügigen Arbeitsweise, und zwar in gleicher Weise unter
Solaris und Linux.
Sind z.B. nur kleinere Änderungen an einem Quellfile gemacht worden,
z.B. exet.c, dann reichen zwei dürre Zeilen (in atools):
svn update
make
die erste holt die geänderten Quelldateien vom SVN, die zweite erledigt
das Kompilieren. Die Programme, zu denen exet.c gehört, werden dann
alle neu erstellt (import, index und srch).
Mehr Informationen über die Mailingliste Allegro