From ce7bef559b9e96716bd9882334e8f9917060deaa Mon Sep 17 00:00:00 2001 From: Janis Date: Wed, 21 Jun 2023 18:57:14 +0200 Subject: [PATCH] msvc toolchain --- .cargo/config.toml | 36 ++++++++++++++++++++++++++++++++++++ rust-toolchain | 1 + 2 files changed, 37 insertions(+) create mode 100644 .cargo/config.toml create mode 100644 rust-toolchain diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..c9c1c65 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,36 @@ +[build] +target = "x86_64-pc-windows-msvc" + +[target.x86_64-pc-windows-msvc] +linker = "lld-link" +rustflags = [ +"-C", +"link-args=/libpath:/home/user/.xwin/xwin/crt/lib/x86_64", +"-C", +"link-args=/libpath:/home/user/.xwin/xwin/sdk/lib/um/x86_64", +"-C", +"link-args=/libpath:/home/user/.xwin/xwin/sdk/lib/ucrt/x86_64" +] + +[env] +CC_x86_64_pc_windows_msvc="clang-cl" +CXX_x86_64_pc_windows_msvc="clang-cl" +AR_x86_64_pc_windows_msvc="llvm-lib" +LD_x86_64_pc_windows_msvc="lld-link" +# wine can be quite spammy with log messages and they're generally uninteresting +WINEDEBUG="-all" +# Use wine to run test executables +CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUNNER="wine" +# Note that we only disable unused-command-line-argument here since clang-cl +# doesn't implement all of the options supported by cl, but the ones it doesn't +# are _generally_ not interesting. +CL_FLAGS="-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/home/user/.xwin/xwin/crt/include /imsvc/home/user/.xwin/xwin/sdk/include/ucrt /imsvc/home/user/.xwin/xwin/sdk/include/um /imsvc/home/user/.xwin/xwin/sdk/include/shared" + +CFLAGS_x86_64_pc_windows_msvc="-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/home/user/.xwin/xwin/crt/include /imsvc/home/user/.xwin/xwin/sdk/include/ucrt /imsvc/home/user/.xwin/xwin/sdk/include/um /imsvc/home/user/.xwin/xwin/sdk/include/shared" +CXXFLAGS_x86_64_pc_windows_msvc="-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/home/user/.xwin/xwin/crt/include /imsvc/home/user/.xwin/xwin/sdk/include/ucrt /imsvc/home/user/.xwin/xwin/sdk/include/um /imsvc/home/user/.xwin/xwin/sdk/include/shared" +# Let cargo know what linker to invoke if you haven't already specified it +# in a .cargo/config.toml file +CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER="lld-link" +CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS="-Lnative=/home/user/.xwin/xwin/crt/lib/x86_64 -Lnative=/home/user/.xwin/xwin/sdk/lib/um/x86_64 -Lnative=/home/user/.xwin/xwin/sdk/lib/ucrt/x86_64" + +LDFLAGS_x86_64_pc_windows_msvc="/libpath:/home/user/.xwin/xwin/crt/lib/x86_64 libpath:/home/user/.xwin/xwin/sdk/lib/um/x86_64 /libpath:/home/user/.xwin/xwin/sdk/lib/ucrt/x86_64" \ No newline at end of file diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000..07ade69 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +nightly \ No newline at end of file