| #!/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 |