# ACE 开发环境初始化。用法: source scripts/env.sh
# 1) 初始化仓颉工具链(PATH / DYLD_LIBRARY_PATH / SDKROOT 等)
: "${CANGJIE_HOME:=/Users/next-lyle/cangjie}"
source "${CANGJIE_HOME}/envsetup.sh"

# 2) 关键绕过:macOS 26 的 Xcode SDK 与 Cangjie 自带 ld64.lld(LLD 15)不兼容,
#    会导致链接报 undefined symbol: _memcpy/_strchr 等。强制使用 CommandLineTools
#    的 MacOSX15 SDK 链接(cjc 认 SDKROOT,覆盖 envsetup 默认设的 26.4)。
export SDKROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk"

# 3) stdx 预编译目录。各 cjpm.toml 的 path-option / link-option 统一经
#    ${CANGJIE_STDX_PATH} 环境变量引用(官方 bin-dependencies 约定),
#    Linux 构建自行 export CANGJIE_STDX_PATH 指向对应平台的 stdx 根目录即可。
export STDX_HOME="/Users/next-lyle/darwin_aarch64_cjnative"
export CANGJIE_STDX_PATH="${STDX_HOME}"

# 4) stdx dynamicLoader 运行期 dlopen OpenSSL,需让 libcrypto.3/libssl.3.dylib 可被找到。
#    同时把 stdx dynamic 目录加入搜索路径,供运行时 dlopen stdx 动态库。
export DYLD_LIBRARY_PATH="${STDX_HOME}/dynamic:/opt/homebrew/opt/openssl@3/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}"

echo "[ace] env ready (SDKROOT=${SDKROOT}, STDX_HOME=${STDX_HOME})"