Skip to content

Add Tizen x64 and arm64 target_cpu support in GN build config - #175

Merged
mattleibow merged 1 commit into
skiasharpfrom
dev/tizen-x64-arm64-support
Apr 9, 2026
Merged

Add Tizen x64 and arm64 target_cpu support in GN build config#175
mattleibow merged 1 commit into
skiasharpfrom
dev/tizen-x64-arm64-support

Conversation

@mattleibow

@mattleibow mattleibow commented Mar 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add x64 and arm64 target_cpu branches to the Tizen is_tizen block in gn/BUILDCONFIG.gn, enabling 64-bit native library builds for Tizen.

Changes

  • gn/BUILDCONFIG.gn: Default ncli_version changed from 4.0 to 8.0 (callers override via GN args for older rootstraps)
  • Added x64 branch: x86_64-tizen-linux-gnu target with tizen-{ver}-emulator64.core rootstrap
  • Added arm64 branch: aarch64-tizen-linux-gnu target with tizen-{ver}-device64.core rootstrap

Architecture mapping

target_cpu ncli_target rootstrap gcc dir
arm arm-tizen-linux-gnueabi mobile-{ver}-device.core arm-linux-gnueabi-gcc-9.2
x86 i586-tizen-linux-gnueabi mobile-{ver}-emulator.core i586-linux-gnueabi-gcc-9.2
x64 x86_64-tizen-linux-gnu tizen-{ver}-emulator64.core x86_64-linux-gnu-gcc-9.2
arm64 aarch64-tizen-linux-gnu tizen-{ver}-device64.core aarch64-linux-gnu-gcc-9.2

Related

Add ncli_version_64 variable and x64/arm64 branches to the is_tizen
block in BUILDCONFIG.gn. This enables building Skia native libraries
for Tizen x86_64 (emulator64) and aarch64 (device64) using the
tizen-8.0 rootstraps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow
mattleibow force-pushed the dev/tizen-x64-arm64-support branch from c291e7b to 2967515 Compare April 9, 2026 00:00
@mattleibow
mattleibow merged commit 8c99e43 into skiasharp Apr 9, 2026
1 check passed
@mattleibow
mattleibow deleted the dev/tizen-x64-arm64-support branch April 9, 2026 16:08
mattleibow added a commit to mono/SkiaSharp that referenced this pull request Apr 9, 2026
Point externals/skia to 8c99e432ff (the squash-merge of PR #175 onto
the skiasharp branch) instead of the feature branch commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mattleibow added a commit to mono/SkiaSharp that referenced this pull request Apr 9, 2026
Changes: mono/skia#175

Add 64-bit (x86_64, aarch64) native library builds for Tizen alongside
the existing 32-bit armel and i586 targets. The new architectures use
Tizen 8.0 rootstraps while the 32-bit targets remain on mobile 6.0.

  * native/tizen/build.cake: Refactor Build() to accept per-architecture
    rootstrap, profile, and ncli_version. Add SetProjectProfile() helper
    to dynamically switch the project_def.prop profile between builds.
    Clean stale build directories before each architecture to prevent
    cross-arch linker conflicts.
  * binding/*.csproj and *.targets: Add PackageFile and TizenTpkFiles
    entries for tizen-x64 and tizen-arm64 RIDs.
  * externals/skia: Bump submodule to mono/skia@29675152de (GN config
    for Tizen x64/arm64 target_cpu).

Also fixes a missing space in the HarfBuzzSharp tvos ItemGroup condition
(`')and'` → `') and'`).

RIDs follow Samsung's official RuntimeIdentifierGraph.json naming:
tizen-x64 and tizen-arm64.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant