Releases: rust-lang/cc-rs
1.0.82
1.0.81
1.0.80
What's Changed
- Bump MSRV to 1.46.0 by @thomcc in #781
- Make
windows_registry::VsVersnon_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: UseArcinstead ofString/PathBuf/OsStringby @NobodyXu in #782 - Fix --target cflag on FreeBSD when compiling against clang by @mqudsi in #785
- Append
freebsd-versionto 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_pipewith 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: ReusePrintThreadby @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_objectsdeadlock on parallel by @NobodyXu in #829 - Cleanup mod com, registry, setup_config and winapi by @NobodyXu in #828
- Optimize
Build::get_out_dir: ReturnCow<'_, Path>by @NobodyXu in #831 - Optimize
Build::env_cache: StoreOption<Arc<str>>as key by @NobodyXu in #832 - Optimize
Build::compile_objectson 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-sysdependency with bindings generation by @NobodyXu in #837 - Handle
x86_64h-apple-darwintarget by @thomcc in #840 - Bump version to 1.0.80 by @thomcc in #834
New Contributors
- @zhaixiaojuan made their first contribution in #637
- @SallySoul made their first contribution in #600
- @bzEq made their first contribution in #803
- @jfgoog made their first contribution in #808
- @Spencer1O1 made their first contribution in #820
- @he32 made their first contribution in #815
Full Changelog: 1.0.79...1.0.80
1.0.79
Version 1.0.79
Changelog
- The
riscv32imc-esp-espidftarget is now supported (#776) Build::is_flag_supportednow checks the exit status of the compiler in addition to stderr output, improving reliability (#757)- When building for the
aarch64-apple-ios-simtarget-arch arm64is now correctly passed as two arguments instead of one (#759) - Improved control over
arandranlib(#763)- New functions to return the
ar(Build::get_archiver) andranlib(Build::get_ranlib) binaries used for this build have been added. - Several related environment variables involving the archiver and ranlib variant (
ARFLAGS,RANLIBFLAGS,AR, andRANLIB) are now respected automatically if not overridden. - Some other changes too, see #763 for details.
- New functions to return the
- We will now correctly locate
msbuildunder 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
Version 1.0.78
Changelog
- Now, only
.asmfiles 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.exeis now used instead oflib.exewhenclang-clis used in an MSVC environment (#758)
Thanks to everybody who contributed to this release!
1.0.77
Version 1.0.77
Changelog
- Added a new
Build::asm_flagfunction, 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
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
Version 1.0.75
Changelog
- When Rust debuginfo is enabled, debuginfo is passed to MSVC assemblers (#742)
- When locating an
arexecutable,*-aris 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
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_modifierfunction was added to allow control which library modifiers are used when linking with the generated library. (#671) - When searching for an
arbinary to use, we now try{target}-arin addition to{target}-gcc-ar. If they're both present,{target}-arwill be preferred. (#735, #736) - We now emit
cargo:rerun-if-env-changedmessages for environment variables that influence the build. This is only done ifcargo_metadatais enabled, and can be disabled by passing false to the newBuild::emit_rerun_if_env_changedbuilder function. (#701, #738)
New Targets
The following targets are now supported:
- The Apple WatchOS (and simulator) targets (
*-watchosand*-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!