Lines Matching +full:linux +full:- +full:32 +full:- +full:no +full:- +full:asm
6 /// The directory for out-of-line ("outline") libraries.
12 println!("cargo:rerun-if-changed=build.rs"); in main()
16 // Features only used in no-std configurations. in main()
34 let is_x32 = arch == "x86_64" && pointer_width == "32"; in main()
35 let is_arm64_ilp32 = arch == "aarch64" && pointer_width == "32"; in main()
41 // Check for `--features=use-libc`. This allows crate users to enable the in main()
45 // Check for `--features=rustc-dep-of-std`. This is used when rustix is in main()
51 // Check for `RUSTFLAGS=--cfg=rustix_use_libc`. This allows end users to in main()
55 // Check for eg. `RUSTFLAGS=--cfg=rustix_use_experimental_asm`. This is a in main()
57 // and not something we want accidentally enabled via `--all-features`. in main()
60 // Miri doesn't support inline asm, and has builtin support for recognizing in main()
72 || os_name != "linux" in main()
84 // Use inline asm if we have it, or outline asm otherwise. On PowerPC in main()
85 // and MIPS, Rust's inline asm is considered experimental, so only use in main()
86 // it if `--cfg=rustix_use_experimental_asm` is given. in main()
87 if (feature_rustc_dep_of_std || can_compile("use std::arch::asm;")) in main()
92 use_feature("asm"); in main()
109 println!("cargo:rerun-if-env-changed=CARGO_CFG_RUSTIX_USE_EXPERIMENTAL_ASM"); in main()
118 println!("cargo:rerun-if-changed={}", to); in link_in_librustix_outline()
120 // If "cc" is not enabled, use a pre-built library. in link_in_librustix_outline()
124 println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile); in link_in_librustix_outline()
125 println!("cargo:rustc-link-lib=static={}", name); in link_in_librustix_outline()
128 // If "cc" is enabled, build the library from source, update the pre-built in link_in_librustix_outline()
129 // version, and assert that the pre-built version is checked in. in link_in_librustix_outline()
134 println!("cargo:rerun-if-changed={}", asm_name); in link_in_librustix_outline()
147 .arg("--quiet") in link_in_librustix_outline()
159 fn use_thumb_mode() -> bool { in use_thumb_mode()
161 !can_compile("pub unsafe fn f() { core::arch::asm!(\"udf #16\", in(\"r7\") 0); }") in use_thumb_mode()
171 println!("cargo:rustc-cfg={}", feature); in use_feature()
175 fn has_feature(feature: &str) -> bool { in has_feature()
183 fn can_compile<T: AsRef<str>>(test: T) -> bool { in can_compile()
199 cmd.arg("--crate-type=rlib") // Don't require `main`. in can_compile()
200 .arg("--emit=metadata") // Do as little as possible but still parse. in can_compile()
201 .arg("--target") in can_compile()
203 .arg("--out-dir") in can_compile()
216 .arg("-") // Read from stdin. in can_compile()