Skip to content

Platforms

scd supports multiple target platforms, including iOS and Android. The target platform is specified using the --platform option and determines the compiler toolchain, SDK, and output format used during the build. The default platform is macos on macOS hosts and linux on Linux hosts.

Some commands, such as archive, accept multiple --platform values simultaneously to produce multi-architecture Android artifacts from a single invocation.

ValuePlatform
macosmacOS (default)
linuxLinux
iphoneosiOS device
iphonesimulatoriOS Simulator
android-arm64-v8aAndroid ARM64
android-x86_64Android x86_64
android-armeabi-v7aAndroid ARMv7
android-x86Android x86

Swift officially supports Android, but support is still limited — scd uses the SCADE Android Swift SDK, which includes fixes not present in upstream Swift.

For every Android build, scd automatically applies linker and compiler flags required for Android compatibility, including:

  • --build-id=sha1, needed for correct crash symbolication on Android
  • -z,max-page-size=16384, required for 16 KB page size support on newer Android versions
  • -fPIC, required for producing shared libraries on Android

These flags are applied automatically — you don’t need to pass them yourself.