diff --git a/lib/mkClangTarget.nix b/lib/mkClangTarget.nix index 1b32c15..3fa21b4 100644 --- a/lib/mkClangTarget.nix +++ b/lib/mkClangTarget.nix @@ -27,7 +27,7 @@ let "CC_${target_underscores}" = "${clang}/bin/${binPrefix}clang"; "CXX_${target_underscores}" = "${clang}/bin/${binPrefix}clang++"; "AR_${target_underscores}" = "${clang}/bin/${binPrefix}ar"; - "LD_${target_underscores}" = "${clang}/bin/${binPrefix}ld"; + "LD_${target_underscores}" = "${clang}/bin/${binPrefix}clang"; "CARGO_TARGET_${target_underscores_upper}_LINKER" = "${clang}/bin/${binPrefix}clang"; "CARGO_TARGET_${target_underscores_upper}_RUSTFLAGS" = "-C link-arg=-fuse-ld=${clang}/bin/${binPrefix}ld -C link-arg=-Wl,--compress-debug-sections=zlib ${extraRustFlags}"; diff --git a/lib/mkIOSTarget.nix b/lib/mkIOSTarget.nix index b84108b..adbf8e5 100644 --- a/lib/mkIOSTarget.nix +++ b/lib/mkIOSTarget.nix @@ -6,11 +6,12 @@ , mergeArgs }: { target -, clang +, clang ? pkgs.llvmPackages_16.clang +, llvmConfigPkg ? clang +, clang-unwrapped ? pkgs.llvmPackages_16.clang-unwrapped , binPrefix ? "" , buildInputs ? [ ] , nativeBuildInputs ? [ ] -, llvmConfigPkg ? clang , args ? { } , ... }@mkClangTargetArgs: @@ -33,8 +34,9 @@ let fi exec llvm-config "$@" ''; + target_underscores = lib.strings.replaceStrings [ "-" ] [ "_" ] target; + target_underscores_upper = lib.strings.toUpper target_underscores; combinedArgs = mergeArgs - { # For older bindgen, through universal-llvm-config "LLVM_CONFIG_PATH_${target_underscores}" = "${target-llvm-config-wrapper}/bin/llvm-config"; @@ -49,10 +51,7 @@ let nativeBuildInputs = [ target-clang-wrapper ]; } - - mkClangTargetArgs.args; - target_underscores = lib.strings.replaceStrings [ "-" ] [ "_" ] target; - target_underscores_upper = lib.strings.toUpper target_underscores; + (mkClangTargetArgs.args or { }); in mkTarget { diff --git a/lib/mkNativeTarget.nix b/lib/mkNativeTarget.nix index b39d168..a27e9f5 100644 --- a/lib/mkNativeTarget.nix +++ b/lib/mkNativeTarget.nix @@ -33,12 +33,12 @@ let "CC_${target_underscores}" = "${clang}/bin/clang"; "CXX_${target_underscores}" = "${clang}/bin/clang++"; "AR_${target_underscores}" = "${clang}/bin/ar"; - "LD_${target_underscores}" = "${clang}/bin/ld"; + "LD_${target_underscores}" = "${clang}/bin/clang"; "CC" = "${clang}/bin/clang"; "CXX" = "${clang}/bin/clang++"; "AR" = "${clang}/bin/ar"; - "LD" = "${clang}/bin/ld"; + "LD" = "${clang}/bin/clang"; inherit buildInputs nativeBuildInputs; } diff --git a/lib/mkStdTargets.nix b/lib/mkStdTargets.nix index fd5425a..e8677e7 100644 --- a/lib/mkStdTargets.nix +++ b/lib/mkStdTargets.nix @@ -173,14 +173,14 @@ BINDGEN_EXTRA_CLANG_ARGS_x86_64_unknown_darwin_gnu = "-I ${pkgs.pkgsCross.x86_64-darwin.buildPackages.llvmPackages.clang-unwrapped.lib}/lib/clang/16/include/"; }; }; - - # aarch64-ios = mkIOSTarget ({ - # target = "aarch64-apple-ios"; - # }); - # aarch64-ios-sim = mkIOSTarget ({ - # target = "aarch64-apple-ios-sim"; - # }); - # x86_64-ios = mkIOSTarget ({ - # target = "x86_64-apple-ios"; - # }); +} // lib.optionalAttrs (pkgs.stdenv.isDarwin) { + aarch64-ios = mkIOSTarget ({ + target = "aarch64-apple-ios"; + }); + aarch64-ios-sim = mkIOSTarget ({ + target = "aarch64-apple-ios-sim"; + }); + x86_64-ios = mkIOSTarget ({ + target = "x86_64-apple-ios"; + }); } diff --git a/lib/mkStdToolchains.nix b/lib/mkStdToolchains.nix index 5285659..7618568 100644 --- a/lib/mkStdToolchains.nix +++ b/lib/mkStdToolchains.nix @@ -10,6 +10,7 @@ , libclang ? pkgs.llvmPackages_16.libclang.lib , clang-unwrapped ? pkgs.llvmPackages_16.clang-unwrapped , stdenv ? pkgs.stdenv +, ... }@args: let stdTargets = mkStdTargets { };