From 4fefa063c1f4361f53bd5ff84ed41b8e90e8cfc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=A6n=20Hansen?= Date: Thu, 19 Jun 2025 23:17:16 +0200 Subject: [PATCH] Fix executible extensions for NDK access from ferric --- packages/ferric/src/cargo.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/ferric/src/cargo.ts b/packages/ferric/src/cargo.ts index 79e6bc40..dde7222c 100644 --- a/packages/ferric/src/cargo.ts +++ b/packages/ferric/src/cargo.ts @@ -167,6 +167,8 @@ export function getTargetEnvironmentVariables({ const targetArch = getTargetAndroidArch(target); const targetPlatform = getTargetAndroidPlatform(target); const weakNodeApiPath = getWeakNodeApiAndroidLibraryPath(target); + const cmdMaybe = process.platform === "win32" ? ".cmd" : ""; + const exeMaybe = process.platform === "win32" ? ".exe" : ""; return { CARGO_ENCODED_RUSTFLAGS: [ @@ -177,32 +179,32 @@ export function getTargetEnvironmentVariables({ ].join(String.fromCharCode(0x1f)), CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER: joinPathAndAssertExistence( toolchainBinPath, - `aarch64-linux-android${androidApiLevel}-clang` + `aarch64-linux-android${androidApiLevel}-clang${cmdMaybe}` ), CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER: joinPathAndAssertExistence( toolchainBinPath, - `armv7a-linux-androideabi${androidApiLevel}-clang` + `armv7a-linux-androideabi${androidApiLevel}-clang${cmdMaybe}` ), CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER: joinPathAndAssertExistence( toolchainBinPath, - `x86_64-linux-android${androidApiLevel}-clang` + `x86_64-linux-android${androidApiLevel}-clang${cmdMaybe}` ), CARGO_TARGET_I686_LINUX_ANDROID_LINKER: joinPathAndAssertExistence( toolchainBinPath, - `i686-linux-android${androidApiLevel}-clang` + `i686-linux-android${androidApiLevel}-clang${cmdMaybe}` ), TARGET_CC: joinPathAndAssertExistence( toolchainBinPath, - `${targetArch}-linux-${targetPlatform}-clang` + `${targetArch}-linux-${targetPlatform}-clang${cmdMaybe}` ), TARGET_CXX: joinPathAndAssertExistence( toolchainBinPath, - `${targetArch}-linux-${targetPlatform}-clang++` + `${targetArch}-linux-${targetPlatform}-clang++${cmdMaybe}` ), - TARGET_AR: joinPathAndAssertExistence(toolchainBinPath, `llvm-ar`), + TARGET_AR: joinPathAndAssertExistence(toolchainBinPath, `llvm-ar${exeMaybe}`), TARGET_RANLIB: joinPathAndAssertExistence( toolchainBinPath, - `llvm-ranlib` + `llvm-ranlib${exeMaybe}` ), ANDROID_NDK: ndkPath, PATH: `${toolchainBinPath}:${process.env.PATH}`,