Ich bin ein Neuling von Autotools. Von meinem Verständnis würde man die folgenden grundlegenden Schritte verwenden Software Autotools zu bauen:Warum wird "Autoreconf" nicht oft verwendet?
autoreconf --install
./configure
make
Allerdings habe ich festgestellt, dass die meisten Open-Source-Software-Pakete (auf Linux) braucht nicht den Schritt 1. Sie brauchen die meiste Zeit nur Schritt 2 und 3 um zu bauen. Es scheint, dass sie bereits mit Makefile.in
verpackt sind. Ich frage mich warum? Codieren sie manuell die Makefile.in
, oder der Softwareentwickler verwendet autoreconf
, um die vor dem Erstellen des Softwarepakets zu generieren?
Danke.
OK. Ich denke, ich habe selbst eine mögliche Antwort: Wenn der Benutzer "autoreconf" nicht ausführen muss, stellt das Softwarepaket weniger Anforderungen an das System des Endbenutzers. I.e. Der Endbenutzer muss Autotools nicht installiert haben. Ich denke, das ist eigentlich ein ziemlich großer und guter Grund. – user1783732
Das ist richtig; Wenn "configure" ausgeführt wird, benötigt der Benutzer nur ein paar Skript-Interpreter (eine Bourne-Shell, sed, vielleicht auch perl) sowie die Compiler-Toolchain. Selbst wenn alle Bibliotheksabhängigkeiten fehlen, sollte das Skript 'configure' in der Lage sein, das Problem auszuführen und zu diagnostizieren oder es zu umgehen. Wenn Sie 'make dist-gzip' ausführen, erhalten Sie einen Tarball mit dem Skript' configure' sowie alle '* .in' Template-Dateien, die gepackt sind, so dass der Benutzer nicht die vorherigen Schritte ausführen muss, die Autotools erfordern. – DanielKO