16 lines
		
	
	
	
		
			530 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
		
		
			
		
	
	
			16 lines
		
	
	
	
		
			530 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| 
								 | 
							
								fn main() {
							 | 
						||
| 
								 | 
							
								    let arch = std::env::var("LBOS_ARCH").unwrap_or("riscv32".to_string());
							 | 
						||
| 
								 | 
							
								    println!("cargo:rerun-if-env-changed=LBOS_ARCH");
							 | 
						||
| 
								 | 
							
								    println!("cargo:rustc-cfg=feature=\"arch_{}\"", arch);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    println!("cargo:rerun-if-changed=src/arch/{}/asm", arch);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // specify the linker.ld script
							 | 
						||
| 
								 | 
							
								    println!("cargo:rustc-link-arg=-Tsrc/arch/{arch}/asm/linker.ld");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // output relocation info
							 | 
						||
| 
								 | 
							
								    println!("cargo:rustc-link-arg=--emit-relocs");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // don't page align sections
							 | 
						||
| 
								 | 
							
								    println!("cargo:rustc-link-arg=-n");
							 | 
						||
| 
								 | 
							
								}
							 |