blöde Frage zu autoconf
-
Was mir noch nie klar war,
aber nie zu fragen wagte: wozu brauche ich autoconf beim Builden von Quellcode. So wie ich es verstehe und nachgelesen habe wird autoconf vom Programmierer augerufen um aus einer configure.in oder configure.ac Datei ein configure -Skript aufzubauen. Dieses wird von der Bash oder einer anderen Standart-Shell ausgeführt. Nicht von Configure. Wozu brauche ich es also beim Builden von Quellcode, den ich z.B. aus dem Netz gezogen habe, also nicht selbst erstellter Quellcode?Erleuchtet mich
Vielen Dank vorab.
-
Ganz einfach: Du brauchst es nicht. Autoconf erstellt tatsächlich ein configure-Skript, welches von der standard-Shell (warum sagst Du stan****?) ausgeführt wird und Du brauchst dann kein Autoconf mehr. Genau das finde ich das beste an den autotools. Auch wenn sie kompliziert sind, ist die Komplexität doch beim Entwickler und nicht beim Anwender (bzw. Packager).
-
Hallo tntnet,
vielen Dank. Du hast bestätigt was ich schon vermutet habe. Mir wurde sehr oft immer wieder erzählt daß man autoconf unbedingt braucht beim builden von Quellcode. Naja.Was das ***-angeht, keine Ahnung. Muss wohl ein Sekundenschlaf auf der Tastatur gewesen sein. Mach mir jetzt neuen Kaffee...
Danke nochmal
Gruss Christian ***** schnachrchhhh
-
Hallo,
will nur noch was nachhaengen.. die Frage ist eher, wann braucht man ein configure Script? configure braucht man wenn Dein Makefile je nach System, Architektur, vorhandenen Libraries, etc. anders aussehen kann. Das schreibt man als AC_ direktive in die .ac Files und autoconf (mit ggf aclocal und autoheader) uebersetzt das dann in m4, das Resultat ist das configure Script. In diesem Zustand kann der Code ausgeliefert werden. Ein configure erstellt dem Enduser dann das Makefile und bietet Ihm so automatische Anpassungen an die jeweilige Distri bzw. das jew. Unix oder auch generell System.
http://www.developingprogrammers.com/index.php/2006/01/05/autotools-tutorial/Wenn Du selber entwickelst und nie auf anderen Maschinen testen willst (v.a. embedded), brauchst Du noch nicht einmal die Autotools. Der gcc reicht auf der Console vollkommen aus fuer einzelne Files, oder ansonsten schreib Dir ein Makefile bzw. kopier Dir eins und pass es an, gibt da ja haufenweise Beispiele (es gibt auch ein Makedoc das man installieren kann, das ist sehr gut erklaerend, finde ich).
Sry, wollte nicht trollen.. aber vllt hilfts noch etwas
-
Also ich verwende grundsätzlich bei Projekten, die über ein kleines Wegwerfprogramm hinaus gehen die autotools. Ein gutes Makefile zu schreiben ist aufwändiger, als mal ein Build-System mit autotools zu erstellen. Man denke nur mal an automatische Dependencies oder ein make clean target. Da kopier ich mir doch lieber mal schnell ein configure.in (ich bin noch nicht bei configure.ac angekommen
), ein Makefile.am und ein autogen.sh aus einem meiner bisherigen Projekte und schon kann es los gehen.
-
Autotools sind die Hölle.
-
Tyrdal schrieb:
Autotools sind die Hölle.
Das ist aber echt ein hilfreicher Kommentar
. Du brauchst hier nicht zu veröffentlichen, dass Du nicht gut genug bist, dass Du die Autotools verstehen könntest.
-
Schon klar, warum einfach wenns auch kompliziert geht ...
-
Man muß für Autotools nicht zu blöd sein, um sie furchtbar zu finden...
-
Gerade wenn man die Autotools verstanden hat, sieht man sich doch schnell um Alternativen um.
Dass ich mit meiner rostigen Laubsäge meine Küchenarbeitsplatte zuschneiden _kann_, heißt noch lange nicht, dass ich das auch will oder dass es eine gute Idee ist.
Buildsysteme gibts wie Sand am Meer, in meinem Umfeld verwenden momentan auch viele Leute CMake, vielleicht interessiert Dich das.
-
Folgendes kleine Tutorial sieht recht praktisch aus: http://smalltalk.gnu.org/blog/bonzinip/all-you-should-really-know-about-autoconf-and-automake
Ich selbst benutze aber keine autotools mehr.
@nman
CMake ist aber auch ziemlich schrecklich. Leider derzeit das einzig praktikable, wenn man auch Windows sinnvoll unterstützen will (da es VS-Projektfiles generieren kann und im Gegensatz zu autotools kein Cygwin oä braucht).
-
rüdiger schrieb:
Folgendes kleine Tutorial sieht recht praktisch aus: http://smalltalk.gnu.org/blog/bonzinip/all-you-should-really-know-about-autoconf-and-automake
Ich selbst benutze aber keine autotools mehr.
@nman
CMake ist aber auch ziemlich schrecklich. Leider derzeit das einzig praktikable, wenn man auch Windows sinnvoll unterstützen will (da es VS-Projektfiles generieren kann und im Gegensatz zu autotools kein Cygwin oä braucht).Super Link. Danke. So einfach auf den Punkt gebracht habe ich das noch nie gesehen.
-
rüdiger schrieb:
CMake ist aber auch ziemlich schrecklich. Leider derzeit das einzig praktikable, wenn man auch Windows sinnvoll unterstützen will (da es VS-Projektfiles generieren kann und im Gegensatz zu autotools kein Cygwin oä braucht).
Ja, CMake ist wohl der einzig wirklich vollwertige Ersatz für die Autotools. Dass es da ein paar Ekelhaftigkeiten mit sich bringt, wundert mich nicht, bringt leider das Anwendungsgebiet so mit sich. So riesige Plattformunterschiede wegabstrahieren, wie das ein gutes Buildsystem tun muss, ist einfach ein dreckiger Job.
Aber das Autotools-Tutorial ist wirklich ziemlich fein, ich hatte irgendwann mal was ähnliches, was auch recht hilfreich war, finde ich aber gerade nicht mehr. Muss ich suchen, ein bisschen FAQ-Material zu dem Thema wäre sicher nicht dumm.