xref: /aosp_15_r20/external/grpc-grpc/tools/run_tests/helper_scripts/build_ruby.sh (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1#!/bin/bash
2
3# Copyright 2015 gRPC authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17set -ex
18
19export GRPC_CONFIG=${CONFIG:-opt}
20if [ "${GRPC_CONFIG}" == "dbg" ]
21then
22  CMAKE_CONFIG=Debug
23else
24  CMAKE_CONFIG=Release
25fi
26
27# change to grpc's ruby directory
28cd "$(dirname "$0")/../../.."
29
30rm -rf ./tmp
31
32SYSTEM=$(uname | cut -f 1 -d_)
33if [ "$SYSTEM" == "Darwin" ]; then
34  # work around https://github.com/rake-compiler/rake-compiler/issues/210
35  export GRPC_RUBY_TEST_ONLY_WORKAROUND_MAKE_INSTALL_BUG=true
36fi
37bundle exec rake compile
38
39# build grpc_ruby_plugin
40mkdir -p cmake/build
41pushd cmake/build
42cmake -DgRPC_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=${CMAKE_CONFIG} ../..
43make protoc grpc_ruby_plugin -j2
44popd
45
46# unbreak subsequent make builds by restoring zconf.h (previously renamed by cmake build)
47# see https://github.com/madler/zlib/issues/133
48(cd third_party/zlib; git checkout zconf.h || cp zconf.h.included zconf.h)
49