https://github.com/charles-zablit created https://github.com/llvm/llvm-project/pull/180224
This patch adds cross platform (Darwin, Linux, Windows) commands in `Makefile.rules` which is used to build lldb test targets. This maps POSIX commands like `mkdir -p` to their Windows equivalent, which allows to create cross platform `Makefile` for lldb's test targets. This is currently not needed by any test but might become useful later as we are working on enabling more lldb Windows tests. This was originally done in the `swiftlang/llvm-project` fork. >From df00a3ef2509a41a4188d4cf618f8e1e0044d4d1 Mon Sep 17 00:00:00 2001 From: Charles Zablit <[email protected]> Date: Fri, 6 Feb 2026 17:19:22 +0100 Subject: [PATCH] [lldb] add cross platform test commands in Makefile.rules --- .../Python/lldbsuite/test/make/Makefile.rules | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules index a0d40ab868874..4109670ebe64c 100644 --- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules +++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules @@ -37,6 +37,29 @@ # Uncomment line below for debugging shell commands # SHELL = /bin/sh -x +# Cross platform shell commands +ifeq "$(OS)" "Windows_NT" + MKDIR_P = md $(subst /,\,$(1)) > nul 2>&1 || (exit 0) + CP = copy $(subst /,\,$(1)) $(subst /,\,$(2)) + CP_R = xcopy $(subst /,\,$(1)) $(subst /,\,$(2)) /s /e /y + RM = del $(subst /,\,$(1)) > nul 2>&1 || (exit 0) + RM_F = del /f /q $(subst /,\,$(1)) + RM_RF = rd /s /q $(subst /,\,$(1)) + LN_SF = mklink /D "$(subst /,\,$(2))" "$(subst /,\,$(1))" + ECHO = echo $(1) + ECHO_TO_FILE = echo $(1) > $(subst /,\,$(2)) +else + MKDIR_P = mkdir -p $(1) + CP = cp $(1) $(2) + CP_R = cp -r $(1) $(2) + RM = rm $(1) > /dev/null 2>&1 || true + RM_F = rm -f $(1) + RM_RF = rm -rf $(1) + LN_SF = ln -sf $(1) $(2) + ECHO = echo "$(1)" + ECHO_TO_FILE = echo $(1) > $(2) +endif + # Suppress built-in suffix rules. We explicitly define rules for %.o. .SUFFIXES: _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
