diff options
| author | ruki <[email protected]> | 2025-02-25 23:09:21 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-02-25 23:09:21 +0800 |
| commit | ac47c85eb55b510b6b40a567ad86fb02a7a25425 (patch) | |
| tree | f56fd0b3a46e5c2f2379310027ca4e4b3ebe16dc | |
| parent | c1fac4f233b9c33b897ec3348d908d9560eff385 (diff) | |
improve links
| -rw-r--r-- | tests/projects/kotlin-native/package/xmake.lua | 1 | ||||
| -rw-r--r-- | xmake/languages/kotlin/load.lua | 9 | ||||
| -rw-r--r-- | xmake/languages/kotlin/xmake.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/core/tools/kotlinc_native.lua | 5 | ||||
| -rw-r--r-- | xmake/modules/package/manager/kotlin-native/install_package.lua | 9 |
5 files changed, 16 insertions, 12 deletions
diff --git a/tests/projects/kotlin-native/package/xmake.lua b/tests/projects/kotlin-native/package/xmake.lua index 1b7d146f3..14d74faf8 100644 --- a/tests/projects/kotlin-native/package/xmake.lua +++ b/tests/projects/kotlin-native/package/xmake.lua @@ -2,6 +2,7 @@ add_rules("mode.debug", "mode.release") add_requires("kotlin-native") add_requires("kotlin-native::org.jetbrains.kotlinx:kotlinx-serialization-json 1.8.0", {alias = "json"}) +add_requires("kotlin-native::org.jetbrains.kotlinx:kotlinx-serialization-json 1.8.0", {alias = "json"}) target("test") set_kind("binary") diff --git a/xmake/languages/kotlin/load.lua b/xmake/languages/kotlin/load.lua index 8d7ad0430..7964351ec 100644 --- a/xmake/languages/kotlin/load.lua +++ b/xmake/languages/kotlin/load.lua @@ -26,25 +26,26 @@ function _get_apis() , "target.add_ldflags" , "target.add_arflags" , "target.add_shflags" - , "target.add_rpathdirs" -- @note do not translate path, it's usually an absolute path or contains $ORIGIN/@loader_path + , "target.add_links" -- option.add_xxx , "option.add_kcflags" , "option.add_ldflags" , "option.add_arflags" , "option.add_shflags" - , "option.add_rpathdirs" + , "option.add_links" -- toolchain.add_xxx , "toolchain.add_kcflags" , "toolchain.add_ldflags" , "toolchain.add_arflags" - , "toolchain.add_shflags" - , "toolchain.add_rpathdirs" + , "toolchain.add_links" } apis.paths = { -- target.add_xxx "target.add_linkdirs" -- option.add_xxx , "option.add_linkdirs" + -- toolchain.add_xxx + , "toolchain.add_linkdirs" } return apis end diff --git a/xmake/languages/kotlin/xmake.lua b/xmake/languages/kotlin/xmake.lua index 3269ea6cd..9820531b8 100644 --- a/xmake/languages/kotlin/xmake.lua +++ b/xmake/languages/kotlin/xmake.lua @@ -42,12 +42,10 @@ language("kotlin") , "config.frameworkdirs" , "target.linkdirs" , "target.frameworkdirs" - , "target.rpathdirs" , "target.strip" , "target.symbols" , "toolchain.linkdirs" , "toolchain.frameworkdirs" - , "toolchain.rpathdirs" , "config.frameworks" , "target.frameworks" , "toolchain.frameworks" @@ -63,12 +61,10 @@ language("kotlin") , "config.frameworkdirs" , "target.linkdirs" , "target.frameworkdirs" - , "target.rpathdirs" , "target.strip" , "target.symbols" , "toolchain.linkdirs" , "toolchain.frameworkdirs" - , "toolchain.rpathdirs" , "config.frameworks" , "target.frameworks" , "toolchain.frameworks" diff --git a/xmake/modules/core/tools/kotlinc_native.lua b/xmake/modules/core/tools/kotlinc_native.lua index 8c703477c..c785f646f 100644 --- a/xmake/modules/core/tools/kotlinc_native.lua +++ b/xmake/modules/core/tools/kotlinc_native.lua @@ -30,6 +30,11 @@ import("lib.detect.find_tool") function init(self) end +-- make the link flag +function nf_link(self, lib) + return {"-l", lib} +end + -- make the build arguments list function buildargv(self, sourcefiles, targetkind, targetfile, flags, opt) return self:program(), table.join(flags, sourcefiles, "-o", targetfile) diff --git a/xmake/modules/package/manager/kotlin-native/install_package.lua b/xmake/modules/package/manager/kotlin-native/install_package.lua index aaac0fd33..ed9cb4ab9 100644 --- a/xmake/modules/package/manager/kotlin-native/install_package.lua +++ b/xmake/modules/package/manager/kotlin-native/install_package.lua @@ -65,15 +65,14 @@ end function _install_package(name, opt) local installdir = opt.installdir local basename = name:split(":")[2] .. "-" .. opt.triplet - local library_file = path.join(installdir, "lib", basename .. ".klib") - local library_url = ("%s/%s-%s/%s-%s.klib"):format(opt.repository, (name:gsub("%.", "/"):gsub(":", "/")), opt.triplet, basename, opt.version) + local library_file = path.join(installdir, "klib", "platform", opt.plat .. "_" .. opt.arch, basename .. ".klib") + local library_url = ("%s/%s-%s/%s/%s-%s.klib"):format(opt.repository, (name:gsub("%.", "/"):gsub(":", "/")), opt.triplet, opt.version, basename, opt.version) http.download(library_url, library_file, { insecure = global.get("insecure-ssl")}) local manifest_file = path.join(installdir, "installed_manifest.txt") io.save(manifest_file, { - links = basename, - linkdirs = path.directory(library_file), + links = library_file, libfiles = library_file, version = opt.version}) end @@ -107,6 +106,8 @@ function main(name, opt) -- do install _install_package(name, { + plat = plat, + arch = arch, triplet = triplet, installdir = installdir, version = version, |
