28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
extern crate rustc_version;
 | 
						|
use rustc_version::{version_meta, Channel};
 | 
						|
 | 
						|
fn main() {
 | 
						|
    // Copied and adapted from
 | 
						|
    // https://github.com/Kimundi/rustc-version-rs/blob/1d692a965f4e48a8cb72e82cda953107c0d22f47/README.md#example
 | 
						|
    // Licensed under Apache-2.0 + MIT
 | 
						|
    match version_meta().unwrap().channel {
 | 
						|
        Channel::Stable => {
 | 
						|
            println!("cargo:rustc-cfg=RUSTC_WITHOUT_SPECIALIZATION");
 | 
						|
        }
 | 
						|
        Channel::Beta => {
 | 
						|
            println!("cargo:rustc-cfg=RUSTC_WITHOUT_SPECIALIZATION");
 | 
						|
        }
 | 
						|
        Channel::Nightly => {
 | 
						|
            println!("cargo:rustc-cfg=RUSTC_WITH_SPECIALIZATION");
 | 
						|
        }
 | 
						|
        Channel::Dev => {
 | 
						|
            println!("cargo:rustc-cfg=RUSTC_WITH_SPECIALIZATION");
 | 
						|
            // See https://github.com/solana-labs/solana/issues/11055
 | 
						|
            // We may be running the custom `rust-bpf-builder` toolchain,
 | 
						|
            // which currently needs `#![feature(proc_macro_hygiene)]` to
 | 
						|
            // be applied.
 | 
						|
            println!("cargo:rustc-cfg=RUSTC_NEEDS_PROC_MACRO_HYGIENE");
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |