Skip to content
This repository has been archived by the owner on Nov 21, 2019. It is now read-only.

Commit

Permalink
AArch64 support
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
nvswarren committed Mar 13, 2018
1 parent 662d665 commit 8314558
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 8 deletions.
1 change: 1 addition & 0 deletions build/arduino-builder-linuxaarch64-1.3.25.tar.bz2.sha
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
037414a2491950ada8f0f389de39e7c2d6be05ca
74 changes: 66 additions & 8 deletions build/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand All @@ -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"/>
Expand All @@ -55,6 +59,9 @@
<condition property="arch-bits" value="64">
<equals arg1="${platform}" arg2="linux64"/>
</condition>
<condition property="arch-bits" value="32">

This comment has been minimized.

Copy link
@facchinm

facchinm Mar 16, 2018

value="32"> looks wrong here, would you mind amending 😄 ?

This comment has been minimized.

Copy link
@swarren

swarren Mar 16, 2018

Owner

Oops. Pushed a new commit over the branch.

This comment has been minimized.

Copy link
@facchinm

facchinm Mar 16, 2018

👍

<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"/>
Expand Down Expand Up @@ -456,8 +463,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>
Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand Down Expand Up @@ -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}"/>
Expand Down Expand Up @@ -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>
Expand All @@ -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}"/>
Expand Down Expand Up @@ -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 -->
<!-- - - - - - - - -->
Expand Down Expand Up @@ -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>
Expand Down
1 change: 1 addition & 0 deletions build/libastylej-2.05.1-4.zip.sha
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
821c2b8c7560f9ff934b052e2b26eaeca05ea28f
1 change: 1 addition & 0 deletions build/liblistSerials-1.4.0-2.zip.sha
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
79311e47bfc3bbde9cb907760008b5bc91414ba7
1 change: 1 addition & 0 deletions build/linux/arduinoOTA-1.1.1-linux_aarch64.tar.bz2.sha
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4a4df0746debf7768a5ffae7201d533d0ca79685
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b21e4b06af3a045762276b7705508896f33a4757
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
40cc1a87ae550c958735d485e05c79be320f0ae1

0 comments on commit 8314558

Please sign in to comment.