Files
2020-12-31 15:28:51 +08:00

59 lines
3.1 KiB
Bash

#!/bin/bash
# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.
# description: the script that make install grpc
# date: 2020-11-25
# version: 1.0
# history:
# 2020-11-25 first commit
#######################################################################
# main
#######################################################################
WORK_PATH="$(dirname $0)"
tmp_cpus=$(grep -w processor /proc/cpuinfo|wc -l)
source "${WORK_PATH}/build_common.sh"
sed -i -e "194d" -e "196d" -e "197d" -e "199d" \
-e "193 a set(_gRPC_CARES_LIBRARIES ${TO_3RD}/lib/libcares.a)" \
-e "193 a set(_gRPC_CARES_INCLUDE_DIR ${TO_3RD}/include)" \
-e "195 a set(_gRPC_PROTOBUF_LIBRARIES ${TO_3RD}/lib/libprotoc.a ${TO_3RD}/lib/libprotobuf.a ${TO_3RD}/lib/libprotobuf-lite.a)" \
-e "195 a set(_gRPC_PROTOBUF_INCLUDE_DIR ${TO_3RD}/include)" \
-e "195 a set(_gRPC_PROTOBUF_PROTOC_EXECUTABLE `which protoc`)" \
-e "195 a set(_gRPC_SSL_LIBRARIES ${TO_3RD}/lib/libssl.so ${TO_3RD}/lib/libcrypto.so)" \
-e "195 a set(_gRPC_SSL_INCLUDE_DIR ${TO_3RD}/include)" \
-e "195 a set(_gRPC_ZLIB_LIBRARIES ${TO_3RD}/lib/libz.a)" \
-e "195 a set(_gRPC_ZLIB_INCLUDE_DIR ${TO_3RD}/include)" ../CMakeLists.txt
sed -i '169a set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -fPIC -fstack-protector-all -Wstack-protector -s -Wl,-z,relro,-z,now,-z,noexecstack")' ../CMakeLists.txt
sed -i '167a set(CMAKE_C_FLAGS "-fPIE -fPIC -fstack-protector-all -Wstack-protector -s -Wl,-z,relro,-z,now,-z,noexecstack")' ../CMakeLists.txt
export PKG_CONFIG_PATH=../../protobuf/install_comm/lib
cmake .. -G "Unix Makefiles" \
-DCMAKE_CXX_FLAGS="-w -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 " \
-DCMAKE_C_FLAGS="-w -std=c99 -D_GLIBCXX_USE_CXX11_ABI=0 " \
-DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install \
-DCMAKE_INSTALL_LIBDIR=lib \
-DgRPC_ZLIB_PROVIDER=package \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-D_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR=${TO_3RD}/include \
-DgRPC_SSL_PROVIDER=package \
-DABSL_ROOT_DIR=$CUR_SRC/third_party/abseil-cpp \
-DGFLAGS_ROOT_DIR=$CUR_SRC/third_party/gflags \
-DBENCHMARK_ROOT_DIR=$CUR_SRC/third_party/benchmark \
-DRUN_HAVE_STD_REGEX=0 \
-DRUN_HAVE_POSIX_REGEX=0 \
-DRUN_HAVE_STEADY_CLOCK=0 \
-DBUILD_SHARED_LIBS=ON \
-DBENCHMARK_ENABLE_TESTING=OFF
sed -i "s/CC/CXX/g" CMakeFiles/grpc_create_jwt.dir/link.txt
sed -i "s/CC/CXX/g" CMakeFiles/grpc_verify_jwt.dir/link.txt
sed -i "s/CC/CXX/g" CMakeFiles/grpc_print_google_default_creds_token.dir/link.txt
make clean && make -j${tmp_cpus}
make install -j${tmp_cpus}
mkdir -p ../../../../output/dependency/$platform/grpc/comm/include && mkdir -p ../../../../output/dependency/$platform/grpc/llt/include
mkdir -p ../../../../output/dependency/$platform/grpc/comm/lib && mkdir -p ../../../../output/dependency/$platform/grpc/llt/lib
cp -rL ../../install/lib/lib* ../../../../output/dependency/$platform/grpc/comm/lib
cp -rL ../../install/lib/lib* ../../../../output/dependency/$platform/grpc/llt/lib
cp -r ../include/* ../../../../output/dependency/$platform/grpc/comm/include
cp -r ../include/* ../../../../output/dependency/$platform/grpc/llt/include