mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	 39b5ec91ae
			
		
	
	
		39b5ec91ae
		
			
		
	
	
	
	
		
			
			With RFC 2325 looking close to being accepted, I took a crack at reorganizing this repository to being more amenable for inclusion in libstd/libcore. My current plan is to add stdsimd as a submodule in rust-lang/rust and then use `#[path]` to include the modules directly into libstd/libcore. Before this commit, however, the source code of coresimd/stdsimd themselves were not quite ready for this. Imports wouldn't compile for one reason or another, and the organization was also different than the RFC itself! In addition to moving a lot of files around, this commit has the following major changes: * The `cfg_feature_enabled!` macro is now renamed to `is_target_feature_detected!` * The `vendor` module is now called `arch`. * Under the `arch` module is a suite of modules like `x86`, `x86_64`, etc. One per `cfg!(target_arch)`. * The `is_target_feature_detected!` macro was removed from coresimd. Unfortunately libcore has no ability to export unstable macros, so for now all feature detection is canonicalized in stdsimd. The `coresimd` and `stdsimd` crates have been updated to the planned organization in RFC 2325 as well. The runtime bits saw the largest amount of refactoring, seeing a good deal of simplification without the core/std split.
		
			
				
	
	
		
			14 lines
		
	
	
		
			360 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			360 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use std::env;
 | |
| 
 | |
| fn main() {
 | |
|     println!("cargo:rerun-if-changed=build.rs");
 | |
|     let opt_level = env::var("OPT_LEVEL")
 | |
|         .ok()
 | |
|         .and_then(|s| s.parse().ok())
 | |
|         .unwrap_or(0);
 | |
|     let profile = env::var("PROFILE").unwrap_or(String::new());
 | |
|     if profile == "release" || opt_level >= 2 {
 | |
|         println!("cargo:rustc-cfg=optimized");
 | |
|     }
 | |
| }
 |