set -eu SRC="authentication keyexchange mercury metadata pubsub spirc" cat > src/lib.rs <<EOF // Autogenerated by build.sh extern crate protobuf; EOF cat > files.rs <<EOF // Autogenerated by build.sh pub const FILES : &'static [(&'static str, u32)] = &[ EOF for name in $SRC; do src=proto/$name.proto out=src/$name.rs checksum=$(cksum $src | cut -f 1 -d' ') protoc --rust_out src/ -I proto/ proto/$name.proto echo "pub mod $name;" >> src/lib.rs echo " (\"$src\", $checksum)," >> files.rs done echo "];" >> files.rs