blob: 1c741647e7037333cf190e2a0fa69035433df848 [file] [log] [blame]
#!/bin/bash
##############################################################################
# Build script to build the protoc compiler for the host platform.
##############################################################################
# This script builds the protoc compiler for the host platform, which is needed
# for any cross-compilation as we will need to convert the protobuf source
# files to cc files.
#
# --other-flags accepts flags that should be passed to cmake. Optional.
#
# After the execution of the file, one should be able to find the host protoc
# binary at build_host_protoc/bin/protoc.
CAFFE2_ROOT="$( cd "$(dirname -- "$0")"/.. ; pwd -P)"
BUILD_ROOT=$CAFFE2_ROOT/build_host_protoc
mkdir -p $BUILD_ROOT/build
cd $BUILD_ROOT/build
CMAKE=$(which cmake || which /usr/bin/cmake || which /usr/local/bin/cmake)
SHARED="$CAFFE2_ROOT/third_party/protobuf/cmake -DCMAKE_INSTALL_PREFIX=$BUILD_ROOT -Dprotobuf_BUILD_TESTS=OFF "
OTHER_FLAGS=""
while true; do
case "$1" in
--other-flags)
shift;
echo "Other flags passed to cmake: $@";
OTHER_FLAGS=" $@ ";
break ;;
"")
break ;;
*)
echo "Unknown option passed as argument: $1"
break ;;
esac
done
$CMAKE $SHARED $OTHER_FLAGS || exit 1
make -j 4 || exit 1
make install || exit 1