llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Charles Zablit (charles-zablit)

<details>
<summary>Changes</summary>

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.

---
Full diff: https://github.com/llvm/llvm-project/pull/180224.diff


1 Files Affected:

- (modified) lldb/packages/Python/lldbsuite/test/make/Makefile.rules (+23) 


``````````diff
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:
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/180224
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to