Skip to content

Allow shliub undefined#1176

Open
Schahen wants to merge 12 commits intomasterfrom
allow_shliub_undefined
Open

Allow shliub undefined#1176
Schahen wants to merge 12 commits intomasterfrom
allow_shliub_undefined

Conversation

@Schahen
Copy link
Contributor

@Schahen Schahen commented Feb 26, 2026

The sole purpose of this PR is to test my hypothesis why does #1173 keep failing on linux

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades Skiko from Kotlin 2.0.10 to 2.3.0, with substantial refactoring to support the newer Kotlin version. The PR is described as a test to investigate build failures on Linux in PR #1173, and adds the --allow-shlib-undefined linker option for Linux native builds.

Changes:

  • Kotlin version upgraded from 2.0.10 to 2.3.0 across all modules and samples
  • Web platform refactored to use standard kotlinx.browser and org.w3c.dom APIs instead of custom W3C declarations
  • Build configuration updated to use compilerOptions instead of deprecated kotlinOptions
  • Native C interop updated to use explicit unsigned literals instead of implicit conversions
  • Import generator plugin enhanced to support both JS and WASM targets with WebImport annotation
  • Android Gradle Plugin upgraded from 7.4.2 to 8.2.2

Reviewed changes

Copilot reviewed 59 out of 65 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
skiko/buildSrc/gradle.properties Updated Kotlin version to 2.3.0
skiko/build.gradle.kts Added language/API version config, updated module names, commented out implicit unsigned conversion flag
dependencies.toml Updated Kotlin to 2.3.0, Android Gradle Plugin to 8.2.2, added kotlinx-browser dependency
skiko/buildSrc/src/main/kotlin/tasks/configuration/NativeTasksConfiguration.kt Added --allow-shlib-undefined linker flag, migrated to compilerOptions, updated cinterop API
skiko/src/webMain/kotlin/org/jetbrains/skiko/w3c/W3CSubset.kt Removed custom W3C declarations (replaced by standard library)
skiko/src/webMain/kotlin/org/jetbrains/skiko/*.kt Multiple files migrated from custom W3C to kotlinx.browser imports
skiko/src/webMain/kotlin/org/jetbrains/skiko/Actuals.web.kt Added WebImport annotation definition
skiko/src/webMain/kotlin/org/jetbrains/skia/webext/ArrayBuffer.web.kt Refactored from expect/actual pattern to single web implementation
skiko/src/jsMain & wasmJsMain Updated ExternalSymbolName to use WebImport, removed platform-specific implementations
skiko/src/nativeMain/kotlin/org/jetbrains/skiko/Resources.native.kt Changed fread call to use explicit unsigned literal (1u)
skiko/src/darwinMain/kotlin/org/jetbrains/skiko/Dispatchers.kt Updated dispatch_get_global_queue to use unsigned literal (0u)
skiko/src/commonTest/kotlin/* Removed unnecessary OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE suppressions, cleaned up test data
skiko/import-generator/src/jvmMain/kotlin/org/jetbrains/skiko/*.kt Enhanced to generate both JsName and WasmImport annotations from WebImport
samples/* Updated Kotlin versions, migrated to compilerOptions, cleaned up unnecessary code

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

OS.Linux -> listOf(
"-linker-option", "-lX11",
"-linker-option", "-lGLX",
"-linker-option", "--allow-shlib-undefined"
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title contains a typo: "shliub" should be "shlib" (shared library).

Copilot uses AI. Check for mistakes.
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.

2 participants