diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19408fc..0eb486a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,8 +33,14 @@ jobs: toolchain: ${{ format('{0}-{1}', matrix.channel, matrix.target.toolchain) }} profile: minimal override: true + # Print the compiler version, for debugging. + - name: print compiler version + run: cargo run --quiet + working-directory: ./tools/compiler_version # Print out instruction set support, for debugging. - - run: cargo run --quiet --bin instruction_set_support + - name: print instruction set support + run: cargo run --quiet + working-directory: ./tools/instruction_set_support # Default tests plus Rayon. - run: cargo test --features=rayon # no_std tests. diff --git a/tools/compiler_version/Cargo.toml b/tools/compiler_version/Cargo.toml new file mode 100644 index 0000000..1046cf2 --- /dev/null +++ b/tools/compiler_version/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "compiler_version" +version = "0.0.0" +edition = "2018" + +[build-dependencies] +cc = "1.0.50" diff --git a/tools/compiler_version/build.rs b/tools/compiler_version/build.rs new file mode 100644 index 0000000..3e14ebe --- /dev/null +++ b/tools/compiler_version/build.rs @@ -0,0 +1,6 @@ +fn main() { + let build = cc::Build::new(); + let compiler = build.get_compiler(); + let compiler_path = compiler.path().to_string_lossy(); + println!("cargo:rustc-env=COMPILER_PATH={}", compiler_path); +} diff --git a/tools/compiler_version/src/main.rs b/tools/compiler_version/src/main.rs new file mode 100644 index 0000000..4506cf7 --- /dev/null +++ b/tools/compiler_version/src/main.rs @@ -0,0 +1,12 @@ +fn main() { + // Set in build.rs. + let compiler_path = env!("COMPILER_PATH"); + + let mut compiler_command = std::process::Command::new(compiler_path); + // Use the --version flag on everything other than MSVC. + if !cfg!(target_env = "msvc") { + compiler_command.arg("--version"); + } + // Run the compiler to print its version. Ignore the exit status. + let _ = compiler_command.status().unwrap(); +} diff --git a/tools/instruction_set_support/Cargo.toml b/tools/instruction_set_support/Cargo.toml new file mode 100644 index 0000000..9e30174 --- /dev/null +++ b/tools/instruction_set_support/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "instruction_set_support" +version = "0.0.0" +edition = "2018" + +[dependencies] diff --git a/src/bin/instruction_set_support.rs b/tools/instruction_set_support/src/main.rs similarity index 100% rename from src/bin/instruction_set_support.rs rename to tools/instruction_set_support/src/main.rs