hbase/hbase-native-client/bin/build-thirdparty.sh

65 lines
2.2 KiB
Bash
Raw Normal View History

#! /usr/bin/env bash
#
#/**
# * Copyright The Apache Software Foundation
# *
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# */
set -x
set -e
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
source ${DIR}/../bin/hbase-client-env.sh
# On some systems, autotools installs libraries to lib64 rather than lib. Fix
# this by setting up lib64 as a symlink to lib. We have to do this step first
# to handle cases where one third-party library depends on another.
mkdir -p "${HBASE_PREFIX}/lib"
cd ${HBASE_PREFIX}
ln -sf lib "${HBASE_PREFIX}/lib64"
if [ ! -f gtest ]; then
cd ${HBASE_GTEST_DIR}
cmake .
make -j4
cd ..
ln -sf ${HBASE_GTEST_DIR} gtest
fi
if [ ! -f ${HBASE_PREFIX}/lib/libprotobuf.a ]; then
cd ${HBASE_PROTOBUF_DIR}
./configure --with-pic --disable-shared --prefix=${HBASE_PREFIX}
make -j4 install
fi
if [ ! -f ${HBASE_PREFIX}/lib/libev.a ]; then
cd ${HBASE_LIBEV_DIR}
./configure --with-pic --disable-shared --prefix=${HBASE_PREFIX}
make -j4 install
fi
echo "---------------------"
echo "Thirdparty dependencies built and installed into $HBASE_PREFIX successfully"