From 2e1a7d3f29a73ae40fd1035f7f63c67165d9777a Mon Sep 17 00:00:00 2001 From: Naveen Mittal Date: Thu, 11 Dec 2025 18:44:36 +0530 Subject: [PATCH 1/2] cargo extra envs flags for aarch64 --- CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 176381f..9b484a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,10 @@ set(TOKENIZERS_CPP_MSVC_RUNTIME_LIBRARY "" CACHE STRING "MSVC runtime library se set(TOKENIZERS_CPP_RUST_FLAGS "") set(TOKENIZERS_CPP_CARGO_TARGET "") +if(TOOLCHAIN_DIR) + set(TOOLCHAIN_DIR ${TOOLCHAIN_DIR}/) +endif() + if(MSVC) if(TOKENIZERS_CPP_MSVC_RUNTIME_LIBRARY STREQUAL "MT") list(APPEND TOKENIZERS_CPP_RUST_FLAGS -Ctarget-feature=+crt-static) @@ -33,6 +37,11 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND TOKENIZERS_C_LINK_LIBS ${CMAKE_DL_LIBS}) if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") set(TOKENIZERS_CPP_CARGO_TARGET aarch64-unknown-linux-gnu) + set(CARGO_EXTRA_ENVS + AR_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-ar + CC_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-gcc + CXX_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-g++ + ) endif() elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") set(TOKENIZERS_CPP_CARGO_TARGET wasm32-unknown-emscripten) From dfaccadc3a220d6a9e05358c0cbaf7aa1b3d4f37 Mon Sep 17 00:00:00 2001 From: Naveen Mittal <144010273+NaveenMittal0@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:28:32 +0530 Subject: [PATCH 2/2] addressed gemini review comments --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b484a2..65bfd26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,8 +13,8 @@ set(TOKENIZERS_CPP_MSVC_RUNTIME_LIBRARY "" CACHE STRING "MSVC runtime library se set(TOKENIZERS_CPP_RUST_FLAGS "") set(TOKENIZERS_CPP_CARGO_TARGET "") -if(TOOLCHAIN_DIR) - set(TOOLCHAIN_DIR ${TOOLCHAIN_DIR}/) +if(TOOLCHAIN_DIR AND NOT TOOLCHAIN_DIR MATCHES "/$") + set(TOOLCHAIN_DIR "${TOOLCHAIN_DIR}/") endif() if(MSVC) @@ -38,9 +38,9 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux") if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") set(TOKENIZERS_CPP_CARGO_TARGET aarch64-unknown-linux-gnu) set(CARGO_EXTRA_ENVS - AR_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-ar - CC_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-gcc - CXX_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}aarch64-unknown-linux-gnu-g++ + AR_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-ar + CC_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-gcc + CXX_${TOKENIZERS_CPP_CARGO_TARGET}=${TOOLCHAIN_DIR}${TOKENIZERS_CPP_CARGO_TARGET}-g++ ) endif() elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")