find_native_static_library(name.as_str(), lib.verbatim, &lib_search_paths, sess);
if sess.opts.unstable_opts.packed_bundled_libs && flavor == RlibFlavor::Normal {
let filename = lib.filename.unwrap();
- let lib_path = find_native_static_library(
- filename.as_str(),
- Some(true),
- &lib_search_paths,
- sess,
- );
+ let lib_path =
+ find_native_static_library(filename.as_str(), true, &lib_search_paths, sess);
let src = read(lib_path)
.map_err(|e| sess.emit_fatal(errors::ReadFileError { message: e }))?;
let (data, _) = create_wrapper_file(sess, b".bundled_lib".to_vec(), &src);
for lib in used_libraries {
if lib.kind == NativeLibKind::RawDylib {
- let ext = if matches!(lib.verbatim, Some(true)) { "" } else { ".dll" };
+ let ext = if lib.verbatim { "" } else { ".dll" };
let name = format!("{}{}", lib.name.expect("unnamed raw-dylib library"), ext);
let imports = dylib_table.entry(name.clone()).or_default();
for import in &lib.dll_imports {
&& (info.compiler_builtins == Some(cnum) || info.is_no_builtins.contains(&cnum))
}
-// This functions tries to determine the appropriate linker (and corresponding LinkerFlavor) to use
+/// This functions tries to determine the appropriate linker (and corresponding LinkerFlavor) to use
pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
fn infer_from(
sess: &Session,
NativeLibKind::Static { bundle: Some(false), .. }
| NativeLibKind::Dylib { .. }
| NativeLibKind::Unspecified => {
- let verbatim = lib.verbatim.unwrap_or(false);
+ let verbatim = lib.verbatim;
if sess.target.is_like_msvc {
Some(format!("{}{}", name, if verbatim { "" } else { ".lib" }))
} else if sess.target.linker_flavor.is_gnu() {
_ => &codegen_results.crate_info.native_libraries[&cnum],
};
- let mut last = (None, NativeLibKind::Unspecified, None);
+ let mut last = (None, NativeLibKind::Unspecified, false);
for lib in native_libs {
let Some(name) = lib.name else {
continue;
};
let name = name.as_str();
- let verbatim = lib.verbatim.unwrap_or(false);
+ let verbatim = lib.verbatim;
match lib.kind {
NativeLibKind::Static { bundle, whole_archive } => {
if link_static {