From 2b334015afd0bfd1888dc4b08f02778d96b2da8c Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Tue, 3 Dec 2013 20:35:29 +0200 Subject: Add packaging script for Mac, add platform name to packages. --- tools/make_linux_package.sh | 2 +- tools/make_mac_package.sh | 49 +++++++++++++++++++++++++++++++++++++++++++ tools/make_windows_package.sh | 2 +- 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100755 tools/make_mac_package.sh mode change 100644 => 100755 tools/make_windows_package.sh diff --git a/tools/make_linux_package.sh b/tools/make_linux_package.sh index fef0254b..342029aa 100755 --- a/tools/make_linux_package.sh +++ b/tools/make_linux_package.sh @@ -42,5 +42,5 @@ EOF chmod +x $DEST/generator-bin/protoc # Tar it all up -( cd dist; tar -czf $VERSION.tar.gz $VERSION ) +( cd dist; tar -czf $VERSION-linux.tar.gz $VERSION ) diff --git a/tools/make_mac_package.sh b/tools/make_mac_package.sh new file mode 100755 index 00000000..45ce71a0 --- /dev/null +++ b/tools/make_mac_package.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# Run this script in the top nanopb directory to create a binary package +# for Mac OS X users. + +# Requires: protobuf, python-protobuf, pyinstaller + +set -e +set -x + +VERSION=`git describe --always` +DEST=dist/$VERSION + +rm -rf $DEST +mkdir -p $DEST + +# Export the files from newest commit +git archive HEAD | tar x -C $DEST + +# Rebuild the Python .proto files +make -BC $DEST/generator/proto + +# Package the Python libraries +( cd $DEST/generator; pyinstaller nanopb_generator.py ) +mv $DEST/generator/dist/nanopb_generator $DEST/generator-bin + +# Remove temp files +rm -rf $DEST/generator/dist $DEST/generator/build $DEST/generator/nanopb_generator.spec + +# Make the nanopb generator available as a protoc plugin +cp $DEST/generator-bin/nanopb_generator $DEST/generator-bin/protoc-gen-nanopb + +# Package the protoc compiler +cp `which protoc` $DEST/generator-bin/protoc.bin +LIBPROTOC=$(otool -L `which protoc` | grep -o '/.*libprotoc[^ ]*') +LIBPROTOBUF=$(otool -L `which protoc` | grep -o '/.*libprotobuf[^ ]*') +cp $LIBPROTOC $LIBPROTOBUF $DEST/generator-bin/ +cat > $DEST/generator-bin/protoc << EOF +#!/bin/bash +SCRIPTDIR=\$(cd \$(dirname \$0); pwd) +export DYLD_LIBRARY_PATH=\$SCRIPTDIR +export PATH=\$SCRIPTDIR:\$PATH +exec \$SCRIPTDIR/protoc.bin "\$@" +EOF +chmod +x $DEST/generator-bin/protoc + +# Tar it all up +( cd dist; tar -czf $VERSION-mac.tgz $VERSION ) + diff --git a/tools/make_windows_package.sh b/tools/make_windows_package.sh old mode 100644 new mode 100755 index fe83bc44..1a339a2b --- a/tools/make_windows_package.sh +++ b/tools/make_windows_package.sh @@ -52,4 +52,4 @@ find $DEST -name '*.c' -o -name '*.h' -o -name '*.txt' \ -exec unix2dos '{}' \; # Zip it all up -( cd dist; zip -r $VERSION.zip $VERSION ) +( cd dist; zip -r $VERSION-windows.zip $VERSION ) -- cgit 1.2.3-korg