1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-20 14:54:31 +01:00

AArch64 support

This patch will require a little rework before it gets submitted.

1) I don't know if the Arduino team will simply edit the existing binary
dependencies in place and hence NOT change the filename like I have below
(libastylej-2.05.1-3.zip -> libastylej-2.05.1-4.zip), or will indeed
upload to new a filename.

2) Since the Arduino team will build and distribute all the binaries, the
SHA values in the patch below will have to be recalculated once the actual
files are available. The values below are for my locally built versions.
This commit is contained in:
Stephen Warren 2018-03-13 16:30:38 -06:00 committed by Cristian Maglie
parent 418e3def10
commit c1ea76914b
7 changed files with 72 additions and 8 deletions

View File

@ -0,0 +1 @@
037414a2491950ada8f0f389de39e7c2d6be05ca

View File

@ -23,6 +23,7 @@
<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="linuxarm"><os family="unix" arch="arm" /></condition>
<condition property="platform" value="linuxaarch64"><os family="unix" arch="aarch64" /></condition>
<condition property="windows_host" value="true"><os family="windows" /></condition>
@ -33,18 +34,21 @@
<condition property="linux"><equals arg1="${platform}" arg2="linux32" /></condition>
<condition property="linux"><equals arg1="${platform}" arg2="linux64" /></condition>
<condition property="linux"><equals arg1="${platform}" arg2="linuxarm" /></condition>
<condition property="linux"><equals arg1="${platform}" arg2="linuxaarch64" /></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_folder" value="linux"><equals arg1="${platform}" arg2="linuxarm" /></condition>
<condition property="staging_folder" value="linux"><equals arg1="${platform}" arg2="linuxaarch64" /></condition>
<condition property="staging_hardware_folder" value="Arduino.app/Contents/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="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linuxarm" /></condition>
<condition property="staging_hardware_folder" value="hardware"><equals arg1="${platform}" arg2="linuxaarch64" /></condition>
<condition property="arch-bits" value="32">
<equals arg1="${platform}" arg2="linux32"/>
@ -55,6 +59,9 @@
<condition property="arch-bits" value="64">
<equals arg1="${platform}" arg2="linux64"/>
</condition>
<condition property="arch-bits" value="32">
<equals arg1="${platform}" arg2="linuxaarch64"/>
</condition>
<condition property="launch4j-download-unpack-target-name" value="launch4j-windows"><os family="windows" /></condition>
<property name="launch4j-download-unpack-target-name" value="launch4j-linux"/>
@ -455,8 +462,8 @@
</antcall>
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
<param name="archive_file" value="./libastylej-2.05.1-4.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-4.zip" />
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>
@ -643,8 +650,8 @@
<target name="linux-libastyle-x86" depends="linux-build" description="Download libastyle.so for x86/x64 arch">
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
<param name="archive_file" value="./libastylej-2.05.1-4.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-4.zip" />
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>
@ -668,8 +675,8 @@
<target name="linux-libastyle-arm" depends="linux-build" description="Download libastyle.so for ARM">
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
<param name="archive_file" value="./libastylej-2.05.1-4.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-4.zip" />
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>
@ -709,6 +716,48 @@
</antcall>
</target>
<target name="linux-libastyle-aarch64" depends="linux-build" description="Download libastyle.so for AArch64">
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-4.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-4.zip" />
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>
<copy file="linux/libastylej-2.05.1/libastylej_aarch64.so" tofile="linux/work/lib/libastylej.so" />
<chmod perm="755" file="linux/work/lib/libastylej.so" />
<antcall target="portable-${portable}">
<param name="parentdir" value="linux/work" />
</antcall>
<antcall target="unzip">
<param name="archive_file" value="./liblistSerials-${LIBLISTSERIAL-VERSION}-2.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/liblistSerials/liblistSerials-${LIBLISTSERIAL-VERSION}.zip" />
<param name="final_folder" value="${staging_folder}/liblistSerials-${LIBLISTSERIAL-VERSION}" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>
<copy file="linux/liblistSerials-${LIBLISTSERIAL-VERSION}/aarch64/liblistSerialsj.so" todir="linux/work/lib/" />
<chmod perm="755" file="linux/work/lib/liblistSerialsj.so" />
</target>
<target name="linuxaarch64-build" depends="linux-libastyle-aarch64" description="Build Linux (AArch64) version">
<antcall target="linux-jvm-${linux-bundle-jvm-task}">
<param name="JVM" value="${LINUXARM_BUNDLED_JVM}"/>
</antcall>
<antcall target="build-arduino-builder" />
<antcall target="avr-toolchain-bundle">
<param name="unpack_target" value="untar"/>
<param name="gcc_archive_file" value="avr-gcc-${AVRGCC-VERSION}-aarch64-pc-linux-gnu.tar.bz2"/>
<param name="gcc_version" value="${AVRGCC-VERSION}"/>
<param name="avrdude_archive_file" value="avrdude-${AVRDUDE-VERSION}-aarch64-pc-linux-gnu.tar.bz2"/>
<param name="avrdude_version" value="${AVRDUDE-VERSION}"/>
<param name="arduinoOTA_archive_file" value="arduinoOTA-${arduinoOTA-VERSION}-linux_aarch64.tar.bz2"/>
<param name="arduinoOTA_version" value="${arduinoOTA-VERSION}"/>
</antcall>
</target>
<target name="linux32-build" depends="linux-libastyle-x86" description="Build linux (32-bit) version">
<antcall target="linux-jvm-${linux-bundle-jvm-task}">
<param name="JVM" value="${LINUX32_BUNDLED_JVM}"/>
@ -763,6 +812,8 @@
<target name="linuxarm-run" depends="build,start"/>
<target name="linuxaarch64-run" depends="build,start"/>
<target name="linux32-start">
<exec executable="./linux/work/arduino" spawn="false" failonerror="true"/>
</target>
@ -775,6 +826,10 @@
<exec executable="./linux/work/arduino" spawn="false" failonerror="true"/>
</target>
<target name="linuxaarch64-start">
<exec executable="./linux/work/arduino" spawn="false" failonerror="true"/>
</target>
<target name="build-arduino-builder" unless="no_arduino_builder">
<delete dir="${staging_folder}/arduino-builder-${platform}" includeemptydirs="true"/>
<mkdir dir="${staging_folder}/arduino-builder-${platform}"/>
@ -906,6 +961,9 @@
<target name="linuxarm-dist" depends="linux-dist"
description="Build .tar.xz of linux armhf version" />
<target name="linuxaarch64-dist" depends="linux-dist"
description="Build .tar.xz of linux aarch64 version" />
<!-- - - - - - - - -->
<!-- Windows -->
<!-- - - - - - - - -->
@ -983,8 +1041,8 @@
<antcall target="windows-build-avr-toolchain" />
<antcall target="unzip">
<param name="archive_file" value="./libastylej-2.05.1-3.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
<param name="archive_file" value="./libastylej-2.05.1-4.zip" />
<param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-4.zip" />
<param name="final_folder" value="${staging_folder}/libastylej-2.05.1" />
<param name="dest_folder" value="${staging_folder}" />
</antcall>

View File

@ -0,0 +1 @@
821c2b8c7560f9ff934b052e2b26eaeca05ea28f

View File

@ -0,0 +1 @@
79311e47bfc3bbde9cb907760008b5bc91414ba7

View File

@ -0,0 +1 @@
4a4df0746debf7768a5ffae7201d533d0ca79685

View File

@ -0,0 +1 @@
b21e4b06af3a045762276b7705508896f33a4757

View File

@ -0,0 +1 @@
40cc1a87ae550c958735d485e05c79be320f0ae1