1#!/usr/bin/env bash
2
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements.  See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership.  The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance
9# with the License.  You may obtain a copy of the License at
10#
11#   http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing,
14# software distributed under the License is distributed on an
15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16# KIND, either express or implied.  See the License for the
17# specific language governing permissions and limitations
18# under the License.
19
20# This script builds the static library of protobuf along with protoc, that can be used as dependency of mxnet.
21set -ex
22PROTOBUF_VERSION=3.5.1
23if [[ $PLATFORM == 'darwin' ]]; then
24    DY_EXT="dylib"
25else
26    DY_EXT="so"
27fi
28
29LIBPROTOBUF="$DEPS_PATH/lib/libprotobuf.$DY_EXT"
30LIBPROTOC="$DEPS_PATH/lib/libprotoc.$DY_EXT"
31if [[ ! -e $LIBPROTOBUF ]] || [[ ! -e $LIBPROTOC ]]; then
32    # Download and build protobuf
33    >&2 echo "Building protobuf..."
34    download \
35        https://github.com/google/protobuf/archive/v${PROTOBUF_VERSION}.zip \
36        ${DEPS_PATH}/protobuf.zip
37    unzip -q $DEPS_PATH/protobuf.zip -d $DEPS_PATH
38    pushd .
39    cd $DEPS_PATH/protobuf-$PROTOBUF_VERSION
40    ./autogen.sh
41    ./configure -prefix=$DEPS_PATH
42    $MAKE
43    $MAKE install
44    popd
45fi
46
47