From ec8b8dfa3e1b05850d512d35d3cbdd9ef03e794e Mon Sep 17 00:00:00 2001 From: Ramy Medhat Date: Wed, 17 Jul 2019 12:28:40 +0000 Subject: [PATCH] Add RBE mk file to support bootstrapping RBE and setting relevant environment variables. Test: Built aosp_arm-user with and without USE_RBE. With USE_RBE, used a simple proxy script in place of rewrapper. Change-Id: Ifb6bfd9f7292346f4750a6a409aa0def4e3c0363 --- core/config.mk | 1 + core/rbe.mk | 32 ++++++++++++++++++++++++++++++++ core/soong_config.mk | 1 + 3 files changed, 34 insertions(+) create mode 100644 core/rbe.mk diff --git a/core/config.mk b/core/config.mk index 5016ff2377..5ec0566fc8 100644 --- a/core/config.mk +++ b/core/config.mk @@ -312,6 +312,7 @@ endef ifeq ($(CALLED_FROM_SETUP),true) include $(BUILD_SYSTEM)/ccache.mk include $(BUILD_SYSTEM)/goma.mk +include $(BUILD_SYSTEM)/rbe.mk endif ifdef TARGET_PREFER_32_BIT diff --git a/core/rbe.mk b/core/rbe.mk new file mode 100644 index 0000000000..766b121533 --- /dev/null +++ b/core/rbe.mk @@ -0,0 +1,32 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed 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. +# + +# Notice: this works only with Google's RBE service. +ifneq ($(filter-out false,$(USE_RBE)),) + ifdef RBE_DIR + rbe_dir := $(RBE_DIR) + else + rbe_dir := $(HOME)/rbe + endif + RBE_WRAPPER := $(rbe_dir)/rewrapper + + # Append rewrapper to existing *_WRAPPER variables so it's possible to + # use both ccache and rewrapper. + CC_WRAPPER := $(strip $(CC_WRAPPER) $(RBE_WRAPPER)) + CXX_WRAPPER := $(strip $(CXX_WRAPPER) $(RBE_WRAPPER)) + + rbe_dir := +endif diff --git a/core/soong_config.mk b/core/soong_config.mk index 57ab331f10..eae66c58c5 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -152,6 +152,7 @@ $(call add_json_str, SystemExtPath, $(TARGET_COPY_OUT_SYSTE $(call add_json_bool, MinimizeJavaDebugInfo, $(filter true,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO))) $(call add_json_bool, UseGoma, $(filter-out false,$(USE_GOMA))) +$(call add_json_bool, UseRBE, $(filter-out false,$(USE_RBE))) $(call add_json_bool, Arc, $(filter true,$(TARGET_ARC))) $(call add_json_list, NamespacesToExport, $(PRODUCT_SOONG_NAMESPACES))