platform specification

A specification of a platform a scie targets.

A platform specification at its most basic is a string identifying the operating system / processor architecture pair, a.k.a. the platform; e.g.: "linux-x86_64".

For some systems more detail is needed to distinguish between available software ecosystems and additional available hardware details. If you need to pick out this level of detail, instead of supplying a platform string, supply a table with a platform string entry and any other entries needed to narrow down the platform specification. For example, to specify a musl Linux system you might use: {platform = "linux-x86_64", libc = "musl"}.

You are free to mix simple platform strings with platform specification tables as values in arrays and tables that accept platform specification values. For example, this is a valid list of lift platforms to target in a lift manifest:

[lift]
platforms = [
    "linux-aarch64",
    {platform = "linux-x86_64", libc = "glibc"},
    {platform = "linux-x86_64", libc = "musl"},
    "macos-aarch64",
    "macos-x86_64",
]

platform

type: ‘linux-aarch64’ | ‘linux-armv7l’ | ‘linux-powerpc64’ | ‘linux-s390x’ | ‘linux-x86_64’ | ‘macos-aarch64’ | ‘macos-x86_64’ | ‘windows-aarch64’ | ‘windows-x86_64’

libc

type: ‘gnu’ | ‘musl’ (Optional)