TheDan64 / inkwell

It's a New Kind of Wrapper for Exposing LLVM (Safely)
https://thedan64.github.io/inkwell/
Apache License 2.0
2.22k stars 217 forks source link

ci: build kaleidoscope in ci and revise example docs #466

Closed xieyuschen closed 5 months ago

xieyuschen commented 5 months ago

The command provided to run example is not valid in my desktop even though I installed the llvm already:

$ uname -a
Darwin GF9534F26Q 21.2.0 Darwin Kernel Version 21.2.0: Sun Nov 28 20:28:41 PST 2021; 
root:xnu-8019.61.5~1/RELEASE_ARM64_T6000 arm64

$ llvm-config  --version
16.0.6

A part of error log is shown below:

➜  inkwell git:(improve/revise-example-guides) cargo run --example kaleidoscope        
   Compiling inkwell v0.2.0 (/Users/yuchen.xie/workspace/rust/inkwell)
error: One of the LLVM feature flags must be provided: llvm4-0 llvm5-0 llvm6-0 llvm7-0 llvm8-0 llvm9-0 llvm10-0 llvm11-0 llvm12-0 llvm13-0 llvm14-0 llvm15-0 llvm16-0 llvm17-0 
   --> src/lib.rs:101:9
    |
101 |           compile_error!(concat!("One of the LLVM feature flags must be provided: ", $($all, " "),*));
    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
112 | / assert_unique_used_features! {
113 | |     "llvm4-0",
114 | |     "llvm5-0",
115 | |     "llvm6-0",
...   |
126 | |     "llvm17-0"
127 | | }
    | |_- in this macro invocation
    |
    = note: this error originates in the macro `assert_used_features` which comes from the expansion of the macro `assert_unique_used_features` (in Nightly builds, run with -Z macro-backtrace for more info)

Description

The readme should provide a command which could run the demo directly without any additional exploring. Hence, I changed the readme to cargo run with the llvm version.

Moreover, I change the ci configuration to check build example as well.

xieyuschen commented 5 months ago

Hi @TheDan64 , could you kindly review it if you have time. It's a simple change:)