trezor-core/tools/build_protobuf

35 lines
849 B
Plaintext
Raw Normal View History

2016-04-26 16:32:57 -07:00
#!/bin/bash
CURDIR=$(pwd)
PB2DIR=$CURDIR/pb2
OUTDIR=../src/trezor/messages
INDEX=$OUTDIR/wire_types.py
2016-04-26 16:32:57 -07:00
2018-02-25 09:48:44 -08:00
set -x
rm -f $OUTDIR/[A-Z]*.py
mkdir -p $OUTDIR
mkdir -p $PB2DIR
touch $PB2DIR/__init__.py
2017-06-13 10:35:14 -07:00
2016-09-21 05:12:46 -07:00
rm -f $INDEX
2017-06-07 10:06:26 -07:00
echo '# Automatically generated by pb2py' >> $INDEX
echo 'from micropython import const' >> $INDEX
echo '' >> $INDEX
2016-09-21 05:12:46 -07:00
for i in types messages ; do
2016-04-26 16:32:57 -07:00
# Compile .proto files to python2 modules using google protobuf library
cd $CURDIR/../vendor/trezor-common/protob
protoc --python_out=$PB2DIR -I/usr/include -I. $i.proto
done
2016-04-26 16:32:57 -07:00
2017-09-25 07:01:22 -07:00
# hack to make output python 3 compatible
sed -i 's/^import types_pb2/from . import types_pb2/g' $CURDIR/pb2/messages_pb2.py
2017-09-25 07:01:22 -07:00
for i in types messages ; do
2016-04-26 16:32:57 -07:00
# Convert google protobuf library to trezor's internal format
cd $CURDIR
./pb2py -m -p $CURDIR -i $INDEX $i $OUTDIR
2016-04-26 16:32:57 -07:00
done
rm -rf $PB2DIR