diff --git a/core/config.mk b/core/config.mk index 5016ff237..5ec0566fc 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 000000000..766b12153 --- /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 57ab331f1..eae66c58c 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))