Re: autoconf & co.
Ralf Corsepius <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 2004-10-14 at 17:37, Andre Heine wrote:
> Moin moin,
>
> Am Donnerstag, 14. Oktober 2004 16:21 schrieb Ralf Corsepius:
>
> [...]
>
> > > Mit dieser Einleitung wollt ich nun anfangen, soweit so gut!
> >
> > Nun ja, das Goat-Book ist ein wenig veraltet, aber immer noch
> > ganz brauchbar.
>
> Kennst Du einen besseren Link?
Nein, das Goat-Book ist immer noch die beste Anleitung zum Einstieg in
die autotools, wobei der Link auf eine neuere Version zeigt wie die, die
es im Buchhandel auf totem Holz gibt ;)
Es beschreibt halt den Stand der Dinge von vor mehreren Jahren
(autoconf-2.13/automake-1.4/libtool-1.x). Seither hat sich Einiges
substantiell verändert.
Die info-Files haben sich seither zwar deutlich verbessert und
mittlerweile als Referenz ganz brauchbar, aber zum Einstieg nicht
wirklich geeignet.
> > > "Makefile.am" und "configure.in" angelegt, danach habe ich
> >
> > Mit autoconf-2.59 solltest Du statt "configure.in",
> > "configure.ac" verwenden.
>
> Auf meinen gentoo habe ich 2.13 und 2.59 installiert, ich habe
> 2.13 benutzt.
Lass es. autoconf-2.13 ist seit langem tot. Für Neuentwicklungen ist
alles andere als autoconf-2.59 (auch schon geraume Zeit heraus) momentan
die Version der Wahl.
Bei automake ist deutlich mehr im Fluss. Hier empfehle ich die neueste
Version (automake-1.9.2).
> > Hast Du eine Datei names signal.h in '.' herumliegen?
>
> JAUUUUUUUUU, das ist das Problem.
> Bei meinen von Hand geschrieben Makefile gab's damit keine
> Probleme. Bei näherer Betrachtung hatte ich da wohl Glück,
> das gcc zuerst in den Systempfaden geguckt hat.
Yep.
> Kann aber auch sein, das autoconf & Co. das unterbinden, may be?
Nein. Dein Log zeigt deutlich, was passiert:
gcc -I. -I. ...
Zweimal "-I.", da Du innerhalb des Source-Trees übersetzt, und -I.
-I$(srcdir) zu "-I. -I." expandiert.
Hättest Du ausserhalb des Source-Trees übersetzt (Sog. VPATH-Build)
würde -I$(srcdir) auf deinen Source-Tree zeigen, und -I. auf '.'
innerhalb des Build-Trees.
> Ich habe mal ein neues C-File mit Header eingebaut, man braucht
> _nichtmal_ die neue Datei irgendwo eintragen(SUFFIX-Regeln).
> Gut, das machen einige meiner selbst geschrieben Makefile auch,
> aber man muss sie eben selber schreiben.
> "touche" ich den Header, wird sofort das betroffene Modul
> neukompiliert.
Yep. In einfachen Fällen wird es wirklich einfach, in wirklich
schwierigen Fällen verlagern sich die Probleme allerdings meist.
> - mit autoconf hätte ich mich schon viel früher beschäftigen
> müssen :))
Sach ich doch :)
Die meisten scheinen mir nur Angst vor dem Unbekannten zu haben.
Zugegeben, die Autotools sind nicht perfekt, der Einstieg ist nicht ganz
ohne, doch auf längere Sicht zahlt es sich aus sich damit auseinander
gesetzt zu haben :)
Ralf
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]