@@ -12,16 +12,26 @@ std_version='14'
12
12
install_grpc_version=${new_grpc_version}
13
13
install_dir=' /usr/local/'
14
14
build_shared_libs=' '
15
+ build_internal_abseil_cpp=1
16
+ GRPC_BUILD_OPTIONS=()
15
17
usage () { echo " Usage: $0 [-v <gcc-version>] [-i <install_dir>" ] 1>&2 ; exit 1; }
16
18
17
- while getopts " :v:i:r:s:TH- " o; do
19
+ while getopts " :v:i:p: r:s:TH" o; do
18
20
case " ${o} " in
19
21
v)
20
22
gcc_version=${OPTARG}
21
23
;;
22
24
i)
23
25
install_dir=${OPTARG}
24
26
;;
27
+ p)
28
+ if [[ " ${OPTARG} " == " protobuf" ]]; then
29
+ GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} " -DgRPC_PROTOBUF_PROVIDER=package" )
30
+ elif [[ " ${OPTARG} " == " abseil-cpp" ]]; then
31
+ GRPC_BUILD_OPTIONS=(${GRPC_BUILD_OPTIONS[@]} " -DgRPC_ABSL_PROVIDER=package" )
32
+ build_internal_abseil_cpp=0
33
+ fi
34
+ ;;
25
35
r)
26
36
install_grpc_version=${OPTARG}
27
37
;;
@@ -34,8 +44,6 @@ while getopts ":v:i:r:s:TH-" o; do
34
44
H)
35
45
build_shared_libs=" ON"
36
46
;;
37
- -)
38
- break
39
47
;;
40
48
* )
41
49
usage
@@ -65,22 +73,26 @@ git clone --depth=1 -b ${install_grpc_version} https://github.com/grpc/grpc
65
73
pushd grpc
66
74
git submodule init
67
75
git submodule update --depth 1
68
- mkdir -p " third_party/abseil-cpp/build" && pushd " third_party/abseil-cpp/build"
69
- set -x
70
76
71
- ABSEIL_CPP_BUILD_OPTIONS=(
72
- -DCMAKE_BUILD_TYPE=Release
73
- -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
74
- -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
75
- )
76
- if [ ! -z " $build_shared_libs " ]; then
77
- ABSEIL_CPP_BUILD_OPTIONS=(${ABSEIL_CPP_BUILD_OPTIONS[@]} " -DBUILD_SHARED_LIBS=$build_shared_libs " )
77
+ if [[ $build_internal_abseil_cpp -ne 0 ]]; then
78
+ mkdir -p " third_party/abseil-cpp/build" && pushd " third_party/abseil-cpp/build"
79
+ set -x
80
+
81
+ ABSEIL_CPP_BUILD_OPTIONS=(
82
+ -DCMAKE_BUILD_TYPE=Release
83
+ -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
84
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
85
+ )
86
+ if [ ! -z " $build_shared_libs " ]; then
87
+ ABSEIL_CPP_BUILD_OPTIONS=(${ABSEIL_CPP_BUILD_OPTIONS[@]} " -DBUILD_SHARED_LIBS=$build_shared_libs " )
88
+ fi
89
+ cmake ${ABSEIL_CPP_BUILD_OPTIONS[@]} ..
90
+ cmake --build . -j${nproc} --target install && popd
78
91
fi
79
- cmake ${ABSEIL_CPP_BUILD_OPTIONS[@]} ..
80
- cmake --build . -j${nproc} --target install && popd
81
92
mkdir -p build && pushd build
82
93
83
94
GRPC_BUILD_OPTIONS=(
95
+ ${GRPC_BUILD_OPTIONS[@]}
84
96
-DgRPC_INSTALL=ON
85
97
-DCMAKE_CXX_STANDARD=${std_version}
86
98
-DgRPC_BUILD_TESTS=OFF
0 commit comments