Merge branch 'update-arm-gcc' into ide-1.5.x

This commit is contained in:
Cristian Maglie 2013-08-08 15:00:14 +02:00
commit 32a5a300b9
10 changed files with 71 additions and 125 deletions

View File

@ -5,20 +5,27 @@
<!--echo message="os.version = ${os.version}" /-->
<!-- Sets properties for macosx/windows/linux depending on current system -->
<condition property="macosx"><os family="mac" /></condition>
<condition property="windows"><os family="windows" /></condition>
<condition property="linux"><os family="unix" /></condition>
<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>
<condition property="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
<condition property="windows"><equals arg1="${platform}" arg2="windows" /></condition>
<condition property="linux32"><equals arg1="${platform}" arg2="linux32" /></condition>
<condition property="linux64"><equals arg1="${platform}" arg2="linux64" /></condition>
<condition property="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
<condition property="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
<condition property="staging_folder" value="macosx"><equals arg1="${platform}" arg2="macosx" /></condition>
<condition property="staging_folder" value="windows"><equals arg1="${platform}" arg2="windows" /></condition>
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
<condition property="staging_hardware_folder" value="Arduino.app/Contents/Resources/Java/hardware"><equals arg1="${platform}" arg2="macosx" /></condition>
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="windows" /></condition>
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux32" /></condition>
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linux64" /></condition>
<condition property="arch-bits" value="32">
<equals arg1="${platform}" arg2="linux32"/>
@ -185,7 +192,7 @@
<fail message="wrong platform (${os.name})" />
</target>
<target name="macosx-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build, macosx-check-arm-toolchain" description="Build Mac OS X version">
<target name="macosx-build" if="macosx" depends="revision-check, macosx-checkos, subprojects-build" description="Build Mac OS X version">
<mkdir dir="macosx/work" />
<!-- assemble the pde -->
@ -234,7 +241,11 @@
<param name="target.path" value="macosx/work/Arduino.app/Contents/Resources/Java" />
</antcall>
<antcall target="macosx-unzip-arm-toolchain" />
<antcall target="unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-mac.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-mac.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<delete includeEmptyDirs="true" quiet="true">
<fileset dir="macosx/work/Arduino.app/Contents/Resources/Java/hardware/tools" includes="**/3.4.6/**/*"/>
@ -252,42 +263,6 @@
<exec executable="macosx/work/Arduino.app/Contents/MacOS/JavaApplicationStub" spawn="false"/>
</target>
<target name="macosx-check-arm-toolchain-distfile">
<available file="macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz" property="arm_distfile_available" />
</target>
<target name="macosx-get-arm-toolchain" depends="macosx-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-macos.tar.gz"
dest="macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz" verbose="true" />
</target>
<target name="macosx-check-arm-toolchain">
<available file="macosx/work/Arduino.app/Contents/Resources/Java/hardware/tools/g++_arm_none_eabi"
property="arm_available" />
</target>
<target name="macosx-unzip-arm-toolchain" depends="macosx-get-arm-toolchain, macosx-check-arm-toolchain" unless="arm_available">
<checksum file="macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz" 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-macos.tar.gz failed checksum.
Please remove "macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz" to download it again.
</fail>
<!-- ...and unzip on the destination folder -->
<exec executable="tar" output="/dev/null">
<arg value="xfz"/>
<arg value="macosx/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-macos.tar.gz"/>
<arg value="--directory=macosx/work/Arduino.app/Contents/Resources/Java/hardware/tools/"/>
</exec>
</target>
<!-- - - - - - - - - - - - - - - - -->
<!-- Sign application for MacOSX. -->
<!-- - - - - - - - - - - - - - - - -->
@ -447,7 +422,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">
@ -484,11 +459,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="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"/>
@ -502,6 +482,13 @@
<chmod perm="755" file="linux/work/hardware/tools/avrdude" />
<!-- Unzip ARM tools -->
<antcall target="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"/>
@ -509,60 +496,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" />
<!-- 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="check-arm-toolchain">
<available file="${staging_folder}/dist/${dist_file}" property="arm_distfile_available" />
<available file="${staging_folder}/work/hardware/tools/${dist_check_file}" property="arm_toolchain_installed" />
</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" />
<!-- Retrieve ARM toolchain -->
<target name="get-arm-toolchain" depends="check-arm-toolchain" unless="arm_distfile_available">
<get src="${dist_url}" dest="${staging_folder}/dist/${dist_file}" verbose="true" />
</target>
<target name="linux-check-arm-toolchain">
<available file="linux/work/hardware/tools/g++_arm_none_eabi" property="arm_available" />
</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"
<target name="unzip-arm-toolchain" depends="get-arm-toolchain, check-arm-toolchain"
unless="arm_toolchain_installed">
<checksum file="${staging_folder}/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 "${staging_folder}/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="--directory=linux/work/hardware/tools"/>
<arg value="${staging_folder}/dist/${dist_file}"/>
<arg value="--directory=${staging_folder}/work/${staging_hardware_folder}/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">
@ -704,7 +678,12 @@
<fileset dir="windows/work" includes="**/*.html, **/*.dll, **/*.exe" />
</chmod>
<antcall target="windows-unzip-arm-toolchain" />
<!-- Unzip ARM toolchain -->
<antcall target="unzip-arm-toolchain">
<param name="dist_file" value="gcc-arm-none-eabi-4.7.4-2013q2-windows.tar.gz" />
<param name="dist_url" value="http://arduino.googlecode.com/files/gcc-arm-none-eabi-4.7.4-2013q2-windows.tar.gz" />
<param name="dist_check_file" value="gcc-arm-none-eabi-4.7.4-2013q2" />
</antcall>
<delete includeEmptyDirs="true" quiet="true">
<fileset dir="windows/work/hardware/tools/avr/doc" />
@ -717,42 +696,6 @@
dir="windows/work" spawn="true"/>
</target>
<target name="windows-check-arm-toolchain-distfile">
<available file="windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz" property="arm_distfile_available" />
</target>
<target name="windows-get-arm-toolchain" depends="windows-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-win32.tar.gz"
dest="windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz"
verbose="true" />
</target>
<target name="windows-check-arm-toolchain">
<available file="windows/work/hardware/tools/g++_arm_none_eabi" property="arm_available" />
</target>
<target name="windows-unzip-arm-toolchain" depends="windows-get-arm-toolchain, windows-check-arm-toolchain" unless="arm_available">
<checksum file="windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz" 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-win32.tar.gz failed checksum.
Please remove "windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz" to download it again.
</fail>
<!-- Unzip toolchain to the destination folder -->
<exec executable="tar">
<arg value="xfz"/>
<arg value="windows/dist/gcc-arm-none-eabi-4.4.1-2010q1-188-win32.tar.gz"/>
<arg value="--directory=windows/work/hardware/tools"/>
</exec>
</target>
<target name="windows-dist" depends="windows-build"
description="Create .zip files of windows version">

View File

@ -1 +0,0 @@
46a93ceec28772ac19c76ffc9b285a1eac4288a3

View File

@ -0,0 +1 @@
b35a6b9b1066977509ad5dcf51936b7a6bb18c18

View File

@ -0,0 +1 @@
14afebbb1a26b799237080ec32b300a409ff99cb

View File

@ -1 +0,0 @@
14c554bb9aa9f0d0262a593e7452d33f4babc60d

View File

@ -0,0 +1 @@
a1326c6258f91d9b318570bc619ca8a3b799d8bc

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 and simplified build.xml
* ARM gcc doesn't require ia32-libs anymore on 64 bits linux systems
[arduino core]
* sam: Fixed delayMicrosecond() when interrupts are disabled

View File

@ -1 +0,0 @@
f288affa058bfdd44f8b93800fc4cb01b2ebf1e5

View File

@ -0,0 +1 @@
c41fa509205b9ced43fc221b6a0cae4223a0842d

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++