Installing the SDK

From AsteroidOS
Revision as of 19:11, 16 November 2023 by Beroset (talk | contribs) (→‎Installing the SDK: added installing the emulator version section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Software Development Kit (SDK) for AsteroidOS is a set of tools and libraries for developing software to run on AsteroidOS. Since AsteroidOS is a Linux distribution, you can use just about any programming language to develop software, but most of the core applications use a combination of C++ and Qt, with CMake to build. This page describes how to install and configure the SDK.

Which SDK?

One thing to note is that while this describes "the SDK", there are actually two versions -- the main one is used to develop software that runs on ARM-based watches running AsteroidOS. The other one is the SDK for developing applications that run on the emulator, which uses qemux86. See the Emulator page for details on the qemux86 version.

You can install both SDKs on the same machine -- they do not interfere.

Build or Download

You can either build the SDK from sources or download a prebuilt version. Using a prebuilt version is much faster and easier, and is recommended for developers who want to get started quickly.

The prebuilt SDK is available here. If you wish to build it yourself, see Building the SDK.

Installing the SDK

If you downloaded a prebuilt SDK, run the downloaded script. If you built your own, the generated installation script should be in tmp-glibc/deploy/sdk/ (relative to the build directory). In either case, navigate to the directory which contains the oecore-x86_64-armv7vehf-neon-toolchain-nodistro.0.sh script and run it:

oecore-x86_64-armv7vehf-neon-toolchain-nodistro.0.sh

This script will install the cross-compiler and ARM libraries in /usr/local/oecore-x86_64 by default, along with a script that needs to be sourced before every build. If you want to compile software for AsteroidOS on a watch, the command-line steps generally look like this:

source /usr/local/oecore-x86_64/environment-setup-armv7vehf-neon-oe-linux-gnueabi
cmake -B build
cmake --build build

Installing the emulator version of the SDK

Installing the emulator version of the SDK is almost exactly the same. The only difference is that the file name for the installer is oecore-x86_64-core2-32-toolchain-nodistro.0.sh.

As noted above, you can install either or both versions on the same computer with no problem. They are completely independent.

See Creating an Asteroid app for next steps.