Repository: aws/aws-lc-rs (language: rust)

Issue:
Build failed at target: aarch64-pc-windows-msvc
### Problem:

My application is using tokio-rustls 0.26.0, and tokio-rustls relies on aws_lc_rs. I built my app on github action and it failed to build on aarch64-pc-windows-msvc. Can someone help me?

#### github action config

```yml
  build-aarch64-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: stable
          target: aarch64-pc-windows-msvc

      - name: Install NASM for tokio-rustls(aws-lc-rs) on Windows
        uses: ilammy/setup-nasm@v1

      - name: Install ninja-build tool for tokio-rustls(aws-lc-rs) on Windows
        uses: seanmiddleditch/gha-setup-ninja@v4

      - name: Build aarch64-pc-windows-msvc
        working-directory: ./windSend-rs
        run: cargo build --target aarch64-pc-windows-msvc --verbose
```

Build log:

```text
error: failed to run custom build command for `aws-lc-sys v0.13.3`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `D:\a\WindSend\WindSend\windSend-rs\target\debug\build\aws-lc-sys-9ef1db5a918cb67b\build-script-main` (exit code: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_aarch64-pc-windows-msvc = None
  CMAKE_TOOLCHAIN_FILE_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_aarch64-pc-windows-msvc = None
  CMAKE_GENERATOR_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_aarch64-pc-windows-msvc = None
  CMAKE_PREFIX_PATH_aarch64_pc_windows_msvc = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_aarch64-pc-windows-msvc = None
  CMAKE_aarch64_pc_windows_msvc = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.13.3" "-G" "Visual Studio 17 2022" "-Thost=x64" "-AARM64" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_0_13_3_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.13.3\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_PROCESSOR=ARM64" "-DCMAKE_INSTALL_PREFIX=D:\\a\\WindSend\\WindSend\\windSend-rs\\target\\aarch64-pc-windows-msvc\\debug\\build\\aws-lc-sys-f0fd55ebab3cd7b6\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_DEBUG= -nologo -MD -Brepro" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- Selecting Windows SDK version 10.0.22621.0 to target Windows .
  -- The C compiler identification is MSVC 19.38.33135.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/bin/HostX64/arm64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
  -- The ASM compiler identification is MSVC
  -- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/bin/HostX64/arm64/cl.exe
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - not found
  -- Found Threads: TRUE
  -- Configuring done (41.9s)
  -- Generating done (0.1s)
  -- Build files have been written to: D:/a/WindSend/WindSend/windSend-rs/target/aarch64-pc-windows-msvc/debug/build/aws-lc-sys-f0fd55ebab3cd7b6/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "4"
  MSBuild version 17.9.8+b34f75857 for .NET Framework

    1>Checking Build System
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/CMakeLists.txt
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/CMakeLists.txt
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/fipsmodule/CMakeLists.txt
    bcm.c
    a_bitstr.c
    a_bool.c
    a_d2i_fp.c
    a_dup.c
    a_gentm.c
    a_i2d_fp.c
    a_int.c
    a_mbstr.c
    fips_shared_support.c
    cpucap.c
    a_object.c
    Generating Code...
    a_octet.c
    a_strex.c
    a_strnid.c
    a_time.c
    a_type.c
    a_utctm.c
    a_utf8.c
    asn1_lib.c
    asn1_par.c
    asn_pack.c
    f_int.c
    Generating Code...
    Compiling...
    f_string.c
    tasn_dec.c
    tasn_enc.c
    tasn_fre.c
    tasn_new.c
    tasn_typ.c
    tasn_utl.c
    posix_time.c
    base64.c
    bio.c
    bio_mem.c
    connect.c
    fd.c
    file.c
    hexdump.c
    pair.c
    printf.c
    socket.c
    fipsmodule.vcxproj -> D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\fipsmodule\fipsmodule.dir\Debug\fipsmodule.lib
    socket_helper.c
    blake2.c
    Generating Code...
    Compiling...
    bn_asn1.c
    convert.c
    buf.c
    asn1_compat.c
    ber.c
    cbb.c
    cbs.c
    unicode.c
    chacha.c
    cipher_extra.c
    derive_key.c
    e_aesctrhmac.c
    e_aesgcmsiv.c
    e_chacha20poly1305.c
    e_aes_cbc_hmac_sha1.c
    e_aes_cbc_hmac_sha256.c
    e_des.c
    e_null.c
    e_rc2.c
    e_rc4.c
    Generating Code...
    Compiling...
    e_tls.c
    tls_cbc.c
    conf.c
    crypto.c
    curve25519.c
    curve25519_nohw.c
    curve25519_s2n_bignum_asm.c
    spake25519.c
    des.c
    params.c
    dh_asn1.c
    digest_extra.c
    dsa.c
    dsa_asn1.c
    ecdh_extra.c
    ecdsa_asn1.c
    ec_asn1.c
    ec_derive.c
    hash_to_curve.c
    err.c
    Generating Code...
    Compiling...
    err_data.c
    engine.c
    evp_asn1.c
    p_dsa_asn1.c
    p_ec_asn1.c
    p_ed25519.c
    p_ed25519_asn1.c
    p_hmac_asn1.c
    p_kem.c
    p_kem_asn1.c
    p_rsa_asn1.c
    p_x25519.c
    p_x25519_asn1.c
    p_methods.c
    print.c
    scrypt.c
    sign.c
    ex_data.c
    hpke.c
    hrss.c
    Generating Code...
    Compiling...
    kem.c
    kem_methods.c
    kyber512r3_ref.c
    kyber768r3_ref.c
    kyber1024r3_ref.c
    fips202.c
    kem_kyber.c
    lhash.c
    mem.c
    obj.c
    obj_xref.c
    ocsp_asn.c
    ocsp_client.c
    ocsp_extension.c
    ocsp_http.c
    ocsp_lib.c
    ocsp_print.c
    ocsp_server.c
    ocsp_verify.c
    pem_all.c
    Generating Code...
    Compiling...
    pem_info.c
    pem_lib.c
    pem_oth.c
    pem_pk8.c
    pem_pkey.c
    pem_x509.c
    pem_xaux.c
    pkcs7.c
    pkcs7_x509.c
    pkcs8.c
    pkcs8_x509.c
    p5_pbev2.c
    poly1305.c
    poly1305_arm.c
    poly1305_vec.c
    pool.c
    deterministic.c
    entropy_passive.c
    forkunsafe.c
    fuchsia.c
    Generating Code...
    Compiling...
    rand_extra.c
    pq_custom_randombytes.c
    trusty.c
    windows.c
    rc4.c
    refcount_c11.c
    refcount_lock.c
    refcount_win.c
    rsa_asn1.c
    rsassa_pss_asn1.c
    rsa_print.c
    stack.c
    siphash.c
    thread.c
    thread_none.c
    thread_pthread.c
    thread_win.c
    pmbtoken.c
    trust_token.c
    voprf.c
    Generating Code...
    Compiling...
    a_digest.c
    a_sign.c
    a_verify.c
    algorithm.c
    asn1_gen.c
    by_dir.c
    by_file.c
    i2d_pr.c
    name_print.c
    policy.c
    rsa_pss.c
    t_crl.c
    t_req.c
    t_x509.c
    t_x509a.c
    x509.c
    x509_att.c
    x509_cmp.c
    x509_d2.c
    x509_def.c
    Generating Code...
    Compiling...
    x509_ext.c
    x509_lu.c
    x509_obj.c
    x509_req.c
    x509_set.c
    x509_trs.c
    x509_txt.c
    x509_v3.c
    x509_vfy.c
    x509_vpm.c
    x509cset.c
    x509name.c
    x509rset.c
    x509spki.c
    x_algor.c
    x_all.c
    x_attrib.c
    x_crl.c
    x_exten.c
    x_info.c
    Generating Code...
    Compiling...
    x_name.c
    x_pkey.c
    x_pubkey.c
    x_req.c
    x_sig.c
    x_spki.c
    x_val.c
    x_x509.c
    x_x509a.c
    v3_akey.c
    v3_akeya.c
    v3_alt.c
    v3_bcons.c
    v3_bitst.c
    v3_conf.c
    v3_cpols.c
    v3_crld.c
    v3_enum.c
    v3_extku.c
    v3_genn.c
    Generating Code...
    Compiling...
    v3_ia5.c
    v3_info.c
    v3_int.c
    v3_lib.c
    v3_ncons.c
    v3_ocsp.c
    v3_pcons.c
    v3_pmaps.c
    v3_prn.c
    v3_purp.c
    v3_skey.c
    v3_utl.c
    base64_bio.c
    blowfish.c
    cast.c
    cast_tables.c
    cfb.c
    dh_decrepit.c
    evp_do_all.c
    ripemd.c
    Generating Code...
    Compiling...
    rsa_decrepit.c
    x509_decrepit.c
    Generating Code...
    crypto_objects.vcxproj -> D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto_objects.dir\Debug\crypto_objects.lib
    Building Custom Rule C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/CMakeLists.txt
  LINK : fatal error LNK1181: cannot open input file 'D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto_objects.dir\Debug\chacha-armv8.obj' [D:\a\WindSend\WindSend\windSend-rs\target\aarch64-pc-windows-msvc\debug\build\aws-lc-sys-f0fd55ebab3cd7b6\out\build\aws-lc\crypto\crypto.vcxproj]

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Deprecation Warning at aws-lc/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  Copying platform assembly files from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/generated-src/win-aarch64/crypto/ to D:/a/WindSend/WindSend/windSend-rs/target/aarch64-pc-windows-msvc/debug/build/aws-lc-sys-f0fd55ebab3cd7b6/out/build/aws-lc/crypto
  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cmake-0.1.50\src\lib.rs:1098:5:

  command did not execute successfully, got: exit code: 1

  build script failed, must exit now
  stack backtrace:
     0: std::panicking::begin_panic_handler
               at /rustc/aedd173a2c086e558c2b66d3743b344f[977](https://github.com/doraemonkeys/WindSend/actions/runs/8450765895/job/23147643919#step:4:978)621a7/library\std\src\panicking.rs:647
     1: core::panicking::panic_fmt
               at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library\core\src\panicking.rs:72
     2: cmake::find_exe::{{closure}}
     3: <cmake::Version as core::default::Default>::default
     4: cmake::Config::build
     5: build_script_main::cmake_builder::CmakeBuilder::prepare_cmake_build::{{closure}}
     6: <build_script_main::cmake_builder::CmakeBuilder as build_script_main::Builder>::build
     7: build_script_main::target
     8: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Error: Process completed with exit code 1.
```



