59 lines
3.1 KiB
Bash
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
|