include.sh 530 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env bash
  2. set -e
  3. include="$(realpath "$1")"
  4. cargo build --release --manifest-path cbindgen/Cargo.toml
  5. cbindgen="$(realpath target/release/cbindgen)"
  6. jobs=()
  7. for config in src/header/*/cbindgen.toml
  8. do
  9. dir="$(dirname "$config")"
  10. name="$(basename "$dir")"
  11. if [ "${name:0:1}" != "_" ]
  12. then
  13. header="$include/${name/_//}.h"
  14. pushd "$dir"
  15. "$cbindgen" -c cbindgen.toml -o "$header" mod.rs &
  16. jobs+=($!)
  17. popd
  18. fi
  19. done
  20. for job in "${jobs[@]}"
  21. do
  22. wait "$job"
  23. done