diff options
-rw-r--r-- | lldb/lit/lit.cfg.py | 11 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/make/Makefile.rules | 10 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lldb/lit/lit.cfg.py b/lldb/lit/lit.cfg.py index 9b78ba35c16..86cc9022101 100644 --- a/lldb/lit/lit.cfg.py +++ b/lldb/lit/lit.cfg.py @@ -4,9 +4,9 @@ import os import sys import re import platform +import shutil import subprocess - import lit.util import lit.formats from lit.llvm import llvm_config @@ -124,3 +124,12 @@ llvm_config.feature_config( ('--build-mode', {'DEBUG': 'debug'}), ('--targets-built', calculate_arch_features) ]) + +# Clean the module caches in the test build directory. This is +# necessary in an incremental build whenever clang changes underneath, +# so doing it once per lit.py invocation is close enough. +for i in ['module-cache-clang']: + cachedir = os.path.join(config.llvm_obj_root, 'lldb-test-build.noindex', i) + if os.path.isdir(cachedir): + print("Deleting module cache at %s."%cachedir) + shutil.rmtree(cachedir) diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules index 89906516685..dfe573c89d7 100644 --- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -33,7 +33,6 @@ BUILDDIR := $(shell pwd) THIS_FILE_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/ LLDB_BASE_DIR := $(THIS_FILE_DIR)../../../../../ - #---------------------------------------------------------------------- # If OS is not defined, use 'uname -s' to determine the OS name. # @@ -253,7 +252,16 @@ ifeq "$(MAKE_DWO)" "YES" CFLAGS += -gsplit-dwarf endif +# Use a shared module cache when building in the default test build directory. +ifeq "$(findstring lldb-test-build.noindex, $(BUILDDIR))" "" CLANG_MODULE_CACHE_DIR := $(BUILDDIR)/module-cache +else +CLANG_MODULE_CACHE_DIR := $(shell echo "$(BUILDDIR)" | sed 's/lldb-test-build.noindex.*/lldb-test-build.noindex\/module-cache-clang/') +endif + +ifeq "$(CLANG_MODULE_CACHE_DIR)" "" +$(error failed to set the shared clang module cache dir) +endif MANDATORY_MODULE_BUILD_CFLAGS := -fmodules -gmodules -fmodules-cache-path=$(CLANG_MODULE_CACHE_DIR) |