[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