Beim Aufbau des neuen Buildservers sind auch zwei Skripte zum Erzeugen der Toolchains entstanden. Das eine Skript erzeugt einen
gcc 4.5.1 und wurde für den trunk des CHDK-DE benutzt. Das Andere erzeugt einen
gcc 4.7.0. Dieser ist aktuell für beide Modulversionen im Einsatz.
Nach vielen Tests habe ich mich weiterhin für die
BinUtils 2.18 entschieden. Die größten Probleme bereiten neuere
BinUtils bei native_call-Aufrufen.
Die
BinUtils 2.18 benötigen
makeinfo aus dem
Texinfo-Packet. Da das
configure-Skript der
Binutils 2.18 neuer
Texinfo-Versionen nicht erkennt, wird durch das Toolchain-Skript in Zeile 91 die
configure-Datei der
BinUtils gepatcht.
- Code: Alles auswählen
# makeinfo is required for binutils 2.18
# makeinfo patch for texinfo 4.11, 4.13
if [ "${VER_BINUTILS}" = "2.18" ] ; then
#
ed ${BUILDDIR}/${BINUTILS}/configure << EOF
6131s/\[4-9\]/(4|5|6|7|8|9|11|13)
wq
EOF
#
fi
Die
newLib-Version wurde passend zur
gcc-Version gewählt (
gcc 4.5.1 mit
newlib 1.19.0,
gcc 4.7.0 mit
newlib 1.20.0).
Nach dem
gcc 4.7 wird es offensichtlich keine
arm_elf-Unterstützung mehr geben (siehe:
GCC 4.7 Release Series - Changes). In jedem Fall ist hier der Kompilerschalter
- Code: Alles auswählen
--enable-obsolete
erforderlich.
Beide Skripte erzeugten unter Linux 32Bit (Ubuntu) und 64Bit (Suse) lauffähige CHDK-Kompiler. Das Skript packt die Toolchain nach erfolgreicher Ausführung in einem TAR.GZ-Archiv zusammen.
Gruß rudi