summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/lit/lit.cfg.py11
-rw-r--r--lldb/packages/Python/lldbsuite/test/make/Makefile.rules10
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)
OpenPOWER on IntegriCloud