Build-Systeme Teil 5: GNU Autotools
-
Sehr guter Artikel!
Wurde auch Zeit, dass mal die GNU Autotools besprochen werden. Die sind einfach Standard unter UNIX.
-
Super Artikel!
Eine der besten Einführungen in die autotools, die ich bisher gelesen habe. Hätte es die gegeben, als ich mich unlängst mit der Thematik beschäftigt habe, hätte mir das einige Stunden erspart.@Eberhardt
cmake ist ja schon ganz cool, aber ist es wirklich auf allen Systemen so verfügbar wie die Autotools?
-
TheBigW@Work schrieb:
@Eberhardt
cmake ist ja schon ganz cool, aber ist es wirklich auf allen Systemen so verfügbar wie die Autotools?kommt darauf an wie du "so verfügbar" definierst. CMake gibt es für viele Plattformen: http://cmake.org/HTML/Download.html
und spätestens mit KDE4 wird die Verfügbarkeit noch besser werden.ProgChild schrieb:
"nur"? Ein C++ Compilier ist schon eine ziemlich große Voraussetzung, meinst du nicht?
für die Autotools braucht man ja wohl auch einen c/c++ Compiler oder? Dafür muss man noch automake Version xy, etc. installieren
ProgChild schrieb:
Wenn ein Buildsystem einfacher ist, werden einem selber bestimmte Freiheiten genommen, die man unter Umständen mit ziemlich viel Aufwand umgehem muss.
ja, ist das richtig. Gerade Installer sind mit cmake nicht so einfach wie mit den autotools. Aber inzwischen gibt es eine große Auswahl an fertigen cmake Modulen, mit denen man sehr viel anstellen kann (wenn auch nicht soviel wie mit den autotools). Auf die Freiheiten verzichte ich gerne, wenn ich dafür einen einfachen Syntax, IDE Projektdatei-Generierung, kein Versionschaos etc. bekomme.
-
Eberhardt schrieb:
ProgChild schrieb:
"nur"? Ein C++ Compilier ist schon eine ziemlich große Voraussetzung, meinst du nicht?
für die Autotools braucht man ja wohl auch einen c/c++ Compiler oder? Dafür muss man noch automake Version xy, etc. installieren
Ein C Compiler reicht, soweit ich weis. C != C++
-
Vielen Dank für diesen grandiosen Artikel!
Die GNU Autotools sind wohl mit das verfrickelste was mir bis jetzt untergekommen ist.
Ich steh' aber nunmal auf gefrickel! Habe aber nicht die Nerven mir die unzähligen infopages des "Autotools Book" anzutuen...Eine minimale Einführung, - und dann auch noch auf Deutsch! Genau das habe ich gesucht!
Nachdem man deinen Artikel gelesen hat kann man die man-/infopages auch besser überfliegen da man ein recht präzises Bild davon hat was man eigentlich sucht.
-
schöne übersicht über makefiles
eigentlich hasse ich diese dinge ja, aber manchmal braucht man die leider.
...und weil ich bestimmt mal wieder makefiles basteln muss, hab ich deinen artikel ge-bookmark-t
:xmas2:btw: vielleicht hat mal einer lust was über 'ant' zu schreiben?
-
@ten! Eh, gibts doch schon! Build-Systeme Teil 5 ist nicht umsonst Teil 5. Schau einfach mal ins Magazin-Verzeichnis:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-133193.html
-
Artchi schrieb:
@ten! Eh, gibts doch schon! Build-Systeme Teil 5 ist nicht umsonst Teil 5. Schau einfach mal ins Magazin-Verzeichnis:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-133193.htmldanke, den hab ich voll übersehen...
:xmas2:
-
Weis jemand zufällig, wie der Dateiname für make dist-* zusammengesetzt wird? Bei mir gibt#s da am Anfang ein überflüssiges '-' wodurch make dist-* nicht funktioniert
# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) AC_INIT("spaceshooter-sfml", 1.0pre, "bugs@coders-nemesis.eu") AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([Main.cpp]) # Checks for programs. AC_PROG_CXX # Checks for libraries. # Checks for header files. AC_CHECK_HEADERS([libintl.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T # Checks for library functions. AC_HEADER_STDC AC_CHECK_FUNCS([memset sqrt]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT
$ make dist-gzip { test ! -d -spaceshooter-sfml--1.0pre || { find -spaceshooter-sfml--1.0pre -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr -spaceshooter-sfml--1.0pre; }; } test -d -spaceshooter-sfml--1.0pre || mkdir -spaceshooter-sfml--1.0pre mkdir: Ungültige Option -- s „mkdir --help“ gibt weitere Informationen. make: *** [distdir] Fehler 1
-
darthdespotism schrieb:
Weis jemand zufällig, wie der Dateiname für make dist-* zusammengesetzt wird? Bei mir gibt#s da am Anfang ein überflüssiges '-' wodurch make dist-* nicht funktioniert
AC_INIT("spaceshooter-sfml", 1.0pre, "bugs@coders-nemesis.eu")
Was sollen denn die Anführungszeichen da? Kann es sein, dass es daran liegt, dass die da nicht hingehören.
Aber das hier ist bei Weitem weder der richtige Thread, noch das richtige Forum, um sowas zu fragen.
-
OK du hast wohl recht dass das hier Off-Topic ist, sorry.
Deine Diagnose war richtig danke