Discussion / hints:
For Windows/ARM64, the build for AWS-LC (specifically its assembly code) requires the use of [`clang`](https://clang.llvm.org/docs/MSVCCompatibility.html) (or [`clang-cl`](https://learn.microsoft.com/en-us/cpp/build/clang-support-msbuild?view=msvc-170)). I was able to get AWS-LC to successfully build on Windows/ARM64 for me locally, but I still need to test it and (hopefully) find a way to incorporate the Windows/ARM64 platform into our CI.

We could potentially provide you a temporary workaround by facilitating a build that only uses the C-implementation (i.e., `OPENSSL_NO_ASM`) for cryptographic primitives, but that causes a severe decrease in performance.

I believe the following tasks will need to be completed for this:
* Add documentation/CI for building AWS-LC on Windows (either x86-64 or ARM64) using Clang.
* Update the `aws-lc-sys` (and `aws-lc-fips-sys`) build scripts to utilize Clang on Windows when available.
* Update the aws-lc-rs [User Guide](https://aws.github.io/aws-lc-rs/index.html).
Hi @justsmth . I am also having the same issue but with the `x86_64-pc-windows-gnu` target. The difference is that I am cross-compiling for this target and from what I could decipher from the error, it looked as if there is a compatibility issue between `mingw` and the types the `aws-lc` lib expects.  

Here is my Dockerfile:

```Dockerfile
FROM rust:latest

RUN apt-get update && \
    apt-get install -y curl build-essential gcc-multilib g++-multilib libssl-dev pkg-config jq cmake libclang-dev llvm-dev clang git wget mingw-w64 && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Compile NASM from source for windows-gnu
RUN wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.gz && \
    tar -xzf nasm-2.16.01.tar.gz && \
    cd nasm-2.16.01/ && \
    ./configure && \
    make && \
    make install && \
    cd .. && \
    rm -rf nasm-2.16.01*

WORKDIR /usr/src/myappname
ENV TAG=0.7.18
COPY . .

RUN chmod +x release.sh upload.sh

CMD ["./release.sh"]
```
The main command that builds the binary in release.sh is 
```bash
 OPENSSL_LIB_DIR=/usr/lib OPENSSL_INCLUDE_DIR=/usr/include/openssl PKG_CONFIG_PATH=/usr/lib/pkgconfig CARGO_TARGET_DIR="./target" cargo build --release --target x86_64-pc-windows-gnu --bin "surveilr" >&2
```

Lastly, here is the log for the build:
```
error: failed to run custom build command for `aws-lc-sys v0.13.3`

Caused by:
  process didn't exit successfully: `/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/release/build/aws-lc-sys-3dd604b336907a64/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=use_bindgen_generated
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-gnu = None
  CMAKE_GENERATOR_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-gnu = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-gnu = None
  CMAKE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: cd "/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3" "-DCMAKE_RC_COMPILER=/usr/bin/x86_64-w64-mingw32-windres" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_13_3_" "-DBORINGSSL_PREFIX_HEADERS=/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_PROCESSOR=AMD64" "-DCMAKE_INSTALL_PREFIX=/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_C_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_CXX_COMPILER=/usr/bin/x86_64-w64-mingw32-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64 -Wno-maybe-uninitialized" "-DCMAKE_ASM_COMPILER=/usr/bin/x86_64-w64-mingw32-gcc" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 12.0.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/x86_64-w64-mingw32-gcc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Run check_run file_to_test 'memcmp_invalid_stripped_check.c', flag_to_set 'MEMCMP_INVALID_STRIPPED', and compile_flags '-O3 -DNDEBUG'.
  -- stdalign_check.c probe is positive, enabling AWS_LC_STDALIGN_AVAILABLE
  -- builtin_swap_check.c probe is positive, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
  -- The ASM_NASM compiler identification is NASM
  -- Found assembler: /usr/local/bin/nasm
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /usr/src/resource-surveillance/src/surveilr_ux_cli/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build
  running: cd "/usr/src/resource-surveillance/src/surveilr_ux_cli/./target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build" && MAKEFLAGS="-j --jobserver-fds=9,12 --jobserver-auth=9,12" "cmake" "--build" "." "--target" "install" "--config" "Release"
  [  0%] Built target boringssl_prefix_symbols
  [  0%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bitstr.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.obj
  [  5%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.obj
  [  7%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.obj
  [  9%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.obj
  [ 14%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.obj
  [ 16%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_s2n_bignum_asm.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.obj
  [ 26%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-avx512.asm.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-x86_64.asm.obj
  [ 27%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-x86_64.asm.obj
  [ 28%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-xts-avx512.asm.obj
  [ 28%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-ssse3-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-x86_64.asm.obj
  [ 29%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-x86_64-asm.asm.obj
  [ 30%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-x86_64-asm.asm.obj
  [ 30%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rdrand-x86_64.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rsaz-avx2.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-x86_64.asm.obj
  [ 31%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-x86_64.asm.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-x86_64.asm.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-x86_64.asm.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.obj
  [ 32%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont5.asm.obj
  [ 33%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont.asm.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/params.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/dh_asn1.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/digest_extra/digest_extra.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa_asn1.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdh_extra/ecdh_extra.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdsa_extra/ecdsa_asn1.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_asn1.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_derive.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/hash_to_curve.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err/err.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err_data.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/engine/engine.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/evp_asn1.c.obj
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_dsa_asn1.c.obj
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ec_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_hmac_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_rsa_asn1.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519_asn1.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_methods.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/print.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/scrypt.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/sign.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ex_data.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hpke/hpke.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hrss/hrss.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem_methods.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber512r3_ref.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber768r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber1024r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/pqcrystals_kyber_ref_common/fips202.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kem_kyber.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/lhash/lhash.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/mem.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj_xref.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_asn.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_client.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_extension.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_http.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_lib.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_print.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_server.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_verify.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_all.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_info.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_oth.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pk8.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pkey.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_x509.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_xaux.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7_x509.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8_x509.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/p5_pbev2.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_arm.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_vec.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pool/pool.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/deterministic.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/entropy_passive.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/forkunsafe.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/fuchsia.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/rand_extra.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/pq_custom_randombytes.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/trusty.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rc4/rc4.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/windows.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_c11.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_lock.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_win.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_asn1.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsassa_pss_asn1.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_print.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/stack/stack.c.obj
  [ 64%] Built target fipsmodule

  --- stderr
  Copying platform assembly files from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/generated-src/win-x86_64/crypto/ to /usr/src/resource-surveillance/src/surveilr_ux_cli/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-f8140966296b6e29/out/build/aws-lc/crypto
  In file included from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/internal.h:137,
                   from /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:15:
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:23:15: error: expected declaration specifiers or '...' before '_Alignof'
     23 | static_assert(alignof(CRYPTO_refcount_t) == alignof(LONG),
        |               ^~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:24:15: error: expected declaration specifiers or '...' before string constant
     24 |               "CRYPTO_refcount_t does not match LONG alignment");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:25:15: error: expected declaration specifiers or '...' before 'sizeof'
     25 | static_assert(sizeof(CRYPTO_refcount_t) == sizeof(LONG),
        |               ^~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:26:15: error: expected declaration specifiers or '...' before string constant
     26 |               "CRYPTO_refcount_t does not match LONG size");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:28:15: error: expected declaration specifiers or '...' before '(' token
     28 | static_assert((CRYPTO_refcount_t)-1 == CRYPTO_REFCOUNT_MAX,
        |               ^
  /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.13.3/aws-lc/crypto/refcount_win.c:29:15: error: expected declaration specifiers or '...' before string constant
     29 |               "CRYPTO_REFCOUNT_MAX is incorrect");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  gmake[2]: *** [aws-lc/crypto/CMakeFiles/crypto_objects.dir/build.make:2282: aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_win.c.obj] Error 1
  gmake[2]: *** Waiting for unfinished jobs....
  gmake[1]: *** [CMakeFiles/Makefile2:204: aws-lc/crypto/CMakeFiles/crypto_objects.dir/all] Error 2
  gmake[1]: *** Waiting for unfinished jobs....
  gmake: *** [Makefile:136: all] Error 2
  thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 2

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
```
The fix for this was recently merged into AWS-LC: https://github.com/aws/aws-lc/pull/1492

We should pick up this fix in the 0.15.0 release of `aws-lc-sys`, which might be early next week? We would also need to add testing in our CI for the `x86_64-pc-windows-gnu` target. 
Okay, that's perfect. Thanks.
Also, do you have any workarounds for compiling to `x86_64-apple-darwin`?
If you have a build problem on `x86_64-apple-darwin` checkout our [User Guide](https://aws.github.io/aws-lc-rs/requirements/macos.html), or submit [an issue](https://github.com/aws/aws-lc-rs/issues/new/choose) to our repo.

That platform should build and is used throughout our CI.  
Hi @justsmth, I wanted to ask if there's any update on the 0.15.0 release.
Thanks 
Same happened on x86_64-pc-windows-msvc

```
error: failed to run custom build command for `aws-lc-sys v0.14.1`

Caused by:
  process didn't exit successfully: `D:\a\shadowsocks-rust\shadowsocks-rust\target\debug\build\aws-lc-sys-7f0bf2a325bb302a\build-script-main` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=AWS_LC_SYS_INTERNAL_NO_PREFIX
  cargo:rerun-if-env-changed=AWS_LC_RUST_INTERNAL_BINDGEN
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES
  cargo:rustc-cfg=use_bindgen_generated
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-msvc = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_msvc = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-msvc = None
  CMAKE_GENERATOR_x86_64_pc_windows_msvc = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-msvc = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_msvc = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-msvc = None
  CMAKE_x86_64_pc_windows_msvc = None
  HOST_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.14.1" "-G" "Visual Studio 17 2022" "-Thost=x64" "-Ax64" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=debug" "-DBORINGSSL_PREFIX=aws_lc_0_14_1_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.14.1\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_INSTALL_PREFIX=D:\\a\\shadowsocks-rust\\shadowsocks-rust\\target\\debug\\build\\aws-lc-sys-1076261f265fd5c8\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_DEBUG= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_DEBUG= -nologo -MD -Brepro" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is MSVC 19.38.33135.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/bin/HostX64/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
  -- The ASM_NASM compiler identification is unknown
  -- Didn't find assembler
  -- Configuring incomplete, errors occurred!

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Deprecation Warning at aws-lc/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.


  CMake Error at aws-lc/crypto/CMakeLists.txt:73 (enable_language):
    No CMAKE_ASM_NASM_COMPILER could be found.



  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba1[500](https://github.com/shadowsocks/shadowsocks-rust/actions/runs/8601196082/job/23567870869?pr=1475#step:10:501)1f\cmake-0.1.50\src\lib.rs:1098:5:

  command did not execute successfully, got: exit code: 1

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
@zonyitoo -- The issue there is that the NASM assembler was not found:
```
...
  -- The ASM_NASM compiler identification is unknown
  -- Didn't find assembler
  -- Configuring incomplete, errors occurred!
...
```
The [section here in the User Guide](https://aws.github.io/aws-lc-rs/requirements/windows.html#nasm) provides instructions on installing NASM.
@Lilit0x -- Support for `x86_64-pc-windows-gnu` should be available in our latest release: https://github.com/aws/aws-lc-rs/releases/tag/v1.7.0
Hi @justsmth . Thanks for the update. I updated `aws-lc-rs` to the latest version, but I still got the below error. I tried to suppress the warnings by setting the "CFLAGS=-Wno-maybe-uninitialized" variable. 

I switched to using a github hosted runner like you have in your CI.
```yaml
jobs:
  windows-release:
    name: release x86_64-pc-windows-gnu
    runs-on: windows-latest
    strategy:
      matrix:
        toolchain: [stable]
        triple:
          - { target: x86_64-pc-windows-gnu, cross: false }
    steps:
      - uses: ilammy/setup-nasm@v1
      - uses: actions/checkout@v2
        with:
          repository: opsfolio/resource-surveillance
          token: ${{ secrets.GH_PAT }}
          ref: 'main' 

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
          target: ${{ matrix.triple.target }}
          default: true
  
      - name: Get Release Upload URL
        id: get_upload_url
        uses: actions/github-script@v5
        with:
          script: |
              const tag = process.env.GITHUB_REF.split('/').pop();
              const releases = await github.rest.repos.listReleases({
                  owner: context.repo.owner,
                  repo: context.repo.repo,
              });
              const release = releases.data.find(release => release.tag_name === tag);
              if (!release) {
                  throw new Error(`Release not found for tag ${tag}`);
              }
              return release.upload_url;
          result-encoding: string
        env:
              GITHUB_REF: ${{ github.ref }}
      - name: Suppress C warnings
        run: echo "CFLAGS=-Wno-maybe-uninitialized" >> $GITHUB_ENV

      - name: Build with Cargo
        run: |
          cargo build --release --target ${{ matrix.triple.target }}
          .\target\${{ matrix.triple.target }}\release\surveilr.exe --help
          Compress-Archive -Path .\target\${{ matrix.triple.target }}\release\surveilr.exe -DestinationPath resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip
  
      - name: Upload To Releases
        uses: actions/upload-release-asset@v1
        env: 
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.get_upload_url.outputs.result }}
          asset_path: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip
          asset_name: resource-surveillance_${{ github.ref_name }}_${{ matrix.triple.target }}.zip
          asset_content_type: application/zip
```

Here is the error log:
```
error: failed to run custom build command for `aws-lc-sys v0.15.0`
Caused by:
  process didn't exit successfully: `D:\a\releases.opsfolio.com\releases.opsfolio.com\target\release\build\aws-lc-sys-b9f51cce91766728\build-script-main` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=AWS_LC_SYS_INTERNAL_NO_PREFIX
  cargo:rerun-if-env-changed=AWS_LC_RUST_INTERNAL_BINDGEN
  cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES
  cargo:rustc-cfg=use_bindgen_generated
  cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-gnu = None
  CMAKE_GENERATOR_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-gnu = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-gnu = None
  CMAKE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE = None
  CMAKE = Some("cmake")
  running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.15.0" "-G" "MSYS Makefiles" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_15_0_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.15.0\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_SYSTEM_PROCESSOR=AMD64" "-DCMAKE_INSTALL_PREFIX=D:\\a\\releases.opsfolio.com\\releases.opsfolio.com\\target\\x86_64-pc-windows-gnu\\release\\build\\aws-lc-sys-b313b0142cce05c4\\out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64" "--no-warn-unused-cli"
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 12.2.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/mingw64/bin/gcc.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Go not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Perl not found. Disabling some code generation and using pre-generated code in generated-src/
  -- Run check_run file_to_test 'memcmp_invalid_stripped_check.c', flag_to_set 'MEMCMP_INVALID_STRIPPED', and compile_flags '-O3 -DNDEBUG'.
  -- stdalign_check.c probe is positive, enabling AWS_LC_STDALIGN_AVAILABLE
  -- builtin_swap_check.c probe is positive, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
  -- The ASM_NASM compiler identification is NASM
  -- Found assembler: C:/Users/runneradmin/nasm/nasm.exe
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE
  -- Configuring done (10.6s)
  -- Generating done (0.2s)
  -- Build files have been written to: D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--parallel" "4"
  [  0%] Built target boringssl_prefix_symbols
  [  0%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/cpucap/cpucap.c.obj
  [  0%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/fips_shared_support.c.obj
  [  1%] Building C object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj
  [  1%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bitstr.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_bool.c.obj
  [  2%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_d2i_fp.c.obj
  [  3%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-avx512.asm.obj
  [  3%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-gcm-x86_64.asm.obj
  [  3%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_dup.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_gentm.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_i2d_fp.c.obj
  [  4%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_int.c.obj
  [  5%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-xts-avx512.asm.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_mbstr.c.obj
  [  5%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/aesni-x86_64.asm.obj
  [  6%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-ssse3-x86_64.asm.obj
  [  6%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_object.c.obj
  [  7%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/ghash-x86_64.asm.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_octet.c.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strex.c.obj
  [  8%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/md5-x86_64.asm.obj
  [  8%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256-x86_64-asm.asm.obj
  [  8%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_strnid.c.obj
  [  9%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/p256_beeu-x86_64-asm.asm.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_time.c.obj
  [ 10%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_type.c.obj
  [ 10%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rdrand-x86_64.asm.obj
  [ 11%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/rsaz-avx2.asm.obj
  [ 11%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utctm.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/a_utf8.c.obj
  [ 12%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_lib.c.obj
  [ 12%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha1-x86_64.asm.obj
  [ 12%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha256-x86_64.asm.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn1_par.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/asn_pack.c.obj
  [ 13%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_int.c.obj
  [ 14%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/sha512-x86_64.asm.obj
  [ 14%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/vpaes-x86_64.asm.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/f_string.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_dec.c.obj
  [ 15%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_enc.c.obj
  [ 15%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont5.asm.obj
  [ 16%] Building ASM_NASM object aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/x86_64-mont.asm.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_fre.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_new.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_typ.c.obj
  [ 17%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/posix_time.c.obj
  [ 18%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/asn1/tasn_utl.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/base64/base64.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio.c.obj
  [ 19%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/bio_mem.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/connect.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/fd.c.obj
  [ 20%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/errno.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/file.c.obj
  [ 21%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/hexdump.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/pair.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/printf.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket.c.obj
  [ 22%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/blake2/blake2.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bio/socket_helper.c.obj
  [ 23%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/bn_asn1.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bn_extra/convert.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/buf/buf.c.obj
  [ 24%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/asn1_compat.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/ber.c.obj
  [ 25%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbb.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/cbs.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/bytestring/unicode.c.obj
  [ 26%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/cipher_extra.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/derive_key.c.obj
  [ 27%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesctrhmac.c.obj
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aesgcmsiv.c.obj
  [ 28%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_chacha20poly1305.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha1.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_aes_cbc_hmac_sha256.c.obj
  [ 29%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_des.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_null.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc2.c.obj
  [ 30%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_rc4.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/e_tls.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/tls_cbc.c.obj
  [ 31%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/conf/conf.c.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/crypto.c.obj
  [ 32%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_nohw.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/curve25519_s2n_bignum_asm.c.obj
  [ 33%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/curve25519/spake25519.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/des/des.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/params.c.obj
  [ 34%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dh_extra/dh_asn1.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/digest_extra/digest_extra.c.obj
  [ 35%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/dsa/dsa_asn1.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdh_extra/ecdh_extra.c.obj
  [ 36%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ecdsa_extra/ecdsa_asn1.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_asn1.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/ec_derive.c.obj
  [ 37%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ec_extra/hash_to_curve.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err/err.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/err_data.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/engine/engine.c.obj
  [ 38%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_dsa_asn1.c.obj
  [ 39%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/evp_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ec_asn1.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519.c.obj
  [ 40%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_ed25519_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_hmac_asn1.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem.c.obj
  [ 41%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_kem_asn1.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_rsa_asn1.c.obj
  [ 42%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_x25519_asn1.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/p_methods.c.obj
  [ 43%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/print.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/scrypt.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/evp_extra/sign.c.obj
  [ 44%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ex_data.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hpke/hpke.c.obj
  [ 45%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/hrss/hrss.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kem/kem_methods.c.obj
  [ 46%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber512r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber768r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kyber1024r3_ref.c.obj
  [ 47%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/pqcrystals_kyber_ref_common/fips202.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/kyber/kem_kyber.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/lhash/lhash.c.obj
  [ 48%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/mem.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj.c.obj
  [ 49%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/obj/obj_xref.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_asn.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_client.c.obj
  [ 50%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_extension.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_http.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_lib.c.obj
  [ 51%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_print.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_server.c.obj
  [ 52%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/ocsp/ocsp_verify.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_all.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_info.c.obj
  [ 53%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_lib.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_oth.c.obj
  [ 54%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pk8.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_x509.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_pkey.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pem/pem_xaux.c.obj
  [ 55%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs7/pkcs7_x509.c.obj
  [ 56%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/pkcs8_x509.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pkcs8/p5_pbev2.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_arm.c.obj
  [ 57%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/poly1305/poly1305_vec.c.obj
  [ 58%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/pool/pool.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/deterministic.c.obj
  [ 59%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/entropy_passive.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/forkunsafe.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/fuchsia.c.obj
  [ 60%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/rand_extra.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/pq_custom_randombytes.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/trusty.c.obj
  [ 61%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rand_extra/windows.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rc4/rc4.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_c11.c.obj
  [ 62%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_lock.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/refcount_win.c.obj
  [ 63%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_asn1.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsassa_pss_asn1.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_crypt.c.obj
  [ 64%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/rsa_extra/rsa_print.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/stack/stack.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/siphash/siphash.c.obj
  [ 65%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread.c.obj
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_none.c.obj
  [ 66%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_pthread.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/thread_win.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/pmbtoken.c.obj
  [ 67%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/trust_token.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/trust_token/voprf.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_digest.c.obj
  [ 68%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_sign.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/a_verify.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/algorithm.c.obj
  [ 69%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/asn1_gen.c.obj
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_dir.c.obj
  [ 70%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/by_file.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/i2d_pr.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/name_print.c.obj
  [ 71%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/policy.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/rsa_pss.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_crl.c.obj
  [ 72%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_req.c.obj
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509.c.obj
  [ 73%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/t_x509a.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_att.c.obj
  [ 74%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_cmp.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_d2.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_def.c.obj
  [ 75%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_ext.c.obj
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_lu.c.obj
  [ 76%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_obj.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_req.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_set.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_v3.c.obj
  [ 77%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_trs.c.obj
  [ 78%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_txt.c.obj
  [ 78%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vfy.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509_vpm.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509cset.c.obj
  [ 79%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509name.c.obj
  [ 80%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509rset.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_algor.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x509spki.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_all.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_attrib.c.obj
  [ 81%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_exten.c.obj
  [ 82%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_crl.c.obj
  [ 83%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_pubkey.c.obj
  [ 82%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_name.c.obj
  [ 83%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_req.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_sig.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_spki.c.obj
  [ 84%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_val.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509/x_x509a.c.obj
  [ 85%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akey.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_akeya.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_alt.c.obj
  [ 86%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bcons.c.obj
  [ 87%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_bitst.c.obj
  [ 87%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_conf.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_cpols.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_crld.c.obj
  [ 88%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_enum.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_extku.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_genn.c.obj
  [ 89%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ia5.c.obj
  [ 90%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_info.c.obj
  [ 90%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_int.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_lib.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ncons.c.obj
  [ 91%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_ocsp.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pcons.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_pmaps.c.obj
  [ 92%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_prn.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_purp.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_skey.c.obj
  [ 93%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/x509v3/v3_utl.c.obj
  [ 94%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/bio/base64_bio.c.obj
  [ 94%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/blowfish/blowfish.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cast/cast_tables.c.obj
  [ 95%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/cfb/cfb.c.obj
  [ 96%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/dh/dh_decrepit.c.obj
  [ 96%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/evp/evp_do_all.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/rsa/rsa_decrepit.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/ripemd/ripemd.c.obj
  [ 97%] Building C object aws-lc/crypto/CMakeFiles/crypto_objects.dir/decrepit/x509/x509_decrepit.c.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/chacha/chacha-x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/chacha20_poly1305_x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aes128gcmsiv-x86_64.asm.obj
  [ 98%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aesni-sha256-x86_64.asm.obj
  [ 99%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/cipher_extra/aesni-sha1-x86_64.asm.obj
  [ 99%] Building ASM_NASM object aws-lc/crypto/CMakeFiles/crypto_objects.dir/test/trampoline-x86_64.asm.obj
  [ 99%] Built target crypto_objects
  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.
    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.
  CMake Deprecation Warning at aws-lc/CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.
    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.
  Copying platform assembly files from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/generated-src/win-x86_64/crypto/ to D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/crypto
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/base.h:80,
                   from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/include/openssl/crypto.h:18,
                   from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:19:
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_ecdsa_digestverify_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:92:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:458:16: note: 'digest_len' was declared here
    458 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:89:
  In function 'aws_lc_0_15_0_EVP_Digest',
      inlined from 'aws_lc_0_15_0_ecdsa_digestsign_no_self_test' at C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:446:8:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/digest/digest.c:322:45: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
    322 |     ret &= EVP_DigestFinalXOF(&ctx, out_md, *out_size);
        |                                             ^~~~~~~~~
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c: In function 'aws_lc_0_15_0_ecdsa_digestsign_no_self_test':
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/ecdsa/ecdsa.c:445:16: note: 'digest_len' declared here
    445 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_rsa_digestsign_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  In file included from C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/bcm.c:134:
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/rsa/rsa.c:695:16: note: 'digest_len' was declared here
    695 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h: In function 'aws_lc_0_15_0_rsa_digestverify_no_self_test':
  D:/a/releases.opsfolio.com/releases.opsfolio.com/target/x86_64-pc-windows-gnu/release/build/aws-lc-sys-b313b0142cce05c4/out/build/aws-lc/symbol_prefix_include/openssl/boringssl_prefix_symbols.h:20:26: error: 'digest_len' may be used uninitialized [-Werror=maybe-uninitialized]
     20 | #define BORINGSSL_PREFIX aws_lc_0_15_0
        |                          ^~~~~~~~~~~~~
  C:/Users/runneradmin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.15.0/aws-lc/crypto/fipsmodule/rsa/rsa.c:763:16: note: 'digest_len' was declared here
    763 |   unsigned int digest_len;
        |                ^~~~~~~~~~
  cc1.exe: all warnings being treated as errors
  make.exe[2]: *** [aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/build.make:77: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.obj] Error 1
  make.exe[1]: *** [CMakeFiles/Makefile2:258: aws-lc/crypto/fipsmodule/CMakeFiles/fipsmodule.dir/all] Error 2
  make.exe[1]: *** Waiting for unfinished jobs....
  make.exe: *** [Makefile:136: all] Error 2
  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\cmake-0.1.50\src\lib.rs:1098:5:
  command did not execute successfully, got: exit code: 2
  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
```
Hi @Lilit0x - would you submit this as a separate issue regarding `x86_64-pc-windows-gnu` support?  It appears to be a new(?) issue (possibly affecting other platforms as well) and unrelated to the original posting here regarding `aarch64-pc-windows-msvc` support.

Are you able to reproduce this build error from a command line?  I see the compiler being used in `GNU 12.2.0`.  Any other information you have about the build environment might be helpful.

Thanks!
#397 
Hello,

I, myself, found challenges at trying to build for Windows ARM64.

The error I get is different.

```
C:\PROGRA~1\LLVM\bin\clang-cl.exe  /nologo   -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/crt/include /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/ucrt /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/um /imsvcC:/Users/runneradmin/AppData/Local/cargo-xwin/xwin/sdk/include/shared -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Werror -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wwrite-strings -Wformat-security -Wunused-result  -Wvla -Wtype-limits -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -W3 -Wno-unused-parameter -fmsc-version=1900 -Wnewline-eof -fcolor-diagnostics -Wstring-concatenation -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes  /MD /O2 /Ob2 /DNDEBUG   -Werror /showIncludes /FoCMakeFiles\cmTC_8e413.dir\builtin_swap_check.c.obj /FdCMakeFiles\cmTC_8e413.dir\ -c -- C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\aws-lc-sys-0.15.0\aws-lc\tests\compiler_features_tests\builtin_swap_check.c
  clang-cl: compiler_error: unknown argument ignored in clang-cl: '-fvisibility=hidden' [-Werror,-Wunknown-argument]
```

Link to the complete build stderr https://github.com/jawah/qh3/actions/runs/8742762646/job/23991806269
Is anyone able to provide guidance on how I can affect the cmake generator avoid being that strict around "unknown" flags?

regards,
Thank you for tackling this issue.

I tried the newest tags and could not generate binaries as of yet.
The cmake is now producing somewhat broken build commands.

```
running: "cmake" "C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.17.0" "-G" "Ninja" "-DBUILD_SHARED_LIBS=0" "-DCMAKE_BUILD_TYPE=release" "-DBORINGSSL_PREFIX=aws_lc_0_17_0_" "-DBORINGSSL_PREFIX_HEADERS=C:\\Users\\runneradmin\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\aws-lc-sys-0.17.0\\generated-include" "-DBUILD_TESTING=OFF" "-DBUILD_LIBSSL=OFF" "-DDISABLE_PERL=ON" "-DDISABLE_GO=ON" "-DCMAKE_C_COMPILER=clang-cl" "-DCMAKE_CXX_COMPILER=clang-cl" "-DCMAKE_ASM_COMPILER=clang-cl" "-DCMAKE_C_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_CXX_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_ASM_COMPILER_TARGET=arm64-pc-windows-msvc" "-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\cmake\\aarch64-pc-windows-msvc-toolchain.cmake" "-DCMAKE_INSTALL_PREFIX=D:\\a\\qh3\\qh3\\target\\aarch64-pc-windows-msvc\\release\\build\\aws-lc-sys-5b390aefd3f565b0\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro --target=aarch64-pc-windows-msvc --target=aarch64-pc-windows-msvc -Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/crt/include /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/ucrt /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/um /imsvc\\\\?\\C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\xwin/sdk/include/shared" "--no-warn-unused-cli"
```

And ends up with an opaque error message:

```
-- The C compiler identification is unknown
  -- Configuring incomplete, errors occurred!

...

CMake Error at CMakeLists.txt:7 (enable_language):
    The CMAKE_C_COMPILER:

      D:/a/qh3/qh3/target/aarch64-pc-windows-msvc/release/build/aws-lc-sys-5b390aefd3f565b0/out/build/clang-cl

    is not a full path to an existing compiler tool.

```

Link to the complete logs: https://github.com/jawah/qh3/actions/runs/9233306038/job/25405631144?pr=34

regards,
In the CMake command I see that a custom toolchain is being passed in: 
```
"-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\runneradmin\\AppData\\Local\\cargo-xwin\\cmake\\aarch64-pc-windows-msvc-toolchain.cmake"
```
I suspect that this is somehow conflicting/overriding with the `"-DCMAKE_C_COMPILER=clang-cl"` option that we're passing. I'll see if I can reproduce this.
Ok, I can reproduce this error locally using `cargo xwin` with the aws-lc-rs repo:
```
❯ cargo xwin build -p aws-lc-rs --release --target aarch64-pc-windows-msvc
...
  CMake Error at CMakeLists.txt:7 (enable_language):
    The CMAKE_C_COMPILER:

      /Users/justsmth/repos/aws-lc-rs/target/aarch64-pc-windows-msvc/release/build/aws-lc-sys-67b58707b9250a66/out/build/clang-cl

    is not a full path to an existing compiler tool.
...
```
```

Fix patch:
diff --git a/.github/workflows/cross.yml b/.github/workflows/cross.yml
index f2179734711..f83fcfb7a1d 100644
--- a/.github/workflows/cross.yml
+++ b/.github/workflows/cross.yml
@@ -113,6 +113,31 @@ jobs:
         run: cargo build -p aws-lc-rs --release --target x86_64-apple-ios --features bindgen
 
 
+  cargo-xwin:
+    if: github.repository_owner == 'aws'
+    runs-on: ubuntu-latest
+    steps:
+      - name: Install build dependencies
+        run: |
+          sudo apt-get update && sudo apt-get install --assume-yes nasm clang ninja-build llvm
+      - uses: actions/checkout@v3
+        with:
+          submodules: 'recursive'
+      - uses: dtolnay/rust-toolchain@master
+        with:
+          toolchain: stable
+          target: x86_64-pc-windows-msvc
+      - uses: dtolnay/rust-toolchain@master
+        with:
+          toolchain: stable
+          target: aarch64-pc-windows-msvc
+      - name: Install cargo-xwin and bindgen-cli
+        run: cargo install cargo-xwin bindgen-cli
+      - name: cargo xwin build for `x86_64-pc-windows-msvc`
+        run: cargo xwin build -p aws-lc-rs --release --target x86_64-pc-windows-msvc
+      - name: cargo xwin build for `aarch64-pc-windows-msvc`
+        run: cargo xwin build -p aws-lc-rs --release --target aarch64-pc-windows-msvc
+
   aws-lc-rs-windows-mingw:
     if: github.repository_owner == 'aws'
     name: x86_64-pc-windows-gnu
diff --git a/aws-lc-fips-sys/builder/cmake_builder.rs b/aws-lc-fips-sys/builder/cmake_builder.rs
index b2dab2500cd..a98d81e953b 100644
--- a/aws-lc-fips-sys/builder/cmake_builder.rs
+++ b/aws-lc-fips-sys/builder/cmake_builder.rs
@@ -3,8 +3,8 @@
 
 use crate::OutputLib::{Crypto, RustWrapper, Ssl};
 use crate::{
-    cargo_env, execute_command, is_no_asm, target, target_arch, target_os, target_vendor,
-    OutputLibType,
+    cargo_env, execute_command, is_no_asm, option_env, target, target_arch, target_os,
+    target_vendor, OutputLibType,
 };
 use std::collections::HashMap;
 use std::env;
@@ -138,6 +138,20 @@ impl CmakeBuilder {
         } else {
             cmake_cfg.define("BUILD_LIBSSL", "OFF");
         }
+        cmake_cfg.define("FIPS", "1");
+
+        if cfg!(feature = "asan") {
+            env::set_var("CC", "clang");
+            env::set_var("CXX", "clang++");
+            env::set_var("ASM", "clang");
+
+            cmake_cfg.define("ASAN", "1");
+        }
+
+        // Allow environment to specify CMake toolchain.
+        if option_env("CMAKE_TOOLCHAIN_FILE").is_some() {
+            return cmake_cfg;
+        }
 
         if target_vendor() == "apple" {
             if target_os().trim() == "ios" {
@@ -150,15 +164,6 @@ impl CmakeBuilder {
                 cmake_cfg.define("CMAKE_OSX_ARCHITECTURES", "arm64");
             }
         }
-        cmake_cfg.define("FIPS", "1");
-
-        if cfg!(feature = "asan") {
-            env::set_var("CC", "clang");
-            env::set_var("CXX", "clang++");
-            env::set_var("ASM", "clang");
-
-            cmake_cfg.define("ASAN", "1");
-        }
 
         cmake_cfg
     }
diff --git a/aws-lc-sys/builder/cmake_builder.rs b/aws-lc-sys/builder/cmake_builder.rs
index 04ff709213a..910b8afc91f 100644
--- a/aws-lc-sys/builder/cmake_builder.rs
+++ b/aws-lc-sys/builder/cmake_builder.rs
@@ -3,7 +3,7 @@
 
 use crate::OutputLib::{Crypto, RustWrapper, Ssl};
 use crate::{
-    cargo_env, execute_command, is_no_asm, target, target_arch, target_env, target_os,
+    cargo_env, execute_command, is_no_asm, option_env, target, target_arch, target_env, target_os,
     target_vendor, OutputLibType,
 };
 use std::env;
@@ -119,6 +119,19 @@ impl CmakeBuilder {
             }
         }
 
+        if cfg!(feature = "asan") {
+            env::set_var("CC", "clang");
+            env::set_var("CXX", "clang++");
+            env::set_var("ASM", "clang");
+
+            cmake_cfg.define("ASAN", "1");
+        }
+
+        // Allow environment to specify CMake toolchain.
+        if option_env("CMAKE_TOOLCHAIN_FILE").is_some() {
+            return cmake_cfg;
+        }
+
         if target_vendor() == "apple" {
             if target_os().to_lowercase() == "ios" {
                 cmake_cfg.define("CMAKE_SYSTEM_NAME", "iOS");
@@ -143,11 +156,16 @@ impl CmakeBuilder {
             cmake_cfg.generator("Ninja");
         }
 
-        if target_os() == "windows" && target_arch() == "aarch64" && target_env() == "msvc" {
+        if target_os() == "windows"
+            && target_arch() == "aarch64"
+            && target_env() == "msvc"
+            && option_env("CMAKE_TOOLCHAIN_FILE_aarch64_pc_windows_msvc").is_none()
+        {
             cmake_cfg.generator("Ninja");
             cmake_cfg.define("CMAKE_C_COMPILER", "clang-cl");
             cmake_cfg.define("CMAKE_CXX_COMPILER", "clang-cl");
             cmake_cfg.define("CMAKE_ASM_COMPILER", "clang-cl");
+            // If the build host is not aarch64
             #[cfg(not(target_arch = "aarch64"))]
             {
                 // Only needed when cross-compiling
@@ -157,14 +175,6 @@ impl CmakeBuilder {
             }
         }
 
-        if cfg!(feature = "asan") {
-            env::set_var("CC", "clang");
-            env::set_var("CXX", "clang++");
-            env::set_var("ASM", "clang");
-
-            cmake_cfg.define("ASAN", "1");
-        }
-
         cmake_cfg
     }
 


Test patch: