Skip to content

Releases: rust-lang/cc-rs

1.0.82

07 Aug 04:16
bf4f709
Compare
Choose a tag to compare

This release corrects a deadlock and potential performance regression present since 1.0.80, and contains no other changes. See #849 for details.

1.0.81

02 Aug 15:19
5710ce5
Compare
Choose a tag to compare

This release exists to fix a bug introduced in 1.0.80 where we would panic if non-UTF8 were written to stderr by the C compiler. See #842 and #841 for more info.

1.0.80

02 Aug 00:09
7adebb9
Compare
Choose a tag to compare

What's Changed

  • Bump MSRV to 1.46.0 by @thomcc in #781
  • Make windows_registry::VsVers non_exhaustive by @NobodyXu in #783
  • Prioritize RUSTC_LINKER over target->cross-compile-prefix table. by @dot-asm in #767
  • If a file path references a parent directory, transform it to ensure we keep inside the OUT_DIR by @jmesmon in #786
  • Speedup Build::clone: Use Arc instead of String/PathBuf/OsString by @NobodyXu in #782
  • Fix --target cflag on FreeBSD when compiling against clang by @mqudsi in #785
  • Append freebsd-version to all --target=*-freebsd if executed on FreeBSD. by @dot-asm in #788
  • Update some doc comments by @mqudsi in #792
  • Prevent cloning on every get_xxx() call by @mqudsi in #793
  • Change approach for native and cross-compilation with clang++ on FreeBSD by @mqudsi in #794
  • Default to llvm-ar when compiling for wasm. by @dot-asm in #657
  • Add Loongarch64 support by @zhaixiaojuan in #637
  • Refine CUDA documentation. by @dot-asm in #799
  • Improve docs for the C++ usage by @SallySoul in #600
  • Link against libc++ on AIX by @bzEq in #803
  • Speedup CI by @NobodyXu in #805
  • Enable dependabot for GitHub Action Workflows by @NobodyXu in #806
  • Be more stringent about handling Android NDK. by @jfgoog in #808
  • Optimize Build::compile_objects: Only spawns one thread by @NobodyXu in #780
  • add a function to populate flags from an arbitrary environment variable by @nagisa in #818
  • Use gnu -o flag for obj out path instead of -Fo when using gcc & g++ on Windows by @Spencer1O1 in #820
  • Replace os_pipe with direct implementation by @NobodyXu in #822
  • Optimize Build::print: Avoid unnecessary heap alloc by @NobodyXu in #824
  • Optimize Error::new: Avoid unnecessary heap alloc by @NobodyXu in #823
  • Optimize cc::Build::try_compile: Reuse PrintThread by @NobodyXu in #817
  • Remove outdated doc about build parallelism by @NobodyXu in #827
  • Use correct ABI on NetBSD/riscv64, and add target entry for same. by @he32 in #815
  • Fix Build::compile_objects deadlock on parallel by @NobodyXu in #829
  • Cleanup mod com, registry, setup_config and winapi by @NobodyXu in #828
  • Optimize Build::get_out_dir: Return Cow<'_, Path> by @NobodyXu in #831
  • Optimize Build::env_cache: Store Option<Arc<str>> as key by @NobodyXu in #832
  • Optimize Build::compile_objects on feature parallel by @NobodyXu in #833
  • Disambiguate Windows run-times when using clang to compile. by @dot-asm in #825
  • Harmonize README.md with reality. by @dot-asm in #835
  • Replace windows-sys dependency with bindings generation by @NobodyXu in #837
  • Handle x86_64h-apple-darwin target by @thomcc in #840
  • Bump version to 1.0.80 by @thomcc in #834

New Contributors

Full Changelog: 1.0.79...1.0.80

1.0.79

28 Jan 20:08
e5bbdfa
Compare
Choose a tag to compare

Version 1.0.79

Changelog

  • The riscv32imc-esp-espidf target is now supported (#776)
  • Build::is_flag_supported now checks the exit status of the compiler in addition to stderr output, improving reliability (#757)
  • When building for the aarch64-apple-ios-sim target -arch arm64 is now correctly passed as two arguments instead of one (#759)
  • Improved control over ar and ranlib (#763)
    • New functions to return the ar (Build::get_archiver) and ranlib (Build::get_ranlib) binaries used for this build have been added.
    • Several related environment variables involving the archiver and ranlib variant (ARFLAGS, RANLIBFLAGS, AR, and RANLIB) are now respected automatically if not overridden.
    • Some other changes too, see #763 for details.
  • We will now correctly locate msbuild under VS2022 (#773)

Additionally, a number of smaller changes which shouldn't impact users have been made (in particular #769 and #777); see the commit history for complete details.

Thanks to everybody who contributed to this release!

1.0.78

15 Dec 02:33
203a57f
Compare
Choose a tag to compare

Version 1.0.78

Changelog

  • Now, only .asm files are passed to masm on windows targets, bringing things back in line with how cc-rs<1.0.77 handled it (#755).
  • Absolute paths in source are now mapped as relative in OUT_DIR (#684)
  • Several improvements were made to CUDA support (#712)
  • llvm-lib.exe is now used instead of lib.exe when clang-cl is used in an MSVC environment (#758)

Thanks to everybody who contributed to this release!

1.0.77

20 Nov 22:56
Compare
Choose a tag to compare

Version 1.0.77

Changelog

  • Added a new Build::asm_flag function, which allows providing flags that are only used when compiling assembly files (for example, if your C compiler rejects flags passed to the assembler when not used as an assembler). (#752)
  • Ensure that the version of DWARF debuginfo we emit is consistent with what rustc uses on the given target. (#694)

Thanks to everybody who contributed to this release!

1.0.76

08 Nov 23:39
Compare
Choose a tag to compare

Version 1.0.76

Changelog

  • When compiling with clang-cl, we now only use -- to separate flags/options from input files when not using the assembler, which doesn't support that option. This is a fix for a regression introduced in 1.0.74 (by #514) (present in 1.0.75 as well). (#747)

This is essentially a bugfix release, so that's all!

1.0.75

08 Nov 16:45
Compare
Choose a tag to compare

Version 1.0.75

Changelog

  • When Rust debuginfo is enabled, debuginfo is passed to MSVC assemblers (#742)
  • When locating an ar executable, *-ar is now preferred to *-gcc-ar (#741)
  • On MSVC 15+, the atlmfc directory is now correctly located (#699)

Additionally, a number of smaller changes which shouldn't impact users have been made; see the commit history for complete details.

Thanks to everybody who contributed to this release!

1.0.74

29 Oct 14:04
d053161
Compare
Choose a tag to compare

Version 1.0.74

Changelog

  • When compiling with clang-cl, we now use -- to separate flags/options from input files. (#514)
  • We now fall back to RUSTC_LINKER's prefix (rather than erroring) if we fail to determine the prefix to use for the given target. (#685)
  • A Build::link_lib_modifier function was added to allow control which library modifiers are used when linking with the generated library. (#671)
  • When searching for an ar binary to use, we now try {target}-ar in addition to {target}-gcc-ar. If they're both present, {target}-ar will be preferred. (#735, #736)
  • We now emit cargo:rerun-if-env-changed messages for environment variables that influence the build. This is only done if cargo_metadata is enabled, and can be disabled by passing false to the new Build::emit_rerun_if_env_changed builder function. (#701, #738)

New Targets

The following targets are now supported:

  • The Apple WatchOS (and simulator) targets (*-watchos and *-watchos-sim). (#662)
  • The LLVM-based MinGW targets (*-pc-windows-gnullvm). (#734)
  • The Xous microkernel (riscv32imac-unknown-xous-elf). (#686)

Additionally, a number of smaller changes which shouldn't impact users have been made; see the commit history for complete details.

Thanks to everybody who contributed to this release!