Frage von DigitalZ, 15

GNU compiler toolchain erstellen?

Guten Abend, Ich möchte eine GNU Compiler Toolchain erstellen also compilen. Ich würde nur erst mal gern die Theorie verstehen bevor ich mit der Praxis beginne. Also meine Toolchain sollte stat der Glibc die uclibc verwenden. Da der Linker ja für das linken der Bibliotheken da ist und der GNU Linker in den Binutils enthalten ist müsste ich doch im configure script des Linkers festlegen wo er diese findet? Verstehe ich das richtig oder wie teile ich den einzelnen Teilen der Toolchain mit wo sie die C Bibliothek finden ? Die Toolchain soll für ein embedded Linux sein. Ich entschuldige mich für Rechtschreibfehler da ich von meinem Handy aus schreibe und Bedanke mich führ eure Hilfe schon im Voraus.

Antwort
von GWBln, 6

Die Art und Weise, wie übersetzt wird siehe „make“

Im Allgemeinen erstellst du eine Datei „makefile“ (o.ä.) in dem die beteiligten Dateien aufgeführt sind.

Ebenfalls dort werden Angaben zum Linker, also Bibliotheken und so aufgeführt.

Zu näheren Details bemühe die „man pages“, also

man make
Kommentar von DigitalZ ,

Ich glaube ich habe mich etwas schlecht ausgedrückt. Ich meine nicht wie diverse Programme über ihre Makefiles mitteilen welche Libraries sie verwenden sondern meine Frage bezieht sich darauf wie ich der GNU (Cross)Compiler Toolchain mitteile welche Standard C Library sie verwenden soll. Ich habe in meheren Anleitungen gesehen, dass die Binutils der GCC und die Standard C Library in einen über die "--prefix" option angegebenen Ordner installiert werden sollen. Aber wodurch erkennt der GCC, dass er die C Library aus dem Prefix-Ordner nehmen soll und nicht die Standard C Library des Systems an dem ich arbeite ? 

Kommentar von GWBln ,

Meines Wissens gibt man alle relevanten Informationen im Make-File an, oder berücksichtigt sie beim Aufruf des Compilers/Binders.

Ich habe schon lange nichts mehr übersetzt, weiß aber von früher, daß man auch ein Cross-Compile machen kann, also Code für eine völlig andere Maschine erzeugen ... sofern die benötigten Bibliotheken zur Verfügung stehen ... im Zweifelsfall durch das Setzen der passenden Environment-Variablen!

Also kann ich nur wiederholen: Ließ die man-pages zu make und gcc!

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten