Updated ARM gcc to 4.7.4. Added native 64 bit version for linux (no more ia32-libs needed).

Fixes #1474
This commit is contained in:
Cristian Maglie 2013-07-28 14:14:04 +02:00
parent b0332f0c36
commit ea804023ef
6 changed files with 41 additions and 43 deletions

View File

@ -11,14 +11,10 @@
<condition property="linux32"><os family="unix" arch="i386" /></condition>
<condition property="linux64"><os family="unix" arch="amd64" /></condition>
<condition property="platform"
value="macosx"><os family="mac" /></condition>
<condition property="platform"
value="windows"><os family="windows" /></condition>
<condition property="platform"
value="linux32"><os family="unix" arch="i386" /></condition>
<condition property="platform"
value="linux64"><os family="unix" arch="amd64" /></condition>
<condition property="platform" value="macosx"><os family="mac" /></condition>
<condition property="platform" value="windows"><os family="windows" /></condition>
<condition property="platform" value="linux32"><os family="unix" arch="i386" /></condition>
<condition property="platform" value="linux64"><os family="unix" arch="amd64" /></condition>
<!-- Libraries required for running arduino -->
<fileset dir=".." id="runtime.jars">
@ -440,7 +436,7 @@
<fail message="wrong platform (${os.name})" />
</target>
<target name="linux-build" depends="revision-check, linux-checkos, subprojects-build, linux-check-arm-toolchain" description="Build linux version">
<target name="linux-build" depends="revision-check, linux-checkos, subprojects-build" description="Build linux version">
<mkdir dir="linux/work" />
<copy todir="linux/work">
@ -475,11 +471,16 @@
<copy todir="linux/work" file="linux/dist/arduino" />
<chmod perm="755" file="linux/work/arduino" />
<antcall target="linux-unzip-arm-toolchain" />
</target>
<target name="linux32-build" depends="linux-build" description="Build linux (32-bit) version">
<!-- Unzip ARM tools -->
<antcall target="linux-unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-linux32.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<!-- Unzip AVR tools -->
<exec executable="tar" dir="linux/work/hardware">
<arg value="-xjf"/>
@ -493,6 +494,13 @@
<chmod perm="755" file="linux/work/hardware/tools/avrdude" />
<!-- Unzip ARM tools -->
<antcall target="linux-unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-linux64.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<!-- Unzip AVR tools -->
<exec executable="tar" dir="linux/work/hardware">
<arg value="-xjf"/>
@ -500,60 +508,47 @@
</exec>
</target>
<target name="linux32-run" depends="linux32-build"
description="Run Linux (32-bit) version">
<target name="linux32-run" depends="linux32-build" description="Run Linux (32-bit) version">
<exec executable="./linux/work/arduino" spawn="false"/>
</target>
<target name="linux64-run" depends="linux64-build"
description="Run Linux (64-bit) version">
<target name="linux64-run" depends="linux64-build" description="Run Linux (64-bit) version">
<exec executable="./linux/work/arduino" spawn="false"/>
</target>
<target name="linux-check-arm-toolchain-distfile">
<available file="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" property="arm_distfile_available" />
</target>
<target name="linux-get-arm-toolchain" depends="linux-check-arm-toolchain-distfile" unless="arm_distfile_available">
<!-- Retrieve ARM toolchain -->
<get
src="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"
dest="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"
verbose="true" />
</target>
<!-- Set 'arm_disfile_available' property if ARM toolchain dist_file is downloaded -->
<!-- Set 'arm_toolchain_installed' property if ARM toolchain is installed in working directory -->
<target name="linux-check-arm-toolchain">
<available file="linux/work/hardware/tools/g++_arm_none_eabi" property="arm_available" />
<available file="linux/dist/${dist_file}" property="arm_distfile_available" />
<available file="linux/work/hardware/tools/${dist_check_file}" property="arm_toolchain_installed" />
</target>
<target name="linux-unzip-arm-toolchain" depends="linux-get-arm-toolchain, linux-check-arm-toolchain" unless="arm_available">
<checksum file="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" algorithm="sha"
<!-- Retrieve ARM toolchain -->
<target name="linux-get-arm-toolchain" depends="linux-check-arm-toolchain" unless="arm_distfile_available">
<get src="${dist_url}" dest="linux/dist/${dist_file}" verbose="true" />
</target>
<target name="linux-unzip-arm-toolchain" depends="linux-get-arm-toolchain, linux-check-arm-toolchain"
unless="arm_toolchain_installed">
<checksum file="linux/dist/${dist_file}" algorithm="sha"
fileext=".sha" verifyproperty="checksum.matches"/>
<condition property="checksum.matches.fail">
<equals arg1="${checksum.matches}" arg2="false"/>
</condition>
<fail if="checksum.matches.fail">Checksum failed.
File gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz failed checksum.
Please remove "linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz" to download it again.
File ${dist_file} failed checksum.
Please remove "linux/dist/${dist_file}" to download it again.
</fail>
<!-- Unzip toolchain to the destination folder -->
<exec executable="tar" output="/dev/null" os="Linux">
<arg value="xfz"/>
<arg value="linux/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-linux32.tar.gz"/>
<arg value="linux/dist/${dist_file}"/>
<arg value="--directory=linux/work/hardware/tools"/>
</exec>
</target>
<target name="linux64-get-arm-toolchain" depends="linux-check-arm-toolchain-distfile" unless="arm_distfile_available">
<antcall target="linux-get-arm-toolchain" />
</target>
<target name="linux64-unzip-arm-toolchain" depends="linux-get-arm-toolchain" unless="arm_available">
<antcall target="linux-unzip-arm-toolchain" />
</target>
<target name="linux-dist" depends="build"
description="Build .tar.gz of linux version">

View File

@ -1 +0,0 @@
46a93ceec28772ac19c76ffc9b285a1eac4288a3

View File

@ -0,0 +1 @@
b35a6b9b1066977509ad5dcf51936b7a6bb18c18

View File

@ -0,0 +1 @@
14afebbb1a26b799237080ec32b300a409ff99cb

View File

@ -7,6 +7,8 @@ ARDUINO 1.5.3 BETA
* Added support for new 1.5 Library format (https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification)
* Pass board type from boards.txt (https://github.com/arduino/Arduino/issues/308)
* Display estimated RAM usage after compile (Loren M. Lang)
* Updated arm gcc to 4.7.4 for linux
* ARM gcc doesn't require ia32-libs anymore on 64 bits linux systems
[arduino core]
* sam: Fixed delayMicrosecond() when interrupts are disabled

View File

@ -10,7 +10,7 @@ version=1.5.3
# SAM3 compile variables
# ----------------------
compiler.path={runtime.ide.path}/hardware/tools/g++_arm_none_eabi/bin/
compiler.path={runtime.ide.path}/hardware/tools/gcc-arm-none-eabi-4.7.4-2013q2/bin/
compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf
compiler.c.elf.cmd=arm-none-eabi-g++