From 8e4971c010d8323d572c8861c1d065c0d57ad7f8 Mon Sep 17 00:00:00 2001 From: Vladislav Dzhidzhoev Date: Sat, 13 Apr 2024 23:55:25 +0000 Subject: [PATCH 01/16] [lldb][test] Add --make argument to dotest.py (#93883) This argument allows to specify the path to make which is used by LLDB API tests to compile test programs. It might come in handy for setting up cross-platform remote runs of API tests on Windows host. It can be used to override the make path of LLDB API tests using `LLDB_TEST_USER_ARGS` argument: ``` cmake ... -DLLDB_TEST_USER_ARGS="...;--make;C:\\Path\\to\\make.exe;..." ... ``` --- lldb/packages/Python/lldbsuite/test/builders/builder.py | 7 +------ lldb/packages/Python/lldbsuite/test/configuration.py | 1 + lldb/packages/Python/lldbsuite/test/dotest.py | 7 +++++++ lldb/packages/Python/lldbsuite/test/dotest_args.py | 6 ++++++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/builders/builder.py b/lldb/packages/Python/lldbsuite/test/builders/builder.py index 18658ad430850..779246c583da6 100644 --- a/lldb/packages/Python/lldbsuite/test/builders/builder.py +++ b/lldb/packages/Python/lldbsuite/test/builders/builder.py @@ -44,11 +44,6 @@ def getMake(self, test_subdir, test_name): """Returns the invocation for GNU make. The first argument is a tuple of the relative path to the testcase and its filename stem.""" - if platform.system() == "FreeBSD" or platform.system() == "NetBSD": - make = "gmake" - else: - make = "make" - # Construct the base make invocation. lldb_test = os.environ["LLDB_TEST"] if not ( @@ -66,7 +61,7 @@ def getMake(self, test_subdir, test_name): if not os.path.isfile(makefile): makefile = os.path.join(build_dir, "Makefile") return [ - make, + configuration.make_path, "VPATH=" + src_dir, "-C", build_dir, diff --git a/lldb/packages/Python/lldbsuite/test/configuration.py b/lldb/packages/Python/lldbsuite/test/configuration.py index 400b6768bed48..bb655fa23eb6c 100644 --- a/lldb/packages/Python/lldbsuite/test/configuration.py +++ b/lldb/packages/Python/lldbsuite/test/configuration.py @@ -49,6 +49,7 @@ compiler = None dsymutil = None sdkroot = None +make_path = None swiftCompiler = None swiftLibrary = None python = sys.executable diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index ef6a9cafa118d..3c5fa22335f42 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -269,6 +269,13 @@ def parseOptionsAndInitTestdirs(): configuration.compiler = candidate break + if args.make: + configuration.make_path = args.make + elif platform_system == "FreeBSD" or platform_system == "NetBSD": + configuration.make_path = "gmake" + else: + configuration.make_path = "make" + if args.dsymutil: configuration.dsymutil = args.dsymutil elif platform_system == "Darwin": diff --git a/lldb/packages/Python/lldbsuite/test/dotest_args.py b/lldb/packages/Python/lldbsuite/test/dotest_args.py index 219a7eea599ca..ab008f5643f70 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest_args.py +++ b/lldb/packages/Python/lldbsuite/test/dotest_args.py @@ -94,6 +94,12 @@ def create_parser(): ), ) + group.add_argument( + "--make", + metavar="make", + dest="make", + help=textwrap.dedent("Specify which make to use."), + ) group.add_argument( "--dsymutil", metavar="dsymutil", From a678a0e3a863c08397a741378d39ca458eccebb3 Mon Sep 17 00:00:00 2001 From: David Spickett Date: Mon, 3 Jun 2024 10:18:39 +0100 Subject: [PATCH 02/16] [lldb][test] Fix D lang mangling test on Windows (#94196) On Windows the function does not have a symbol associated with it: Function: id = {0x000001c9}, name = "_Dfunction", range = [0x0000000140001000-0x0000000140001004) LineEntry: <...> Whereas it does on Linux: Function: id = {0x00000023}, name = "_Dfunction", range = [0x0000000000000734-0x0000000000000738) LineEntry: <...> Symbol: id = {0x00000058}, range = [0x0000000000000734-0x0000000000000738), name="_Dfunction" This means that frame.symbol is not valid on Windows. However, frame.function is valid and it also has a "mangled" attribute. So I've updated the test to check the symbol if we've got it, and the function always. In both cases we check that mangled is empty (meaning it has not been treated as mangled) and that the display name matches the original symbol name. --- lldb/test/API/lang/c/non-mangled/TestCNonMangled.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lldb/test/API/lang/c/non-mangled/TestCNonMangled.py b/lldb/test/API/lang/c/non-mangled/TestCNonMangled.py index aae2f05263fcd..6f7ef247b063a 100644 --- a/lldb/test/API/lang/c/non-mangled/TestCNonMangled.py +++ b/lldb/test/API/lang/c/non-mangled/TestCNonMangled.py @@ -11,5 +11,14 @@ def test_functions_having_dlang_mangling_prefix(self): """ self.build() _, _, thread, _ = lldbutil.run_to_name_breakpoint(self, "_Dfunction") - symbol = thread.frame[0].symbol - self.assertEqual(symbol.GetDisplayName(), "_Dfunction") + frame = thread.frame[0] + + symbol = frame.symbol + # On Windows the function does not have an associated symbol. + if symbol.IsValid(): + self.assertFalse(symbol.mangled) + self.assertEqual(symbol.GetDisplayName(), "_Dfunction") + + function = frame.function + self.assertFalse(function.mangled) + self.assertEqual(function.GetDisplayName(), "_Dfunction") From 3a2c6ff9b0ca94a6de2a1bdd7102f4b833919fd5 Mon Sep 17 00:00:00 2001 From: Jordan Rupprecht Date: Wed, 28 Feb 2024 15:00:41 -0600 Subject: [PATCH 03/16] [lldb][test][NFC] Add option to exclude third_party packages (#83191) The goal here is to remove the third_party/Python/module tree, which LLDB tests only use to `import pexpect`. This package is available on `pip`, and I believe should not be hard to obtain. However, in case it isn't easily available, deleting the tree right now could cause disruption. This introduces a `LLDB_TEST_USE_VENDOR_PACKAGES` cmake param that can be enabled, and the tests will continue loading that tree. By default, it is enabled, meaning there's really no change here. A followup change will disable it by default once all known build bots are updated to include this package. When disabled, an eager cmake check runs that makes sure `pexpect` is available before waiting for the test to fail in an obscure way. Later, this option will go away, and when it does, we can delete the tree too. Ideally this is not disruptive, and we can remove it in a week or two. --- lldb/cmake/modules/LLDBConfig.cmake | 2 ++ lldb/test/API/lit.cfg.py | 3 +++ lldb/test/API/lit.site.cfg.py.in | 1 + lldb/test/CMakeLists.txt | 17 ++++++++++++++++- lldb/use_lldb_suite_root.py | 4 +++- lldb/utils/lldb-dotest/CMakeLists.txt | 1 + lldb/utils/lldb-dotest/lldb-dotest.in | 5 +++++ 7 files changed, 31 insertions(+), 2 deletions(-) diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake index a0e4ff2268c2f..9d40a5c5a377b 100644 --- a/lldb/cmake/modules/LLDBConfig.cmake +++ b/lldb/cmake/modules/LLDBConfig.cmake @@ -84,6 +84,8 @@ option(LLDB_SKIP_STRIP "Whether to skip stripping of binaries when installing ll option(LLDB_SKIP_DSYM "Whether to skip generating a dSYM when installing lldb." OFF) option(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS "Fail to configure if certain requirements are not met for testing." OFF) +option(LLDB_TEST_USE_VENDOR_PACKAGES + "Use packages from lldb/third_party/Python/module instead of system deps." ON) # BEGIN SWIFT MOD option(LLDB_ENABLE_WERROR "Fail and stop if a warning is triggered." ${LLVM_ENABLE_WERROR}) diff --git a/lldb/test/API/lit.cfg.py b/lldb/test/API/lit.cfg.py index 1f6b809aca4ef..ba81a4743c6a3 100644 --- a/lldb/test/API/lit.cfg.py +++ b/lldb/test/API/lit.cfg.py @@ -341,3 +341,6 @@ def delete_module_cache(path): # Propagate XDG_CACHE_HOME if "XDG_CACHE_HOME" in os.environ: config.environment["XDG_CACHE_HOME"] = os.environ["XDG_CACHE_HOME"] + +if is_configured("use_vendor_packages"): + config.environment["LLDB_TEST_USE_VENDOR_PACKAGES"] = "1" diff --git a/lldb/test/API/lit.site.cfg.py.in b/lldb/test/API/lit.site.cfg.py.in index b7cd4764e3dc0..34615529802eb 100644 --- a/lldb/test/API/lit.site.cfg.py.in +++ b/lldb/test/API/lit.site.cfg.py.in @@ -39,6 +39,7 @@ config.libcxx_include_target_dir = "@LIBCXX_GENERATED_INCLUDE_TARGET_DIR@" # The API tests use their own module caches. config.lldb_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_LLDB@", "lldb-api") config.clang_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_CLANG@", "lldb-api") +config.use_vendor_packages = @LLDB_TEST_USE_VENDOR_PACKAGES@ config.swift_libs_dir = '@LLDB_SWIFT_LIBS@' # Plugins diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 3107601c2bd69..6f4db988bb78e 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -26,6 +26,20 @@ if(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS) endforeach() endif() +# The "pexpect" package should come from the system environment, not from the +# LLDB tree. However, we delay the deletion of it from the tree in case +# users/buildbots don't have the package yet and need some time to install it. +if (NOT LLDB_TEST_USE_VENDOR_PACKAGES) + lldb_find_python_module(pexpect) + if (NOT PY_pexpect_FOUND) + message(FATAL_ERROR + "Python module 'pexpect' not found. Please install it via pip or via " + "your operating system's package manager. For a temporary workaround, " + "use a version from the LLDB tree with " + "`LLDB_TEST_USE_VENDOR_PACKAGES=ON`") + endif() +endif() + if(LLDB_BUILT_STANDALONE) # In order to run check-lldb-* we need the correct map_config directives in # llvm-lit. Because this is a standalone build, LLVM doesn't know about LLDB, @@ -248,7 +262,8 @@ llvm_canonicalize_cmake_booleans( LLDB_HAS_LIBCXX LLDB_TOOL_LLDB_SERVER_BUILD LLDB_USE_SYSTEM_DEBUGSERVER - LLDB_IS_64_BITS) + LLDB_IS_64_BITS + LLDB_TEST_USE_VENDOR_PACKAGES) # BEGIN SWIFT llvm_canonicalize_cmake_booleans( diff --git a/lldb/use_lldb_suite_root.py b/lldb/use_lldb_suite_root.py index d33e280ba11ae..017fd7173855e 100644 --- a/lldb/use_lldb_suite_root.py +++ b/lldb/use_lldb_suite_root.py @@ -21,5 +21,7 @@ def add_lldbsuite_packages_dir(lldb_root): lldb_root = os.path.dirname(inspect.getfile(inspect.currentframe())) -add_third_party_module_dirs(lldb_root) +# Use environment variables to avoid plumbing flags, lit configs, etc. +if os.getenv("LLDB_TEST_USE_VENDOR_PACKAGES"): + add_third_party_module_dirs(lldb_root) add_lldbsuite_packages_dir(lldb_root) diff --git a/lldb/utils/lldb-dotest/CMakeLists.txt b/lldb/utils/lldb-dotest/CMakeLists.txt index 8120dc1fbe55b..5caaa329d5d49 100644 --- a/lldb/utils/lldb-dotest/CMakeLists.txt +++ b/lldb/utils/lldb-dotest/CMakeLists.txt @@ -10,6 +10,7 @@ set(LLDB_LIBS_DIR "${LLVM_LIBRARY_OUTPUT_INTDIR}") llvm_canonicalize_cmake_booleans( LLDB_BUILD_INTEL_PT LLDB_HAS_LIBCXX + LLDB_TEST_USE_VENDOR_PACKAGES ) if ("libcxx" IN_LIST LLVM_ENABLE_RUNTIMES) diff --git a/lldb/utils/lldb-dotest/lldb-dotest.in b/lldb/utils/lldb-dotest/lldb-dotest.in index 09cadd4856e5c..52a98365ec2c8 100755 --- a/lldb/utils/lldb-dotest/lldb-dotest.in +++ b/lldb/utils/lldb-dotest/lldb-dotest.in @@ -1,4 +1,5 @@ #!@Python3_EXECUTABLE@ +import os import subprocess import sys @@ -19,9 +20,13 @@ has_libcxx = @LLDB_HAS_LIBCXX@ libcxx_libs_dir = "@LIBCXX_LIBRARY_DIR@" libcxx_include_dir = "@LIBCXX_GENERATED_INCLUDE_DIR@" libcxx_include_target_dir = "@LIBCXX_GENERATED_INCLUDE_TARGET_DIR@" +use_vendor_packages = @LLDB_TEST_USE_VENDOR_PACKAGES@ swift_libs_dir = '@LLDB_SWIFT_LIBS@' if __name__ == '__main__': + if use_vendor_packages: + os.putenv("LLDB_TEST_USE_VENDOR_PACKAGES", "1") + wrapper_args = sys.argv[1:] dotest_args = [] # split on an empty string will produce [''] and if you From cbb8b9a2ea0c37a32af9263eae8e177c6dfa8bdc Mon Sep 17 00:00:00 2001 From: David Spickett Date: Thu, 29 Feb 2024 14:19:23 +0000 Subject: [PATCH 04/16] [lldb][test] Clear pexpect found var before checking again If you run cmake without pexpect installed it errors as expected. However, if you just `pip install pexpect` and cmake again it still doesn't find it because it cached the result of the search. Unset the result before looking for pexpect. So that this works as expected: cmake ... pip3 install pexpect cmake ... --- lldb/test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 6f4db988bb78e..88d231751955d 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -30,6 +30,7 @@ endif() # LLDB tree. However, we delay the deletion of it from the tree in case # users/buildbots don't have the package yet and need some time to install it. if (NOT LLDB_TEST_USE_VENDOR_PACKAGES) + unset(PY_pexpect_FOUND CACHE) lldb_find_python_module(pexpect) if (NOT PY_pexpect_FOUND) message(FATAL_ERROR From 36f9433fcd10b7c0a36e6038b195f469e98b0048 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 28 Feb 2024 21:19:02 -0800 Subject: [PATCH 05/16] [lldb] Add pexpect to LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS This executed Alex' idea [1] of adding pexpect to the list of "strict test requirements" as we're planning to stop vendoring it. This will ensure all the bots have the package before we toggle the default. [1] https://github.com/llvm/llvm-project/pull/83191 --- lldb/test/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 88d231751955d..a1d8d1544d3af 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -12,7 +12,8 @@ endif() if(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS) message(STATUS "Enforcing strict test requirements for LLDB") set(useful_python_modules - psutil # Lit uses psutil to do per-test timeouts. + psutil # Lit uses psutil to do per-test timeouts. + pexpect # We no longer vendor pexpect. ) foreach(module ${useful_python_modules}) lldb_find_python_module(${module}) From 9f4b3a3f555b7bfc28244a63ab119f28196ace39 Mon Sep 17 00:00:00 2001 From: David Spickett Date: Fri, 1 Mar 2024 09:45:37 +0000 Subject: [PATCH 06/16] [lldb][test][Windows] Don't check for pexpect with LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS See https://github.com/llvm/llvm-project/issues/22648 for why we don't use it on Windows. Any pexpect tests are skipped there. --- lldb/test/CMakeLists.txt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index a1d8d1544d3af..0991315450cd8 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -11,10 +11,14 @@ endif() if(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS) message(STATUS "Enforcing strict test requirements for LLDB") - set(useful_python_modules - psutil # Lit uses psutil to do per-test timeouts. - pexpect # We no longer vendor pexpect. - ) + # Lit uses psutil to do per-test timeouts. + set(useful_python_modules psutil) + + if(NOT WIN32) + # We no longer vendor pexpect and it is not used on Windows. + list(APPEND pexpect) + endif() + foreach(module ${useful_python_modules}) lldb_find_python_module(${module}) if (NOT PY_${module}_FOUND) From 376dc8c85fe43ac33373927d69878423f4f9fda8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Tue, 3 Sep 2024 22:45:54 +0300 Subject: [PATCH 07/16] [clang] Don't add DWARF debug info when assembling .s with clang-cl /Z7 (#106686) This fixes a regression from f58330cbe44598eb2de0cca3b812f67fea0a71ca. That commit changed the clang-cl options /Zi and /Z7 to be implemented as aliases of -g rather than having separate handling. This had the unintended effect, that when assembling .s files with clang-cl, the /Z7 option (which implies using CodeView debug info) was treated as a -g option, which causes `ClangAs::ConstructJob` to pick up the option as part of `Args.getLastArg(options::OPT_g_Group)`, which sets the `WantDebug` variable. Within `Clang::ConstructJob`, we check for whether explicit `-gdwarf` or `-gcodeview` options have been set, and if not, we pick the default debug format for the current toolchain. However, in `ClangAs`, if debug info has been enabled, it always adds DWARF debug info. Add similar logic in `ClangAs` - check if the user has explicitly requested either DWARF or CodeView, otherwise look up the toolchain default. If we (either implicitly or explicitly) should be producing CodeView, don't enable the default `ClangAs` DWARF generation. This fixes the issue, where assembling a single `.s` file with clang-cl, with the /Z7 option, causes the file to contain some DWARF sections. This causes the output executable to contain DWARF, in addition to the separate intended main PDB file. By having the output executable contain DWARF sections, LLDB only looks at the (very little) DWARF info in the executable, rather than looking for a separate standalone PDB file. This caused an issue with LLDB's tests, https://github.com/llvm/llvm-project/issues/101710. --- clang/lib/Driver/ToolChains/Clang.cpp | 26 ++++++++++++++++++++++++++ clang/test/Driver/debug-options-as.c | 18 ++++++++++++++++-- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 5bdc7c7670aaf..ab4058e3f715d 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -8424,6 +8424,32 @@ void ClangAs::ConstructJob(Compilation &C, const JobAction &JA, WantDebug = !A->getOption().matches(options::OPT_g0) && !A->getOption().matches(options::OPT_ggdb0); + // If a -gdwarf argument appeared, remember it. + bool EmitDwarf = false; + if (const Arg *A = getDwarfNArg(Args)) + EmitDwarf = checkDebugInfoOption(A, Args, D, getToolChain()); + + bool EmitCodeView = false; + if (const Arg *A = Args.getLastArg(options::OPT_gcodeview)) + EmitCodeView = checkDebugInfoOption(A, Args, D, getToolChain()); + + // If the user asked for debug info but did not explicitly specify -gcodeview + // or -gdwarf, ask the toolchain for the default format. + if (!EmitCodeView && !EmitDwarf && WantDebug) { + switch (getToolChain().getDefaultDebugFormat()) { + case llvm::codegenoptions::DIF_CodeView: + EmitCodeView = true; + break; + case llvm::codegenoptions::DIF_DWARF: + EmitDwarf = true; + break; + } + } + + // If the arguments don't imply DWARF, don't emit any debug info here. + if (!EmitDwarf) + WantDebug = false; + llvm::codegenoptions::DebugInfoKind DebugInfoKind = llvm::codegenoptions::NoDebugInfo; diff --git a/clang/test/Driver/debug-options-as.c b/clang/test/Driver/debug-options-as.c index 259ad583edaa4..073015520a45a 100644 --- a/clang/test/Driver/debug-options-as.c +++ b/clang/test/Driver/debug-options-as.c @@ -20,13 +20,27 @@ // GGDB0-NOT: -debug-info-kind= // Check to make sure clang with -g on a .s file gets passed. -// rdar://9275556 -// RUN: %clang -### -c -integrated-as -g -x assembler %s 2>&1 \ +// This requires a target that defaults to DWARF. +// RUN: %clang -### --target=x86_64-linux-gnu -c -integrated-as -g -x assembler %s 2>&1 \ // RUN: | FileCheck %s // // CHECK: "-cc1as" // CHECK: "-debug-info-kind=constructor" +// Check that a plain -g, without any -gdwarf, for a MSVC target, doesn't +// trigger producing DWARF output. +// RUN: %clang -### --target=x86_64-windows-msvc -c -integrated-as -g -x assembler %s 2>&1 \ +// RUN: | FileCheck -check-prefix=MSVC %s +// +// MSVC: "-cc1as" +// MSVC-NOT: "-debug-info-kind=constructor" + +// Check that clang-cl with the -Z7 option works the same, not triggering +// any DWARF output. +// +// RUN: %clang_cl -### -c -Z7 -x assembler %s 2>&1 \ +// RUN: | FileCheck -check-prefix=MSVC %s + // Check to make sure clang with -g on a .s file gets passed -dwarf-debug-producer. // rdar://12955296 // RUN: %clang -### -c -integrated-as -g -x assembler %s 2>&1 \ From 8e101619de4dfeed22f15d2273c84ce9469dae23 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 9 Oct 2024 11:32:41 -0700 Subject: [PATCH 08/16] [lldb] Use SEND_ERROR instead of FATAL_ERROR in test/CMakeLists.txt (#111729) Use SEND_ERROR (continue processing, but skip generation) instead of FATAL_ERROR (stop processing and generation). This means that developers get to see all errors at once, instead of seeing just the first error and having to reconfigure to discover the next one. --- lldb/test/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 0991315450cd8..ed3d561273ef4 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -3,7 +3,7 @@ # Lit requires a Python3 interpreter, let's be careful and fail early if it's # not present. if (NOT DEFINED Python3_EXECUTABLE) - message(FATAL_ERROR + message(SEND_ERROR "LLDB test suite requires a Python3 interpreter but none " "was found. Please install Python3 or disable tests with " "`LLDB_INCLUDE_TESTS=OFF`.") @@ -22,7 +22,7 @@ if(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS) foreach(module ${useful_python_modules}) lldb_find_python_module(${module}) if (NOT PY_${module}_FOUND) - message(FATAL_ERROR + message(SEND_ERROR "Python module '${module}' not found. Please install it via pip or via " "your operating system's package manager. Alternatively, disable " "strict testing requirements with " @@ -81,10 +81,10 @@ if (LLDB_TEST_OBJC_GNUSTEP) find_package(GNUstepObjC) if (NOT GNUstepObjC_FOUND) if (LLDB_TEST_OBJC_GNUSTEP_DIR) - message(FATAL_ERROR "Failed to find GNUstep libobjc2 in ${LLDB_TEST_OBJC_GNUSTEP_DIR}. " + message(SEND_ERROR "Failed to find GNUstep libobjc2 in ${LLDB_TEST_OBJC_GNUSTEP_DIR}. " "Please check LLDB_TEST_OBJC_GNUSTEP_DIR or turn off LLDB_TEST_OBJC_GNUSTEP.") else() - message(FATAL_ERROR "Failed to find GNUstep libobjc2. " + message(SEND_ERROR "Failed to find GNUstep libobjc2. " "Please set LLDB_TEST_OBJC_GNUSTEP_DIR or turn off LLDB_TEST_OBJC_GNUSTEP.") endif() endif() @@ -199,7 +199,7 @@ if(TARGET clang) set(LIBCXX_LIBRARY_DIR "${LLDB_TEST_LIBCXX_ROOT_DIR}/lib${LIBCXX_LIBDIR_SUFFIX}") set(LIBCXX_GENERATED_INCLUDE_DIR "${LLDB_TEST_LIBCXX_ROOT_DIR}/include/c++/v1") else() - message(FATAL_ERROR + message(SEND_ERROR "Couldn't find libcxx build in '${LLDB_TEST_LIBCXX_ROOT_DIR}'. To run the " "test-suite for a standalone LLDB build please build libcxx and point " "LLDB_TEST_LIBCXX_ROOT_DIR to it.") @@ -208,7 +208,7 @@ if(TARGET clang) # We require libcxx for the test suite, so if we aren't building it, # provide a helpful error about how to resolve the situation. if(NOT LLDB_HAS_LIBCXX) - message(FATAL_ERROR + message(SEND_ERROR "LLDB test suite requires libc++, but it is currently disabled. " "Please add `libcxx` to `LLVM_ENABLE_RUNTIMES` or disable tests via " "`LLDB_INCLUDE_TESTS=OFF`.") From 6117bed375c4378757dc3c38541d4a9bb2b5e1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Thu, 10 Oct 2024 11:34:19 +0200 Subject: [PATCH 09/16] [lldb] Check for Python 'packaging' module at configuration time (#111747) This module is used in various helper scripts since https://github.com/llvm/llvm-project/pull/93712 --- lldb/test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index ed3d561273ef4..39001f2bd28e7 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -12,7 +12,7 @@ endif() if(LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS) message(STATUS "Enforcing strict test requirements for LLDB") # Lit uses psutil to do per-test timeouts. - set(useful_python_modules psutil) + set(useful_python_modules psutil packaging) if(NOT WIN32) # We no longer vendor pexpect and it is not used on Windows. From d7f3d7843f392d0607ae2ab1a721e844e538e446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Thu, 10 Oct 2024 12:55:31 +0200 Subject: [PATCH 10/16] [lldb] Add early CMake check for 'make' tool (#111531) Many LLDB's dotest.py based tests require the `make` tool. If it's not found in Path, they fail with an obscure error and show up as `UNRESOLVED`. On Windows, llvm-lit takes care of MSYS based testing tools like cat, printf, etc., but `make` is not part of that. Let's catch the situation early and check for it at configuration time. This error isn't fatal: It should fail the build, but not immediately stop the configuration process. There might be other issues further down the line that can be caught in the same buildbot run. --- lldb/packages/Python/lldbsuite/test/dotest.py | 4 ---- lldb/test/API/CMakeLists.txt | 15 +++++++++++++++ lldb/test/API/lit.cfg.py | 3 +++ lldb/test/API/lit.site.cfg.py.in | 1 + 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index 3c5fa22335f42..6c1e9a105b8c5 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -271,10 +271,6 @@ def parseOptionsAndInitTestdirs(): if args.make: configuration.make_path = args.make - elif platform_system == "FreeBSD" or platform_system == "NetBSD": - configuration.make_path = "gmake" - else: - configuration.make_path = "make" if args.dsymutil: configuration.dsymutil = args.dsymutil diff --git a/lldb/test/API/CMakeLists.txt b/lldb/test/API/CMakeLists.txt index ff6c4f373410e..9ffa3d4dfe4ec 100644 --- a/lldb/test/API/CMakeLists.txt +++ b/lldb/test/API/CMakeLists.txt @@ -63,6 +63,20 @@ set(LLDB_DEFAULT_TEST_EXECUTABLE "${LLVM_RUNTIME_OUTPUT_INTDIR}/lldb${CMAKE_EXEC set(LLDB_DEFAULT_TEST_DSYMUTIL "${LLVM_TOOLS_BINARY_DIR}/dsymutil${CMAKE_EXECUTABLE_SUFFIX}") +if(LLDB_TEST_MAKE) + set(LLDB_DEFAULT_TEST_MAKE ${LLDB_TEST_MAKE}) +else() + find_program(LLDB_DEFAULT_TEST_MAKE make gmake) + if(LLDB_DEFAULT_TEST_MAKE) + message(STATUS "Found make: ${LLDB_DEFAULT_TEST_MAKE}") + else() + message(STATUS "Not found: make") + message(SEND_ERROR + "LLDB tests require 'make' tool. Please pass via `LLDB_TEST_MAKE` " + "(or otherwise disable tests with `LLDB_INCLUDE_TESTS=OFF`)") + endif() +endif() + if (TARGET clang) set(LLDB_DEFAULT_TEST_COMPILER "${LLVM_TOOLS_BINARY_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}") else() @@ -72,6 +86,7 @@ endif() set(LLDB_TEST_EXECUTABLE "${LLDB_DEFAULT_TEST_EXECUTABLE}" CACHE PATH "lldb executable used for testing") set(LLDB_TEST_COMPILER "${LLDB_DEFAULT_TEST_COMPILER}" CACHE PATH "C Compiler to use for building LLDB test inferiors") set(LLDB_TEST_DSYMUTIL "${LLDB_DEFAULT_TEST_DSYMUTIL}" CACHE PATH "dsymutil used for generating dSYM bundles") +set(LLDB_TEST_MAKE "${LLDB_DEFAULT_TEST_MAKE}" CACHE PATH "make tool used for building test executables") if ("${LLDB_TEST_COMPILER}" STREQUAL "") message(FATAL_ERROR "LLDB test compiler not specified. Tests will not run.") diff --git a/lldb/test/API/lit.cfg.py b/lldb/test/API/lit.cfg.py index ba81a4743c6a3..81d2c4fa8d077 100644 --- a/lldb/test/API/lit.cfg.py +++ b/lldb/test/API/lit.cfg.py @@ -255,6 +255,9 @@ def delete_module_cache(path): if is_configured("dsymutil"): dotest_cmd += ["--dsymutil", config.dsymutil] +if is_configured("make"): + dotest_cmd += ["--make", config.make] + if is_configured("llvm_tools_dir"): dotest_cmd += ["--llvm-tools-dir", config.llvm_tools_dir] diff --git a/lldb/test/API/lit.site.cfg.py.in b/lldb/test/API/lit.site.cfg.py.in index 34615529802eb..ad018ed96cc12 100644 --- a/lldb/test/API/lit.site.cfg.py.in +++ b/lldb/test/API/lit.site.cfg.py.in @@ -32,6 +32,7 @@ config.test_arch = '@LLDB_TEST_ARCH@' config.test_compiler = lit_config.substitute('@LLDB_TEST_COMPILER@') config.test_swift_compiler = lit_config.substitute('@LLDB_SWIFTC@') config.dsymutil = lit_config.substitute('@LLDB_TEST_DSYMUTIL@') +config.make = lit_config.substitute('@LLDB_TEST_MAKE@') config.has_libcxx = @LLDB_HAS_LIBCXX@ config.libcxx_libs_dir = "@LIBCXX_LIBRARY_DIR@" config.libcxx_include_dir = "@LIBCXX_GENERATED_INCLUDE_DIR@" From 66a6fd21038278d465fd996d99ceaa2858215407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Wed, 2 Oct 2024 21:10:26 +0200 Subject: [PATCH 11/16] [lldb] Fix deps loading for lldb-python on Windows and Python3.8+ --- lldb/bindings/python/CMakeLists.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lldb/bindings/python/CMakeLists.txt b/lldb/bindings/python/CMakeLists.txt index f15a885c6a502..9a70e07212727 100644 --- a/lldb/bindings/python/CMakeLists.txt +++ b/lldb/bindings/python/CMakeLists.txt @@ -196,6 +196,24 @@ function(finish_swig_python swig_target lldb_python_bindings_dir lldb_python_tar COMMENT "Copying Python DLL to LLDB binaries directory.") endif() + # Since Python3.8 the Windows runtime loads dependent DLLs only from the directory of the binary + # itself (and not Path). Windows has no RPATHs, so we must copy all DLLs that we depend on into + # the Python package. + if (WIN32) + # TARGET_RUNTIME_DLLS is supported in CMake 3.21+ + if ("${CMAKE_VERSION}" VERSION_LESS "3.21.0") + if (LLDB_INCLUDE_TESTS) + message(SEND_ERROR + "Your CMake version is ${CMAKE_VERSION}. In order to run LLDB tests " + "on Windows please upgrade to 3.21.0 at least (or disable tests with " + "LLDB_INCLUDE_TESTS=Off)") + endif() + else() + add_custom_command(TARGET ${swig_target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy -t ${lldb_python_target_dir} $ + COMMAND_EXPAND_LISTS) + endif() + endif() endfunction() From 9a59e43d81e5af05fb347789083dec543c68c615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Tue, 15 Oct 2024 14:22:12 +0200 Subject: [PATCH 12/16] [lldb] Support tests with nested make invocations on Windows 1/2 (#112342) In recent PR https://github.com/llvm/llvm-project/pull/111531 for Windows support, we enabled tests that require the `make` tool. On Windows, default install directories likely contain spaces, in this case e.g. `C:\Program Files (x86)\GnuWin32\bin\make.exe`. It's typically handled well by CMake, so that today invocations from `dotest.py` don't cause issues. However, we also have nested invocations from a number of Makefiles themselves. These still failed if the path to the `make` tool contains spaces. This patch attempts to fix the functionalities/completion test by adding quotes in the respective Makefile. If it keeps passing on the bots, we can roll out the fix to all affected tests. --- lldb/test/API/functionalities/completion/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/test/API/functionalities/completion/Makefile b/lldb/test/API/functionalities/completion/Makefile index f46742243bd96..e457693f62ca4 100644 --- a/lldb/test/API/functionalities/completion/Makefile +++ b/lldb/test/API/functionalities/completion/Makefile @@ -4,7 +4,7 @@ USE_LIBDL := 1 a.out: lib_shared lib_shared: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=shared.cpp DYLIB_NAME=shared include Makefile.rules From 66554c4e616eefdcdef8e9b92ef438dc795b4ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Wed, 16 Oct 2024 13:07:02 +0200 Subject: [PATCH 13/16] [lldb] Support tests with nested make invocations on Windows 2/2 (#112360) Following up from https://github.com/llvm/llvm-project/pull/112342, we roll out the fix and quote nested `make` invocations in all API tests. --- lldb/test/API/commands/expression/top-level/Makefile | 2 +- .../test/API/commands/expression/weak_symbols/Makefile | 4 ++-- lldb/test/API/commands/target/create-deps/Makefile | 2 +- .../breakpoint/break_in_loaded_dylib/Makefile | 2 +- .../functionalities/dlopen_other_executable/Makefile | 2 +- lldb/test/API/functionalities/exec/Makefile | 2 +- lldb/test/API/functionalities/jitloader_gdb/Makefile | 2 +- .../test/API/functionalities/limit-debug-info/Makefile | 4 ++-- .../API/functionalities/load_after_attach/Makefile | 2 +- lldb/test/API/functionalities/load_lazy/Makefile | 6 +++--- lldb/test/API/functionalities/load_unload/Makefile | 10 +++++----- .../test/API/functionalities/load_using_paths/Makefile | 2 +- .../test/API/functionalities/scripted_process/Makefile | 2 +- .../stop-on-sharedlibrary-load/Makefile | 4 ++-- .../tail_call_frames/cross_dso/Makefile | 2 +- .../target-new-solib-notifications/Makefile | 6 +++--- lldb/test/API/lang/c/conflicting-symbol/Makefile | 2 +- lldb/test/API/lang/cpp/incomplete-types/Makefile | 2 +- lldb/test/API/lang/cpp/namespace_definitions/Makefile | 4 ++-- .../test/API/lang/objc/conflicting-definition/Makefile | 4 ++-- lldb/test/API/lang/objc/modules-hash-mismatch/Makefile | 2 +- lldb/test/API/macosx/delay-init-dependency/Makefile | 2 +- lldb/test/API/macosx/expedited-thread-pcs/Makefile | 2 +- lldb/test/API/macosx/indirect_symbol/Makefile | 4 ++-- lldb/test/API/macosx/lc-note/kern-ver-str/Makefile | 2 +- .../macosx/lc-note/multiple-binary-corefile/Makefile | 4 ++-- .../API/macosx/macCatalystAppMacOSFramework/Makefile | 2 +- lldb/test/API/macosx/skinny-corefile/Makefile | 4 ++-- lldb/test/API/tools/lldb-dap/breakpoint/Makefile | 2 +- .../test/API/tools/lldb-server/libraries-svr4/Makefile | 4 ++-- 30 files changed, 47 insertions(+), 47 deletions(-) diff --git a/lldb/test/API/commands/expression/top-level/Makefile b/lldb/test/API/commands/expression/top-level/Makefile index e5e9e78d4ead2..51b27ddbb3c2f 100644 --- a/lldb/test/API/commands/expression/top-level/Makefile +++ b/lldb/test/API/commands/expression/top-level/Makefile @@ -5,6 +5,6 @@ all: dummy include Makefile.rules dummy: dummy.cpp - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ CXX_SOURCES=dummy.cpp EXE=dummy diff --git a/lldb/test/API/commands/expression/weak_symbols/Makefile b/lldb/test/API/commands/expression/weak_symbols/Makefile index 6fd8133312ade..1636e9b303263 100644 --- a/lldb/test/API/commands/expression/weak_symbols/Makefile +++ b/lldb/test/API/commands/expression/weak_symbols/Makefile @@ -9,12 +9,12 @@ a.out: libdylib.dylib include Makefile.rules libdylib.dylib: dylib.c - $(MAKE) -C $(BUILDDIR) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -C $(BUILDDIR) -f $(MAKEFILE_RULES) \ C_SOURCES= DYLIB_C_SOURCES=dylib.c DYLIB_NAME=dylib \ CFLAGS_EXTRAS=-DHAS_THEM LD_EXTRAS=-dynamiclib hidden/libdylib.dylib: mkdir hidden - $(MAKE) -C $(BUILDDIR)/hidden -f $(MAKEFILE_RULES) \ + "$(MAKE)" -C $(BUILDDIR)/hidden -f $(MAKEFILE_RULES) \ C_SOURCES= DYLIB_C_SOURCES=dylib.c DYLIB_NAME=dylib \ LD_EXTRAS=-dynamiclib diff --git a/lldb/test/API/commands/target/create-deps/Makefile b/lldb/test/API/commands/target/create-deps/Makefile index 3e5b1049b5a19..866d550ee7d0a 100644 --- a/lldb/test/API/commands/target/create-deps/Makefile +++ b/lldb/test/API/commands/target/create-deps/Makefile @@ -6,5 +6,5 @@ a.out: libload_a include Makefile.rules libload_a: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=load_a DYLIB_CXX_SOURCES=a.cpp diff --git a/lldb/test/API/functionalities/breakpoint/break_in_loaded_dylib/Makefile b/lldb/test/API/functionalities/breakpoint/break_in_loaded_dylib/Makefile index 0f3fb37bdadf3..112210e7e2c60 100644 --- a/lldb/test/API/functionalities/breakpoint/break_in_loaded_dylib/Makefile +++ b/lldb/test/API/functionalities/breakpoint/break_in_loaded_dylib/Makefile @@ -2,7 +2,7 @@ CXX_SOURCES := main.cpp USE_LIBDL := 1 lib_b: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=b.cpp DYLIB_NAME=lib_b all: lib_b diff --git a/lldb/test/API/functionalities/dlopen_other_executable/Makefile b/lldb/test/API/functionalities/dlopen_other_executable/Makefile index 113b9fd7d3f18..51fc01bdde75a 100644 --- a/lldb/test/API/functionalities/dlopen_other_executable/Makefile +++ b/lldb/test/API/functionalities/dlopen_other_executable/Makefile @@ -2,7 +2,7 @@ C_SOURCES := main.c USE_LIBDL := 1 other: - $(MAKE) -f $(MAKEFILE_RULES) C_SOURCES=other.c EXE=other + "$(MAKE)" -f $(MAKEFILE_RULES) C_SOURCES=other.c EXE=other all: other include Makefile.rules diff --git a/lldb/test/API/functionalities/exec/Makefile b/lldb/test/API/functionalities/exec/Makefile index 8b9148ea8a355..65d4680077d26 100644 --- a/lldb/test/API/functionalities/exec/Makefile +++ b/lldb/test/API/functionalities/exec/Makefile @@ -5,5 +5,5 @@ all: secondprog include Makefile.rules secondprog: secondprog.cpp - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ CXX_SOURCES=secondprog.cpp EXE=secondprog diff --git a/lldb/test/API/functionalities/jitloader_gdb/Makefile b/lldb/test/API/functionalities/jitloader_gdb/Makefile index 357b1f83684fe..9998cc9cf833c 100644 --- a/lldb/test/API/functionalities/jitloader_gdb/Makefile +++ b/lldb/test/API/functionalities/jitloader_gdb/Makefile @@ -5,5 +5,5 @@ all: a.out simple include Makefile.rules simple: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ C_SOURCES=simple.c EXE=simple diff --git a/lldb/test/API/functionalities/limit-debug-info/Makefile b/lldb/test/API/functionalities/limit-debug-info/Makefile index 874b3a15e0fee..fa867a7aeb7c6 100644 --- a/lldb/test/API/functionalities/limit-debug-info/Makefile +++ b/lldb/test/API/functionalities/limit-debug-info/Makefile @@ -17,11 +17,11 @@ include Makefile.rules a.out: libone libtwo libone: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=one.cpp DYLIB_NAME=one \ CFLAGS_EXTRAS="$(ONE_CXXFLAGS)" libtwo: libone - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=two.cpp DYLIB_NAME=two \ CFLAGS_EXTRAS="$(TWO_CXXFLAGS)" LD_EXTRAS="-L. -lone" diff --git a/lldb/test/API/functionalities/load_after_attach/Makefile b/lldb/test/API/functionalities/load_after_attach/Makefile index 0f3fb37bdadf3..112210e7e2c60 100644 --- a/lldb/test/API/functionalities/load_after_attach/Makefile +++ b/lldb/test/API/functionalities/load_after_attach/Makefile @@ -2,7 +2,7 @@ CXX_SOURCES := main.cpp USE_LIBDL := 1 lib_b: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=b.cpp DYLIB_NAME=lib_b all: lib_b diff --git a/lldb/test/API/functionalities/load_lazy/Makefile b/lldb/test/API/functionalities/load_lazy/Makefile index 81bc7dcb4d05f..8e1d06b1e39c3 100644 --- a/lldb/test/API/functionalities/load_lazy/Makefile +++ b/lldb/test/API/functionalities/load_lazy/Makefile @@ -17,13 +17,13 @@ else endif t1: t2_0 - $(MAKE) VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ + "$(MAKE)" VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=t1.c DYLIB_NAME=t1 LD_EXTRAS="-L. $(LINKFLAGS)" t2_0: - $(MAKE) VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ + "$(MAKE)" VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=t2_0.c DYLIB_NAME=t2_0 t2_1: - $(MAKE) VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ + "$(MAKE)" VPATH=$(SRCDIR) -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=t2_1.c DYLIB_NAME=t2_1 diff --git a/lldb/test/API/functionalities/load_unload/Makefile b/lldb/test/API/functionalities/load_unload/Makefile index e73ec73108764..dd7d16029427a 100644 --- a/lldb/test/API/functionalities/load_unload/Makefile +++ b/lldb/test/API/functionalities/load_unload/Makefile @@ -7,25 +7,25 @@ a.out: lib_b lib_a lib_c lib_d hidden_lib_d include Makefile.rules lib_a: lib_b - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=a.cpp DYLIB_NAME=loadunload_a \ LD_EXTRAS="-L. -lloadunload_b" lib_b: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=b.cpp DYLIB_NAME=loadunload_b lib_c: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=c.cpp DYLIB_NAME=loadunload_c lib_d: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload_d ifeq ($(OS),Darwin) install_name_tool -id @executable_path/libloadunload_d.dylib libloadunload_d.dylib endif hidden_lib_d: hidden - $(MAKE) VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ + "$(MAKE)" VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload_d diff --git a/lldb/test/API/functionalities/load_using_paths/Makefile b/lldb/test/API/functionalities/load_using_paths/Makefile index 814a96013756a..f973a389d585f 100644 --- a/lldb/test/API/functionalities/load_using_paths/Makefile +++ b/lldb/test/API/functionalities/load_using_paths/Makefile @@ -6,6 +6,6 @@ all: hidden_lib a.out include Makefile.rules hidden_lib: - $(MAKE) VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ + "$(MAKE)" VPATH=$(SRCDIR)/hidden -C hidden -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=d.cpp DYLIB_NAME=loadunload diff --git a/lldb/test/API/functionalities/scripted_process/Makefile b/lldb/test/API/functionalities/scripted_process/Makefile index c23310226d875..8f7b134ae92b9 100644 --- a/lldb/test/API/functionalities/scripted_process/Makefile +++ b/lldb/test/API/functionalities/scripted_process/Makefile @@ -7,7 +7,7 @@ override ARCH := $(shell uname -m) all: libbaz.dylib a.out libbaz.dylib: baz.cpp - $(MAKE) -f $(MAKEFILE_RULES) ARCH=$(ARCH) \ + "$(MAKE)" -f $(MAKEFILE_RULES) ARCH=$(ARCH) \ DYLIB_ONLY=YES DYLIB_NAME=baz DYLIB_CXX_SOURCES=baz.cpp include Makefile.rules diff --git a/lldb/test/API/functionalities/stop-on-sharedlibrary-load/Makefile b/lldb/test/API/functionalities/stop-on-sharedlibrary-load/Makefile index 4abcab84eac29..e4b0e86c0c36c 100644 --- a/lldb/test/API/functionalities/stop-on-sharedlibrary-load/Makefile +++ b/lldb/test/API/functionalities/stop-on-sharedlibrary-load/Makefile @@ -6,11 +6,11 @@ a.out: lib_a lib_b include Makefile.rules lib_a: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=a.cpp DYLIB_NAME=load_a lib_b: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_CXX_SOURCES=b.cpp DYLIB_NAME=load_b diff --git a/lldb/test/API/functionalities/tail_call_frames/cross_dso/Makefile b/lldb/test/API/functionalities/tail_call_frames/cross_dso/Makefile index 42c010be9a03a..963ce2ac94d92 100644 --- a/lldb/test/API/functionalities/tail_call_frames/cross_dso/Makefile +++ b/lldb/test/API/functionalities/tail_call_frames/cross_dso/Makefile @@ -10,4 +10,4 @@ a.out: lib_One lib_Two lib_One: lib_Two lib_%: - $(MAKE) VPATH=$(SRCDIR)/$* -I $(SRCDIR) -f $(SRCDIR)/$*.mk DSYMUTIL=$(DSYMUTIL) + "$(MAKE)" VPATH=$(SRCDIR)/$* -I $(SRCDIR) -f $(SRCDIR)/$*.mk DSYMUTIL=$(DSYMUTIL) diff --git a/lldb/test/API/functionalities/target-new-solib-notifications/Makefile b/lldb/test/API/functionalities/target-new-solib-notifications/Makefile index 99998b20bcb05..bfad5f33e8675 100644 --- a/lldb/test/API/functionalities/target-new-solib-notifications/Makefile +++ b/lldb/test/API/functionalities/target-new-solib-notifications/Makefile @@ -1,3 +1,3 @@ -CXX_SOURCES := main.cpp - -include Makefile.rules +CXX_SOURCES := main.cpp + +include Makefile.rules diff --git a/lldb/test/API/lang/c/conflicting-symbol/Makefile b/lldb/test/API/lang/c/conflicting-symbol/Makefile index 81594a1265da2..1331c4e1ebfaf 100644 --- a/lldb/test/API/lang/c/conflicting-symbol/Makefile +++ b/lldb/test/API/lang/c/conflicting-symbol/Makefile @@ -7,4 +7,4 @@ include Makefile.rules a.out: lib_One lib_Two lib_%: - $(MAKE) VPATH=$(SRCDIR)/$* -I $(SRCDIR) -f $(SRCDIR)/$*.mk + "$(MAKE)" VPATH=$(SRCDIR)/$* -I $(SRCDIR) -f $(SRCDIR)/$*.mk diff --git a/lldb/test/API/lang/cpp/incomplete-types/Makefile b/lldb/test/API/lang/cpp/incomplete-types/Makefile index f42ac2e81cc76..0cf3f6a31caa2 100644 --- a/lldb/test/API/lang/cpp/incomplete-types/Makefile +++ b/lldb/test/API/lang/cpp/incomplete-types/Makefile @@ -16,7 +16,7 @@ main.o: CFLAGS_EXTRAS = -flimit-debug-info limit: a.o main.o mkdir -p build_limit - $(MAKE) -C $(BUILDDIR)/build_limit -f $(MAKEFILE_RULES) \ + "$(MAKE)" -C $(BUILDDIR)/build_limit -f $(MAKEFILE_RULES) \ EXE=../limit CXX_SOURCES="length.cpp ../a.o ../main.o" \ CFLAGS_EXTRAS=-flimit-debug-info NO_LIMIT_DEBUG_INFO_FLAGS="" diff --git a/lldb/test/API/lang/cpp/namespace_definitions/Makefile b/lldb/test/API/lang/cpp/namespace_definitions/Makefile index fc9165f67f428..b17d70fc92871 100644 --- a/lldb/test/API/lang/cpp/namespace_definitions/Makefile +++ b/lldb/test/API/lang/cpp/namespace_definitions/Makefile @@ -6,10 +6,10 @@ a.out: liba libb include Makefile.rules liba: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=a DYLIB_CXX_SOURCES=a.cpp libb: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=b DYLIB_CXX_SOURCES=b.cpp diff --git a/lldb/test/API/lang/objc/conflicting-definition/Makefile b/lldb/test/API/lang/objc/conflicting-definition/Makefile index 00a0769a086f0..cba79c94d46ba 100644 --- a/lldb/test/API/lang/objc/conflicting-definition/Makefile +++ b/lldb/test/API/lang/objc/conflicting-definition/Makefile @@ -9,14 +9,14 @@ include Makefile.rules libTest.dylib: Test/Test.m mkdir -p Test - $(MAKE) MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ + "$(MAKE)" MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=Test DYLIB_OBJC_SOURCES=Test/Test.m \ LD_EXTRAS="-lobjc -framework Foundation" \ CFLAGS_EXTRAS=-I$(SRCDIR) libTestExt.dylib: TestExt/TestExt.m mkdir -p TestExt - $(MAKE) MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ + "$(MAKE)" MAKE_DSYM=YES -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=TestExt DYLIB_OBJC_SOURCES=TestExt/TestExt.m \ LD_EXTRAS="-lobjc -framework Foundation -lTest -L." \ CFLAGS_EXTRAS=-I$(SRCDIR) diff --git a/lldb/test/API/lang/objc/modules-hash-mismatch/Makefile b/lldb/test/API/lang/objc/modules-hash-mismatch/Makefile index 59bf009f68677..57da670b69ab3 100644 --- a/lldb/test/API/lang/objc/modules-hash-mismatch/Makefile +++ b/lldb/test/API/lang/objc/modules-hash-mismatch/Makefile @@ -5,7 +5,7 @@ USE_PRIVATE_MODULE_CACHE = YES .PHONY: update-module all: $(EXE) - $(MAKE) -f $(SRCDIR)/Makefile update-module + "$(MAKE)" -f $(SRCDIR)/Makefile update-module include Makefile.rules diff --git a/lldb/test/API/macosx/delay-init-dependency/Makefile b/lldb/test/API/macosx/delay-init-dependency/Makefile index 246ea0f34e1a1..7421c68b79baa 100644 --- a/lldb/test/API/macosx/delay-init-dependency/Makefile +++ b/lldb/test/API/macosx/delay-init-dependency/Makefile @@ -7,5 +7,5 @@ all: build-libfoo a.out include Makefile.rules build-libfoo: foo.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_C_SOURCES=foo.c DYLIB_NAME=foo DYLIB_ONLY=YES diff --git a/lldb/test/API/macosx/expedited-thread-pcs/Makefile b/lldb/test/API/macosx/expedited-thread-pcs/Makefile index 7799f06e77097..73a969831e673 100644 --- a/lldb/test/API/macosx/expedited-thread-pcs/Makefile +++ b/lldb/test/API/macosx/expedited-thread-pcs/Makefile @@ -6,6 +6,6 @@ all: build-libfoo a.out include Makefile.rules build-libfoo: foo.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_C_SOURCES=foo.c DYLIB_NAME=foo DYLIB_ONLY=YES diff --git a/lldb/test/API/macosx/indirect_symbol/Makefile b/lldb/test/API/macosx/indirect_symbol/Makefile index 9069302b39c4f..dee3e184fe19b 100644 --- a/lldb/test/API/macosx/indirect_symbol/Makefile +++ b/lldb/test/API/macosx/indirect_symbol/Makefile @@ -7,11 +7,11 @@ all: build-libindirect build-libreepxoprt a.out include Makefile.rules build-libindirect: indirect.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_C_SOURCES=indirect.c DYLIB_NAME=indirect DYLIB_ONLY=YES \ LD_EXTRAS="-Wl,-image_base,0x200000000" build-libreepxoprt: reexport.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_C_SOURCES=reexport.c DYLIB_NAME=reexport DYLIB_ONLY=YES \ LD_EXTRAS="-L. -lindirect -Wl,-alias_list,$(SRCDIR)/alias.list" diff --git a/lldb/test/API/macosx/lc-note/kern-ver-str/Makefile b/lldb/test/API/macosx/lc-note/kern-ver-str/Makefile index 05d9552a80209..01b4acfdcfd2a 100644 --- a/lldb/test/API/macosx/lc-note/kern-ver-str/Makefile +++ b/lldb/test/API/macosx/lc-note/kern-ver-str/Makefile @@ -5,7 +5,7 @@ C_SOURCES := main.c all: a.out create-empty-corefile create-empty-corefile: - $(MAKE) -f $(MAKEFILE_RULES) EXE=create-empty-corefile \ + "$(MAKE)" -f $(MAKEFILE_RULES) EXE=create-empty-corefile \ CXX=$(CC) CXX_SOURCES=create-empty-corefile.cpp include Makefile.rules diff --git a/lldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile b/lldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile index 8e561f17383fe..229235cda999f 100644 --- a/lldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile +++ b/lldb/test/API/macosx/lc-note/multiple-binary-corefile/Makefile @@ -10,11 +10,11 @@ create-empty-corefile: CXX_SOURCES=create-multibin-corefile.cpp libone.dylib: one.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=one DYLIB_C_SOURCES=one.c libtwo.dylib: two.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=two DYLIB_C_SOURCES=two.c include Makefile.rules diff --git a/lldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile b/lldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile index bb8df1869ef98..4d2ba1661ea30 100644 --- a/lldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile +++ b/lldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile @@ -9,7 +9,7 @@ override CC=xcrun clang all: libfoo.dylib a.out libfoo.dylib: foo.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_NAME=foo DYLIB_C_SOURCES=foo.c include Makefile.rules diff --git a/lldb/test/API/macosx/skinny-corefile/Makefile b/lldb/test/API/macosx/skinny-corefile/Makefile index efe37f3d2b8b2..fce43a36c33ac 100644 --- a/lldb/test/API/macosx/skinny-corefile/Makefile +++ b/lldb/test/API/macosx/skinny-corefile/Makefile @@ -6,10 +6,10 @@ include Makefile.rules a.out: libto-be-removed libpresent libto-be-removed: libpresent - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=to-be-removed.c DYLIB_NAME=to-be-removed \ LD_EXTRAS="-L. -lpresent" libpresent: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=present.c DYLIB_NAME=present diff --git a/lldb/test/API/tools/lldb-dap/breakpoint/Makefile b/lldb/test/API/tools/lldb-dap/breakpoint/Makefile index 30a6400184933..7634f513e8523 100644 --- a/lldb/test/API/tools/lldb-dap/breakpoint/Makefile +++ b/lldb/test/API/tools/lldb-dap/breakpoint/Makefile @@ -15,5 +15,5 @@ main-copy.cpp: main.cpp # The following shared library will be used to test breakpoints under dynamic loading libother: other-copy.c - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES DYLIB_C_SOURCES=other-copy.c DYLIB_NAME=other diff --git a/lldb/test/API/tools/lldb-server/libraries-svr4/Makefile b/lldb/test/API/tools/lldb-server/libraries-svr4/Makefile index 5b5c1dcef783a..f13b1ac15928a 100644 --- a/lldb/test/API/tools/lldb-server/libraries-svr4/Makefile +++ b/lldb/test/API/tools/lldb-server/libraries-svr4/Makefile @@ -9,11 +9,11 @@ a.out: svr4lib_a svr4lib_b_quote include Makefile.rules svr4lib_a: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=svr4lib_a DYLIB_CXX_SOURCES=svr4lib_a.cpp \ DYLIB_ONLY=YES svr4lib_b_quote: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=svr4lib_b\\\" DYLIB_CXX_SOURCES=svr4lib_b_quote.cpp \ DYLIB_ONLY=YES From 13187e14e4f8d74e88f7689f6da9a04507b8c664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Tue, 15 Oct 2024 15:43:15 +0200 Subject: [PATCH 14/16] [lldb] Support swiftlang tests with nested make invocations on Windows --- .../swift_progress_reporting/Makefile | 2 +- .../API/lang/swift/clangimporter/Werror/Makefile | 2 +- .../clangimporter/bridging_header_headermap/Makefile | 2 +- .../lang/swift/clangimporter/config_macros/Makefile | 2 +- .../dynamic_type_resolution_import_conflict/Makefile | 4 ++-- .../swift/clangimporter/explict_noimplicit/Makefile | 2 +- .../swift/clangimporter/hard_macro_conflict/Makefile | 2 +- .../swift/clangimporter/headermap_conflict/Makefile | 2 +- .../swift/clangimporter/include_conflict/Makefile | 2 +- .../lang/swift/clangimporter/macro_conflict/Makefile | 2 +- .../lang/swift/clangimporter/missing_pch/Makefile | 4 ++-- .../swift/clangimporter/missing_vfsoverlay/Makefile | 4 ++-- .../swift/clangimporter/objc_runtime_ivars/Makefile | 2 +- .../objcmain_conflicting_dylibs/Makefile | 2 +- .../Makefile | 2 +- .../Makefile | 2 +- .../lang/swift/clangimporter/remap_sdk_path/Makefile | 4 ++-- .../swift/clangimporter/remoteast_import/Makefile | 2 +- .../swift/clangimporter/rewrite_clang_paths/Makefile | 2 +- .../API/lang/swift/cross_module_extension/Makefile | 4 ++-- .../lang/swift/cxx_interop/forward/langopt/Makefile | 2 +- lldb/test/API/lang/swift/deployment_target/Makefile | 4 ++-- .../API/lang/swift/different_clang_flags/Makefile | 2 +- .../API/lang/swift/dwarfimporter/from_dylib/Makefile | 2 +- .../lang/swift/dwarfimporter/objc-header/Makefile | 2 +- .../swift/expression/equality_operators/Makefile | 2 +- .../swift/expression/import_search_paths/Makefile | 4 ++-- .../API/lang/swift/expression/objc_context/Makefile | 2 +- lldb/test/API/lang/swift/framework_paths/Makefile | 4 ++-- .../library_indirect/Makefile | 4 ++-- .../library_resilient/Makefile | 4 ++-- .../main_executable/Makefile | 2 +- lldb/test/API/lang/swift/late_dylib/Makefile | 2 +- .../API/lang/swift/late_dylib_clangdeps/Makefile | 2 +- lldb/test/API/lang/swift/late_expr_dylib/Makefile | 2 +- .../lang/swift/late_swift_dylib_clangdeps/Makefile | 2 +- lldb/test/API/lang/swift/lazy_framework/Makefile | 2 +- lldb/test/API/lang/swift/macro/Makefile | 4 ++-- .../test/API/lang/swift/module_search_paths/Makefile | 2 +- .../API/lang/swift/optional_of_resilient/Makefile | 2 +- lldb/test/API/lang/swift/other_arch_dylib/Makefile | 2 +- .../lang/swift/parseable_interfaces/dsym/Makefile | 4 ++-- .../lang/swift/parseable_interfaces/shared/Makefile | 12 ++++++------ .../lang/swift/parseable_interfaces/static/Makefile | 12 ++++++------ lldb/test/API/lang/swift/path_with_colons/Makefile | 2 +- .../API/lang/swift/playgrounds-repl/Makefile.common | 2 +- lldb/test/API/lang/swift/playgrounds/Makefile | 4 ++-- .../API/lang/swift/private_discriminator/Makefile | 4 ++-- .../API/lang/swift/private_generic_type/Makefile | 8 ++++---- lldb/test/API/lang/swift/private_import/Makefile | 8 ++++---- lldb/test/API/lang/swift/reflection_loading/Makefile | 2 +- lldb/test/API/lang/swift/reflection_only/Makefile | 2 +- lldb/test/API/lang/swift/resilience/Makefile | 4 ++-- lldb/test/API/lang/swift/static_framework/Makefile | 4 ++-- .../API/lang/swift/static_linking/macOS/Makefile | 2 +- lldb/test/API/lang/swift/swift_version/Makefile | 2 +- lldb/test/API/lang/swift/typealias/Makefile | 2 +- lldb/test/API/lang/swift/unit-tests/Makefile | 4 ++-- lldb/test/API/repl/cpp_exceptions/Makefile | 4 ++-- 59 files changed, 93 insertions(+), 93 deletions(-) diff --git a/lldb/test/API/functionalities/progress_reporting/swift_progress_reporting/Makefile b/lldb/test/API/functionalities/progress_reporting/swift_progress_reporting/Makefile index 63e421a97f7fb..ae3e371e3c4c8 100644 --- a/lldb/test/API/functionalities/progress_reporting/swift_progress_reporting/Makefile +++ b/lldb/test/API/functionalities/progress_reporting/swift_progress_reporting/Makefile @@ -9,7 +9,7 @@ all: libinvisible.dylib $(EXE) include Makefile.rules libinvisible.dylib: Invisible.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES DYLIB_ONLY=YES DYLIB_NAME=Invisible \ DYLIB_SWIFT_SOURCES="Invisible.swift" \ SWIFTFLAGS_EXTRAS=-I$(BUILDDIR) diff --git a/lldb/test/API/lang/swift/clangimporter/Werror/Makefile b/lldb/test/API/lang/swift/clangimporter/Werror/Makefile index 5206d36a2fe25..75fc7160bd5d7 100644 --- a/lldb/test/API/lang/swift/clangimporter/Werror/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/Werror/Makefile @@ -7,7 +7,7 @@ all: libDylib.dylib a.out include Makefile.rules libDylib.dylib: dylib.swift - $(MAKE) BASENAME=$(shell basename $< .swift) \ + "$(MAKE)" BASENAME=$(shell basename $< .swift) \ -f $(SRCDIR)/dylib.mk all clean:: diff --git a/lldb/test/API/lang/swift/clangimporter/bridging_header_headermap/Makefile b/lldb/test/API/lang/swift/clangimporter/bridging_header_headermap/Makefile index c655c19269ca3..c736fd5bdee00 100644 --- a/lldb/test/API/lang/swift/clangimporter/bridging_header_headermap/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/bridging_header_headermap/Makefile @@ -18,7 +18,7 @@ all: libdylib.dylib a.out include Makefile.rules libdylib.dylib: dylib.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/config_macros/Makefile b/lldb/test/API/lang/swift/clangimporter/config_macros/Makefile index 64bc1d03d31ab..141ba3e6d3469 100644 --- a/lldb/test/API/lang/swift/clangimporter/config_macros/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/config_macros/Makefile @@ -7,7 +7,7 @@ all: libDylib.dylib a.out include Makefile.rules libDylib.dylib: dylib.swift - $(MAKE) BASENAME=$(shell basename $< .swift) \ + "$(MAKE)" BASENAME=$(shell basename $< .swift) \ -f $(SRCDIR)/dylib.mk all clean:: diff --git a/lldb/test/API/lang/swift/clangimporter/dynamic_type_resolution_import_conflict/Makefile b/lldb/test/API/lang/swift/clangimporter/dynamic_type_resolution_import_conflict/Makefile index 3c98181817f16..cd5fec5e6b810 100644 --- a/lldb/test/API/lang/swift/clangimporter/dynamic_type_resolution_import_conflict/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/dynamic_type_resolution_import_conflict/Makefile @@ -16,13 +16,13 @@ include Makefile.rules # make the conflict possible. libDylib.dylib: Dylib.swift - $(MAKE) MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all libConflict.dylib: Conflict.swift - $(MAKE) MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ SWIFTFLAGS_EXTRAS="-I. -Xcc -I$(SRCDIR)/hidden/Foo" \ diff --git a/lldb/test/API/lang/swift/clangimporter/explict_noimplicit/Makefile b/lldb/test/API/lang/swift/clangimporter/explict_noimplicit/Makefile index e8bdc224de601..57133fc5f55ed 100644 --- a/lldb/test/API/lang/swift/clangimporter/explict_noimplicit/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/explict_noimplicit/Makefile @@ -9,7 +9,7 @@ include Makefile.rules libDylib: Dylib.swift mkdir -p $(BUILDDIR)/$(shell basename $< .swift) - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=Dylib DYLIB_SWIFT_SOURCES=Dylib.swift \ VPATH=$(SRCDIR) SWIFTFLAGS_EXTRAS=-I$(SRCDIR) \ diff --git a/lldb/test/API/lang/swift/clangimporter/hard_macro_conflict/Makefile b/lldb/test/API/lang/swift/clangimporter/hard_macro_conflict/Makefile index 63d8694cf8335..74513030fbac9 100644 --- a/lldb/test/API/lang/swift/clangimporter/hard_macro_conflict/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/hard_macro_conflict/Makefile @@ -11,7 +11,7 @@ SWIFTFLAGS_EXTRAS=$(BAR_FLAGS) \ -Xlinker -rpath -Xlinker $(BUILDDIR) Framework.framework: Framework.swift - $(MAKE) -f $(MAKEFILE_RULES) -C $(BUILDDIR) VPATH=$(VPATH) \ + "$(MAKE)" -f $(MAKEFILE_RULES) -C $(BUILDDIR) VPATH=$(VPATH) \ MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=$(shell basename $< .swift) \ diff --git a/lldb/test/API/lang/swift/clangimporter/headermap_conflict/Makefile b/lldb/test/API/lang/swift/clangimporter/headermap_conflict/Makefile index afc7b8a7116ec..0fa602683afb4 100644 --- a/lldb/test/API/lang/swift/clangimporter/headermap_conflict/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/headermap_conflict/Makefile @@ -14,7 +14,7 @@ all: libdylib.dylib a.out include Makefile.rules libdylib.dylib: dylib.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/include_conflict/Makefile b/lldb/test/API/lang/swift/clangimporter/include_conflict/Makefile index e86c4d65b4ee5..7d8be2ab377b7 100644 --- a/lldb/test/API/lang/swift/clangimporter/include_conflict/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/include_conflict/Makefile @@ -14,7 +14,7 @@ include Makefile.rules SWIFTFLAGS += -Xcc -I$(SRCDIR)/Bar -I. -Xcc -I$(SRCDIR)/Foo libdylib.dylib: dylib.swift - $(MAKE) MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/macro_conflict/Makefile b/lldb/test/API/lang/swift/clangimporter/macro_conflict/Makefile index b8ff1e0a11289..053d81ef9d827 100644 --- a/lldb/test/API/lang/swift/clangimporter/macro_conflict/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/macro_conflict/Makefile @@ -14,7 +14,7 @@ endif lib%.dylib: %.swift - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/missing_pch/Makefile b/lldb/test/API/lang/swift/clangimporter/missing_pch/Makefile index aec68f538a957..298097089e9be 100644 --- a/lldb/test/API/lang/swift/clangimporter/missing_pch/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/missing_pch/Makefile @@ -10,7 +10,7 @@ include Makefile.rules OVERLAY := $(BUILDDIR)/overlay.yaml lib%.dylib: %.swift echo "struct S {};">$(BUILDDIR)/header.h - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ DISABLE_SWIFT_INTERFACE=YES \ @@ -20,7 +20,7 @@ lib%.dylib: %.swift rm header*.pch clean:: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean diff --git a/lldb/test/API/lang/swift/clangimporter/missing_vfsoverlay/Makefile b/lldb/test/API/lang/swift/clangimporter/missing_vfsoverlay/Makefile index 6274d53b688d7..f3ef329b879c5 100644 --- a/lldb/test/API/lang/swift/clangimporter/missing_vfsoverlay/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/missing_vfsoverlay/Makefile @@ -11,7 +11,7 @@ OVERLAY := $(BUILDDIR)/overlay.yaml lib%.dylib: %.swift rm -f $(OVERLAY) echo "{ 'version': 0, 'roots': [] }" >$(OVERLAY) - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ SWIFTFLAGS_EXTRAS="-Xcc -ivfsoverlay -Xcc $(OVERLAY)" \ @@ -19,7 +19,7 @@ lib%.dylib: %.swift rm -f $(OVERLAY) clean:: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean diff --git a/lldb/test/API/lang/swift/clangimporter/objc_runtime_ivars/Makefile b/lldb/test/API/lang/swift/clangimporter/objc_runtime_ivars/Makefile index 92384dc88c083..1729fe78ff87a 100644 --- a/lldb/test/API/lang/swift/clangimporter/objc_runtime_ivars/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/objc_runtime_ivars/Makefile @@ -6,7 +6,7 @@ all: aTestFramework.framework/Versions/A/aTestFramework a.out a.out.dSYM include Makefile.rules aTestFramework.framework/Versions/A/aTestFramework : aTestFramework.mm - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES DYLIB_ONLY=YES \ FRAMEWORK=aTestFramework DYLIB_CXX_SOURCES=aTestFramework.mm \ FRAMEWORK_HEADERS=$(SRCDIR)/aTestFramework.h \ diff --git a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs/Makefile b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs/Makefile index 6dd516b6f5a06..ad5c5a9472be1 100644 --- a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs/Makefile @@ -13,7 +13,7 @@ endif lib%.dylib: %.swift mkdir -p $(BUILDDIR)/$(shell basename $< .swift) - $(MAKE) MAKE_DSYM=YES \ + "$(MAKE)" MAKE_DSYM=YES \ DYLIB_NAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_bridging_headers/Makefile b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_bridging_headers/Makefile index 5f662b989b8aa..6f7bdb7229092 100644 --- a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_bridging_headers/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_bridging_headers/Makefile @@ -13,7 +13,7 @@ endif lib%.dylib: %.swift mkdir -p $(BUILDDIR)/$(shell basename $< .swift) - $(MAKE) MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES X=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_failing_import/Makefile b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_failing_import/Makefile index 61dfa63659081..f31b5d8d9fad6 100644 --- a/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_failing_import/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/objcmain_conflicting_dylibs_failing_import/Makefile @@ -10,7 +10,7 @@ all: libFoo.dylib libBar.dylib a.out include Makefile.rules lib%.dylib: %.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/clangimporter/remap_sdk_path/Makefile b/lldb/test/API/lang/swift/clangimporter/remap_sdk_path/Makefile index b19ec9ced6c6d..b26265ae01d70 100644 --- a/lldb/test/API/lang/swift/clangimporter/remap_sdk_path/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/remap_sdk_path/Makefile @@ -11,7 +11,7 @@ $(EXE): $(SWIFT_SOURCES) mkdir $(BUILDDIR)/LocalSDK ln -s $(SDKROOT) $(BUILD_SDK) echo "Building using SDK in build directory" - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ SDKROOT=$(BUILD_SDK) \ @@ -20,7 +20,7 @@ $(EXE): $(SWIFT_SOURCES) echo "Sanity check that our SDK shenanigns worked" dwarfdump -r 0 $(BUILDDIR)/main.swift.o | egrep 'DW_AT_LLVM_i?sysroot' | grep -q LocalSDK echo "Linking with regular SDK (otherwise the linker complains)" - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ SDKROOT=$(SDKROOT) \ diff --git a/lldb/test/API/lang/swift/clangimporter/remoteast_import/Makefile b/lldb/test/API/lang/swift/clangimporter/remoteast_import/Makefile index 5359f1fd1d94b..c6f1650b46ce1 100644 --- a/lldb/test/API/lang/swift/clangimporter/remoteast_import/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/remoteast_import/Makefile @@ -13,7 +13,7 @@ LD_EXTRAS += -lLibrary -L. .PHONY: libLibrary libLibrary: - $(MAKE) -f $(SRCDIR)/Library.mk VPATH=$(SRCDIR) -I $(SRCDIR) + "$(MAKE)" -f $(SRCDIR)/Library.mk VPATH=$(SRCDIR) -I $(SRCDIR) clean:: rm -rf *.swiftmodule *.swiftdoc *.dSYM *~ lib*.dylib a.out *.o diff --git a/lldb/test/API/lang/swift/clangimporter/rewrite_clang_paths/Makefile b/lldb/test/API/lang/swift/clangimporter/rewrite_clang_paths/Makefile index edff78f605c85..6dceff675e382 100644 --- a/lldb/test/API/lang/swift/clangimporter/rewrite_clang_paths/Makefile +++ b/lldb/test/API/lang/swift/clangimporter/rewrite_clang_paths/Makefile @@ -16,7 +16,7 @@ endif libFoo.dylib: Foo.swift mkdir -p $(BOTDIR) cp -r $(SRCDIR)/Foo $(BOTDIR)/ - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ BOTDIR=$(BOTDIR) \ diff --git a/lldb/test/API/lang/swift/cross_module_extension/Makefile b/lldb/test/API/lang/swift/cross_module_extension/Makefile index 9cf982bc4e663..d7a66b524b90d 100644 --- a/lldb/test/API/lang/swift/cross_module_extension/Makefile +++ b/lldb/test/API/lang/swift/cross_module_extension/Makefile @@ -9,14 +9,14 @@ include Makefile.rules libmoda.dylib: moda.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all libmodb.dylib: modb.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ LD_EXTRAS="-lmoda -L$(shell pwd)" \ diff --git a/lldb/test/API/lang/swift/cxx_interop/forward/langopt/Makefile b/lldb/test/API/lang/swift/cxx_interop/forward/langopt/Makefile index 71bb34ee697c6..e01fcaadd914c 100644 --- a/lldb/test/API/lang/swift/cxx_interop/forward/langopt/Makefile +++ b/lldb/test/API/lang/swift/cxx_interop/forward/langopt/Makefile @@ -8,7 +8,7 @@ all: libDylib.dylib a.out include Makefile.rules libDylib.dylib: Dylib.swift - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(THIS_FILE_DIR)/Makefile.rules \ diff --git a/lldb/test/API/lang/swift/deployment_target/Makefile b/lldb/test/API/lang/swift/deployment_target/Makefile index e59e557b74c2d..21c852fdbfbd6 100644 --- a/lldb/test/API/lang/swift/deployment_target/Makefile +++ b/lldb/test/API/lang/swift/deployment_target/Makefile @@ -12,14 +12,14 @@ a.out: main.swift libNewerTarget.dylib dlopen_module: dlopen_module.m libNewerTarget.dylib - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ CXX= \ OBJC_SOURCES=dlopen_module.m \ EXE=dlopen_module \ LD_EXTRAS="-framework Foundation -mmacos-version-min=10.8" lib%.dylib: %.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES \ DYLIB_NAME=$(patsubst lib%.dylib,%,$@) \ DYLIB_SWIFT_SOURCES=$(patsubst lib%.dylib,%.swift,$@) \ diff --git a/lldb/test/API/lang/swift/different_clang_flags/Makefile b/lldb/test/API/lang/swift/different_clang_flags/Makefile index 3bb8308af4d5a..d6c010153922f 100644 --- a/lldb/test/API/lang/swift/different_clang_flags/Makefile +++ b/lldb/test/API/lang/swift/different_clang_flags/Makefile @@ -8,7 +8,7 @@ all: libmoda.dylib libmodb.dylib main include Makefile.rules lib%.dylib: - $(MAKE) -f $(MAKEFILE_RULES) VPATH=$(VPATH)/$*_dir \ + "$(MAKE)" -f $(MAKEFILE_RULES) VPATH=$(VPATH)/$*_dir \ SWIFTFLAGS_EXTRAS=-I$(dir $<)/cdeps \ MAKE_DSYM=YES DYLIB_ONLY=YES \ DYLIB_NAME=$* DYLIB_SWIFT_SOURCES=$*.swift \ diff --git a/lldb/test/API/lang/swift/dwarfimporter/from_dylib/Makefile b/lldb/test/API/lang/swift/dwarfimporter/from_dylib/Makefile index 2955603f01d04..5fcef78445875 100644 --- a/lldb/test/API/lang/swift/dwarfimporter/from_dylib/Makefile +++ b/lldb/test/API/lang/swift/dwarfimporter/from_dylib/Makefile @@ -7,4 +7,4 @@ all: libFoo.dylib $(EXE) include Makefile.rules libFoo.dylib: Foo.swift - $(MAKE) MAKE_DSYM=NO VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all + "$(MAKE)" MAKE_DSYM=NO VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/dwarfimporter/objc-header/Makefile b/lldb/test/API/lang/swift/dwarfimporter/objc-header/Makefile index 1943c52ba1bfc..fde0445410c1e 100644 --- a/lldb/test/API/lang/swift/dwarfimporter/objc-header/Makefile +++ b/lldb/test/API/lang/swift/dwarfimporter/objc-header/Makefile @@ -11,7 +11,7 @@ include Makefile.rules objc.o: libLibrary.dylib libLibrary.dylib: Library.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_SWIFT_SOURCES=Library.swift \ DYLIB_NAME=Library \ SWIFTFLAGS_EXTRAS="-emit-objc-header-path $(BUILDDIR)/include/Library-Swift.h" diff --git a/lldb/test/API/lang/swift/expression/equality_operators/Makefile b/lldb/test/API/lang/swift/expression/equality_operators/Makefile index 39f25971e0b15..3515678d121d2 100644 --- a/lldb/test/API/lang/swift/expression/equality_operators/Makefile +++ b/lldb/test/API/lang/swift/expression/equality_operators/Makefile @@ -8,7 +8,7 @@ all: libfooey.dylib three include Makefile.rules libfooey.dylib: one.swift two.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES DYLIB_ONLY=YES DYLIB_NAME=fooey \ DYLIB_SWIFT_SOURCES="one.swift two.swift" \ SWIFTFLAGS_EXTRAS=-I$(BUILDDIR) diff --git a/lldb/test/API/lang/swift/expression/import_search_paths/Makefile b/lldb/test/API/lang/swift/expression/import_search_paths/Makefile index 659294c6b3b43..30e352715f5d3 100644 --- a/lldb/test/API/lang/swift/expression/import_search_paths/Makefile +++ b/lldb/test/API/lang/swift/expression/import_search_paths/Makefile @@ -9,7 +9,7 @@ include Makefile.rules libHidden: $(SRCDIR)/hidden/Indirect.swift mkdir -p $(BUILDDIR)/hidden - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ -C $(BUILDDIR)/hidden VPATH=$(SRCDIR)/hidden \ DYLIB_ONLY=YES \ DYLIB_NAME=Indirect \ @@ -19,7 +19,7 @@ libHidden: $(SRCDIR)/hidden/Indirect.swift MAKE_DSYM=NO libDirect: $(SRCDIR)/Direct.swift libHidden - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES \ DYLIB_NAME=Direct \ DYLIB_SWIFT_SOURCES=Direct.swift \ diff --git a/lldb/test/API/lang/swift/expression/objc_context/Makefile b/lldb/test/API/lang/swift/expression/objc_context/Makefile index d380b0da16102..5e67184c97bee 100644 --- a/lldb/test/API/lang/swift/expression/objc_context/Makefile +++ b/lldb/test/API/lang/swift/expression/objc_context/Makefile @@ -10,7 +10,7 @@ all: libFoo.dylib $(EXE) include Makefile.rules lib%.dylib: %.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all diff --git a/lldb/test/API/lang/swift/framework_paths/Makefile b/lldb/test/API/lang/swift/framework_paths/Makefile index 4bf1792b853ea..dd3c30fe3f0dc 100644 --- a/lldb/test/API/lang/swift/framework_paths/Makefile +++ b/lldb/test/API/lang/swift/framework_paths/Makefile @@ -7,7 +7,7 @@ all: Direct.framework $(EXE) include Makefile.rules Discovered.framework: Discovered.h - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES \ DYLIB_NAME=Discovered \ DYLIB_OBJC_SOURCES=Discovered.m \ @@ -19,7 +19,7 @@ Direct.framework: $(SRCDIR)/Direct.swift.in Discovered.framework mkdir -p $(BUILDDIR)/secret_path cp $< $(BUILDDIR)/Direct.swift mv Discovered.framework $(BUILDDIR)/secret_path - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=Direct \ DYLIB_SWIFT_SOURCES=Direct.swift \ DYLIB_MODULENAME=Direct \ diff --git a/lldb/test/API/lang/swift/implementation_only_imports/library_indirect/Makefile b/lldb/test/API/lang/swift/implementation_only_imports/library_indirect/Makefile index d1d66d4470ad3..68b54ed5b7478 100644 --- a/lldb/test/API/lang/swift/implementation_only_imports/library_indirect/Makefile +++ b/lldb/test/API/lang/swift/implementation_only_imports/library_indirect/Makefile @@ -7,11 +7,11 @@ all: clean SomeLibraryCore.swiftmodule SomeLibrary.swiftmodule a.out include Makefile.rules SomeLibraryCore.swiftmodule: SomeLibraryCore.swift - $(MAKE) BASENAME=$(shell basename $@ .swiftmodule) \ + "$(MAKE)" BASENAME=$(shell basename $@ .swiftmodule) \ VPATH=$(SRCDIR) -f $(SRCDIR)/../dylib.mk all SomeLibrary.swiftmodule: SomeLibrary.swift SomeLibraryCore.swiftmodule - $(MAKE) BASENAME=$(shell basename $@ .swiftmodule) \ + "$(MAKE)" BASENAME=$(shell basename $@ .swiftmodule) \ VPATH=$(SRCDIR) -f $(SRCDIR)/../dylib.mk all clean:: diff --git a/lldb/test/API/lang/swift/implementation_only_imports/library_resilient/Makefile b/lldb/test/API/lang/swift/implementation_only_imports/library_resilient/Makefile index 839dbf23d506c..b2eb2ce814cca 100644 --- a/lldb/test/API/lang/swift/implementation_only_imports/library_resilient/Makefile +++ b/lldb/test/API/lang/swift/implementation_only_imports/library_resilient/Makefile @@ -7,12 +7,12 @@ all: clean SomeLibraryCore.swiftmodule SomeLibrary.swiftmodule a.out include Makefile.rules SomeLibraryCore.swiftmodule: SomeLibraryCore.swift - $(MAKE) BASENAME=$(shell basename $@ .swiftmodule) \ + "$(MAKE)" BASENAME=$(shell basename $@ .swiftmodule) \ SWIFTFLAGS_EXTRAS=-enable-library-evolution \ VPATH=$(SRCDIR) -f $(SRCDIR)/../dylib.mk all SomeLibrary.swiftmodule: SomeLibrary.swift SomeLibraryCore.swiftmodule - $(MAKE) BASENAME=$(shell basename $@ .swiftmodule) \ + "$(MAKE)" BASENAME=$(shell basename $@ .swiftmodule) \ SWIFTFLAGS_EXTRAS=-enable-library-evolution \ VPATH=$(SRCDIR) -f $(SRCDIR)/../dylib.mk all diff --git a/lldb/test/API/lang/swift/implementation_only_imports/main_executable/Makefile b/lldb/test/API/lang/swift/implementation_only_imports/main_executable/Makefile index adb218cbc16c8..bdca5963fcfb6 100644 --- a/lldb/test/API/lang/swift/implementation_only_imports/main_executable/Makefile +++ b/lldb/test/API/lang/swift/implementation_only_imports/main_executable/Makefile @@ -8,7 +8,7 @@ all: clean SomeLibrary.swiftmodule a.out include Makefile.rules SomeLibrary.swiftmodule: SomeLibrary.swift - $(MAKE) BASENAME=$(shell basename $@ .swiftmodule) \ + "$(MAKE)" BASENAME=$(shell basename $@ .swiftmodule) \ SWIFTFLAGS_EXTRAS=$(LIBRARY_SWIFTFLAGS_EXTRAS) \ VPATH=$(SRCDIR) -f $(SRCDIR)/../dylib.mk all diff --git a/lldb/test/API/lang/swift/late_dylib/Makefile b/lldb/test/API/lang/swift/late_dylib/Makefile index 7154acc9675b0..f1215e8ba547b 100644 --- a/lldb/test/API/lang/swift/late_dylib/Makefile +++ b/lldb/test/API/lang/swift/late_dylib/Makefile @@ -7,7 +7,7 @@ include Makefile.rules .PHONY: dylib dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(SRCDIR)/Makefile \ diff --git a/lldb/test/API/lang/swift/late_dylib_clangdeps/Makefile b/lldb/test/API/lang/swift/late_dylib_clangdeps/Makefile index 615f09af4b8b0..8d8160028f499 100644 --- a/lldb/test/API/lang/swift/late_dylib_clangdeps/Makefile +++ b/lldb/test/API/lang/swift/late_dylib_clangdeps/Makefile @@ -7,7 +7,7 @@ include Makefile.rules .PHONY: dylib dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(SRCDIR)/Makefile \ diff --git a/lldb/test/API/lang/swift/late_expr_dylib/Makefile b/lldb/test/API/lang/swift/late_expr_dylib/Makefile index 5772fe78b1a2f..830c2085c81f1 100644 --- a/lldb/test/API/lang/swift/late_expr_dylib/Makefile +++ b/lldb/test/API/lang/swift/late_expr_dylib/Makefile @@ -7,7 +7,7 @@ include Makefile.rules .PHONY: Dylib Dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ SWIFT_SOURCES= \ diff --git a/lldb/test/API/lang/swift/late_swift_dylib_clangdeps/Makefile b/lldb/test/API/lang/swift/late_swift_dylib_clangdeps/Makefile index b2179bc504e05..6323dc5457eec 100644 --- a/lldb/test/API/lang/swift/late_swift_dylib_clangdeps/Makefile +++ b/lldb/test/API/lang/swift/late_swift_dylib_clangdeps/Makefile @@ -11,7 +11,7 @@ include Makefile.rules .PHONY: dylib dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(SRCDIR)/Makefile \ diff --git a/lldb/test/API/lang/swift/lazy_framework/Makefile b/lldb/test/API/lang/swift/lazy_framework/Makefile index c24340f57d209..fce63dd5c4b67 100644 --- a/lldb/test/API/lang/swift/lazy_framework/Makefile +++ b/lldb/test/API/lang/swift/lazy_framework/Makefile @@ -7,7 +7,7 @@ all: Lazy.framework $(EXE) include Makefile.rules Lazy.framework: $(SRCDIR)/Lazy.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=Lazy \ DYLIB_SWIFT_SOURCES=Lazy.swift \ DYLIB_MODULENAME=Lazy \ diff --git a/lldb/test/API/lang/swift/macro/Makefile b/lldb/test/API/lang/swift/macro/Makefile index 17c715922f491..a1960248d388f 100644 --- a/lldb/test/API/lang/swift/macro/Makefile +++ b/lldb/test/API/lang/swift/macro/Makefile @@ -12,7 +12,7 @@ all: libMacro.dylib libMacroImpl.dylib $(EXE) include Makefile.rules libMacro.dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(THIS_FILE_DIR)/Makefile.rules \ @@ -25,7 +25,7 @@ libMacro.dylib: $(RM) $(BUILDDIR)/Macro.swiftinterface libMacroImpl.dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(THIS_FILE_DIR)/Makefile.rules \ diff --git a/lldb/test/API/lang/swift/module_search_paths/Makefile b/lldb/test/API/lang/swift/module_search_paths/Makefile index 78327a2442871..0c4a6739eca5a 100644 --- a/lldb/test/API/lang/swift/module_search_paths/Makefile +++ b/lldb/test/API/lang/swift/module_search_paths/Makefile @@ -5,5 +5,5 @@ include Makefile.rules # This is an extra dependency that does NOT get linked into the EXE. module-build: - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ SWIFT_SOURCES=module.swift EXE=Module diff --git a/lldb/test/API/lang/swift/optional_of_resilient/Makefile b/lldb/test/API/lang/swift/optional_of_resilient/Makefile index 5b5dadc5c0479..81f44bab16e2f 100644 --- a/lldb/test/API/lang/swift/optional_of_resilient/Makefile +++ b/lldb/test/API/lang/swift/optional_of_resilient/Makefile @@ -7,7 +7,7 @@ LD_EXTRAS = -lmod -L$(BUILDDIR) SWIFTFLAGS_EXTRAS = -I$(BUILDDIR) libmod.dylib: mod.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=mod \ SWIFTFLAGS_EXTRAS="-I$(BUILDDIR) -enable-library-evolution" \ diff --git a/lldb/test/API/lang/swift/other_arch_dylib/Makefile b/lldb/test/API/lang/swift/other_arch_dylib/Makefile index 6993083dbd327..8edee59875cf3 100644 --- a/lldb/test/API/lang/swift/other_arch_dylib/Makefile +++ b/lldb/test/API/lang/swift/other_arch_dylib/Makefile @@ -7,7 +7,7 @@ include Makefile.rules OtherArch.framework/Versions/A/OtherArch: $(SRCDIR)/OtherArch.swift touch OtherArch.h - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES \ DYLIB_ONLY=YES \ DYLIB_SWIFT_SOURCES=OtherArch.swift \ diff --git a/lldb/test/API/lang/swift/parseable_interfaces/dsym/Makefile b/lldb/test/API/lang/swift/parseable_interfaces/dsym/Makefile index 62f1dff755e7b..6bfa28ac479a5 100644 --- a/lldb/test/API/lang/swift/parseable_interfaces/dsym/Makefile +++ b/lldb/test/API/lang/swift/parseable_interfaces/dsym/Makefile @@ -17,7 +17,7 @@ setup: cp $(SRCDIR)/libs/A.swift libs/AA.swift sharedA: - $(MAKE) MAKE_DSYM=$(DYLIB_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(DYLIB_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) VPATH=$(BUILDDIR) SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ DSYMUTIL=$(DSYMUTIL) \ @@ -31,6 +31,6 @@ clear_modules: rm -rf cache clean:: - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean rm -rf libs rm -rf cache diff --git a/lldb/test/API/lang/swift/parseable_interfaces/shared/Makefile b/lldb/test/API/lang/swift/parseable_interfaces/shared/Makefile index 98c8b7dbc1db3..22062ed8378f9 100644 --- a/lldb/test/API/lang/swift/parseable_interfaces/shared/Makefile +++ b/lldb/test/API/lang/swift/parseable_interfaces/shared/Makefile @@ -23,19 +23,19 @@ setup: echo $(SWIFTSDKROOT) > $(BUILDDIR)/sdk-root.txt sharedA: - $(MAKE) MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ BASENAME=AA -f $(SRCDIR)/libs/Makefile sharedB: - $(MAKE) MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ BASENAME=BB SWIFTFLAGS_EXTRAS="-I$(BUILDDIR)" LD_EXTRAS="-L$(BUILDDIR) -lAA" -f $(SRCDIR)/libs/Makefile sharedC: - $(MAKE) MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ BASENAME=CC -f $(SRCDIR)/libs/Makefile @@ -48,9 +48,9 @@ clear_modules: rm -rf MCP clean:: - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=BB -f $(SRCDIR)/libs/Makefile clean - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=CC -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=BB -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=CC -f $(SRCDIR)/libs/Makefile clean rm -rf libs rm -rf MCP rm -f sdk-root.txt diff --git a/lldb/test/API/lang/swift/parseable_interfaces/static/Makefile b/lldb/test/API/lang/swift/parseable_interfaces/static/Makefile index 313388ff282dc..6df9ad5232123 100644 --- a/lldb/test/API/lang/swift/parseable_interfaces/static/Makefile +++ b/lldb/test/API/lang/swift/parseable_interfaces/static/Makefile @@ -20,14 +20,14 @@ setup: staticA: # Because we override VPATH to point to the build directory, we need to pass # down SWIFTC too (it's default value is relative to VPATH) - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) \ SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ BASENAME=AA -f $(SRCDIR)/libs/Makefile static_only staticB: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) \ SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ @@ -35,7 +35,7 @@ staticB: LD_EXTRAS="-L$(BUILDDIR)" -f $(SRCDIR)/libs/Makefile static_only staticC: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) VPATH=$(BUILDDIR) \ SWIFTSDKROOT=$(SWIFTSDKROOT) \ SWIFT_MODULE_CACHE_FLAGS="$(SWIFT_MODULE_CACHE_FLAGS)" \ @@ -49,8 +49,8 @@ clear_modules: rm -rf MCP clean:: - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=BB -f $(SRCDIR)/libs/Makefile clean - $(MAKE) VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=CC -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=AA -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=BB -f $(SRCDIR)/libs/Makefile clean + "$(MAKE)" VPATH=$(BUILDDIR) SWIFTC=$(SWIFTC) BASENAME=CC -f $(SRCDIR)/libs/Makefile clean rm -rf libs rm -rf MCP diff --git a/lldb/test/API/lang/swift/path_with_colons/Makefile b/lldb/test/API/lang/swift/path_with_colons/Makefile index 3cae9b078aa32..a130a496ceab7 100644 --- a/lldb/test/API/lang/swift/path_with_colons/Makefile +++ b/lldb/test/API/lang/swift/path_with_colons/Makefile @@ -1,2 +1,2 @@ all: - $(MAKE) -C "pro:ject" + "$(MAKE)" -C "pro:ject" diff --git a/lldb/test/API/lang/swift/playgrounds-repl/Makefile.common b/lldb/test/API/lang/swift/playgrounds-repl/Makefile.common index 9899eac343396..80c8599fbcde7 100644 --- a/lldb/test/API/lang/swift/playgrounds-repl/Makefile.common +++ b/lldb/test/API/lang/swift/playgrounds-repl/Makefile.common @@ -11,7 +11,7 @@ include Makefile.rules ifneq ($(MAKECMDGOALS),libPlaygroundsRuntime.dylib) libPlaygroundsRuntime.dylib: PlaygroundsRuntime.swift - $(MAKE) -C $(BUILDDIR) -f $(SRCDIR)/Makefile \ + "$(MAKE)" -C $(BUILDDIR) -f $(SRCDIR)/Makefile \ SWIFT_SOURCES= DYLIB_SWIFT_SOURCES=PlaygroundsRuntime.swift \ DYLIB_NAME=PlaygroundsRuntime libPlaygroundsRuntime.dylib endif diff --git a/lldb/test/API/lang/swift/playgrounds/Makefile b/lldb/test/API/lang/swift/playgrounds/Makefile index ed13c7d75a21c..6f19e462aca64 100644 --- a/lldb/test/API/lang/swift/playgrounds/Makefile +++ b/lldb/test/API/lang/swift/playgrounds/Makefile @@ -11,12 +11,12 @@ PlaygroundStub: libPlaygroundsRuntime.dylib Dylib.framework include Makefile.rules libPlaygroundsRuntime.dylib: PlaygroundsRuntime.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_SWIFT_SOURCES=PlaygroundsRuntime.swift \ DYLIB_NAME=PlaygroundsRuntime Dylib.framework: Dylib.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ FRAMEWORK=Dylib \ DYLIB_SWIFT_SOURCES=Dylib.swift \ DYLIB_NAME=Dylib \ diff --git a/lldb/test/API/lang/swift/private_discriminator/Makefile b/lldb/test/API/lang/swift/private_discriminator/Makefile index 0535e2269d7c0..b24fadf15251f 100644 --- a/lldb/test/API/lang/swift/private_discriminator/Makefile +++ b/lldb/test/API/lang/swift/private_discriminator/Makefile @@ -7,7 +7,7 @@ all: libBuilder.dylib $(EXE) include Makefile.rules libGeneric.dylib: $(SRCDIR)/Generic.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES \ DYLIB_NAME=Generic \ DYLIB_SWIFT_SOURCES=Generic.swift \ @@ -15,7 +15,7 @@ libGeneric.dylib: $(SRCDIR)/Generic.swift SWIFTFLAGS_EXTRAS=-enable-library-evolution libBuilder.dylib: $(SRCDIR)/Builder.swift libGeneric.dylib - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_ONLY=YES \ DYLIB_NAME=Builder \ DYLIB_SWIFT_SOURCES=Builder.swift \ diff --git a/lldb/test/API/lang/swift/private_generic_type/Makefile b/lldb/test/API/lang/swift/private_generic_type/Makefile index 967989630d929..97778576e84a9 100644 --- a/lldb/test/API/lang/swift/private_generic_type/Makefile +++ b/lldb/test/API/lang/swift/private_generic_type/Makefile @@ -7,7 +7,7 @@ LD_EXTRAS = -lPublic -lPrivate -L$(BUILDDIR) SWIFTFLAGS_EXTRAS = -I$(BUILDDIR) libPrivate.dylib: Private.swift - $(MAKE) MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=Private \ LD_EXTRAS="-lPublic -L$(BUILDDIR)" \ @@ -18,7 +18,7 @@ libPrivate.dylib: Private.swift -f $(MAKEFILE_RULES) libPublic.dylib: Public.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=Public \ SWIFTFLAGS_EXTRAS="-I$(BUILDDIR)" \ @@ -28,7 +28,7 @@ libPublic.dylib: Public.swift -f $(MAKEFILE_RULES) clean:: - $(MAKE) BASENAME=Private VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean - $(MAKE) BASENAME=Public VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean + "$(MAKE)" BASENAME=Private VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean + "$(MAKE)" BASENAME=Public VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean diff --git a/lldb/test/API/lang/swift/private_import/Makefile b/lldb/test/API/lang/swift/private_import/Makefile index 9e43b57e29e25..bba5f527e618b 100644 --- a/lldb/test/API/lang/swift/private_import/Makefile +++ b/lldb/test/API/lang/swift/private_import/Makefile @@ -7,13 +7,13 @@ LD_EXTRAS = -lLibrary -L$(BUILDDIR) SWIFTFLAGS_EXTRAS = -I$(BUILDDIR) libInvisible.dylib: Invisible.swift - $(MAKE) MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=NO CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=Invisible DEBUG_INFO_FLAG=-gnone \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all libLibrary.dylib: Library.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=Library \ LD_EXTRAS="-lInvisible -L$(BUILDDIR)" \ @@ -21,5 +21,5 @@ libLibrary.dylib: Library.swift VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all clean:: - $(MAKE) BASENAME=Invisible VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean - $(MAKE) BASENAME=Library VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean + "$(MAKE)" BASENAME=Invisible VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean + "$(MAKE)" BASENAME=Library VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk clean diff --git a/lldb/test/API/lang/swift/reflection_loading/Makefile b/lldb/test/API/lang/swift/reflection_loading/Makefile index ff2d0cdfbf696..4b00bf66bdb32 100644 --- a/lldb/test/API/lang/swift/reflection_loading/Makefile +++ b/lldb/test/API/lang/swift/reflection_loading/Makefile @@ -9,7 +9,7 @@ all: dylib $(EXE) include Makefile.rules dylib: lib.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES DYLIB_ONLY=YES DYLIB_NAME=dynamic_lib \ DYLIB_SWIFT_SOURCES="lib.swift" \ SWIFTFLAGS_EXTRAS="-I$(BUILDDIR) $(SWIFTFLAGS_EXTRAS)" diff --git a/lldb/test/API/lang/swift/reflection_only/Makefile b/lldb/test/API/lang/swift/reflection_only/Makefile index 2bb8804503881..e3dd056b38b74 100644 --- a/lldb/test/API/lang/swift/reflection_only/Makefile +++ b/lldb/test/API/lang/swift/reflection_only/Makefile @@ -10,7 +10,7 @@ all: dylib $(EXE) include Makefile.rules dylib: lib.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ MAKE_DSYM=YES DYLIB_ONLY=YES DYLIB_NAME=dynamic_lib \ DYLIB_SWIFT_SOURCES="lib.swift" \ DYLIB_HIDE_SWIFTMODULE=YES \ diff --git a/lldb/test/API/lang/swift/resilience/Makefile b/lldb/test/API/lang/swift/resilience/Makefile index 4d71d20270a83..4836a56867967 100644 --- a/lldb/test/API/lang/swift/resilience/Makefile +++ b/lldb/test/API/lang/swift/resilience/Makefile @@ -6,7 +6,7 @@ include Makefile.rules libmod.%.dylib: mod.%.swift ln -sf $< mod.swift $(SWIFTC) $(SWIFTFLAGS) -emit-module -module-name mod mod.swift -emit-library -o $@ -Xlinker -install_name -Xlinker @executable_path/libmod.$*.dylib -### - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ DYLIB_NAME=mod \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all @@ -22,7 +22,7 @@ main.%: main.swift ln -sf libmod.$*.dylib.dSYM libmod.dylib.dSYM ln -sf mod.$*.swiftdoc mod.swiftdoc ln -sf mod.$*.swiftinterface mod.swiftinterface - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/exe.mk all mv main main.$* diff --git a/lldb/test/API/lang/swift/static_framework/Makefile b/lldb/test/API/lang/swift/static_framework/Makefile index c5752eaf52e27..6fb56547e7c4a 100644 --- a/lldb/test/API/lang/swift/static_framework/Makefile +++ b/lldb/test/API/lang/swift/static_framework/Makefile @@ -9,7 +9,7 @@ all: $(FRAMEWORKS) dylib $(EXE) include Makefile.rules lib%.a: %.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=static \ SWIFT_SOURCES=$(patsubst lib%.a,%.swift,$@) \ MODULENAME=$(patsubst lib%.a,%,$@) \ @@ -28,7 +28,7 @@ lib%.a: %.swift mv $(BUILDDIR)/$(patsubst lib%.a,%.swiftinterface,$<) $(BUILDDIR)/$@/Modules/ dylib: Dylib.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=Dylib \ DYLIB_SWIFT_SOURCES=Dylib.swift \ DYLIB_MODULENAME=Dylib \ diff --git a/lldb/test/API/lang/swift/static_linking/macOS/Makefile b/lldb/test/API/lang/swift/static_linking/macOS/Makefile index 2ffb8ad38fcad..bbceb5c43dc28 100755 --- a/lldb/test/API/lang/swift/static_linking/macOS/Makefile +++ b/lldb/test/API/lang/swift/static_linking/macOS/Makefile @@ -23,7 +23,7 @@ ifneq "$(CODESIGN)" "" endif %.swift.o: %.swift - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=$(patsubst %.swift.o,%,$@) \ SWIFT_SOURCES=$(patsubst %.swift.o,%.swift,$@) \ SWIFT_OBJC_HEADER=$(patsubst %.swift.o,%-swift.h,$@) \ diff --git a/lldb/test/API/lang/swift/swift_version/Makefile b/lldb/test/API/lang/swift/swift_version/Makefile index da1b11f66cfa9..41a3b6840ccd0 100644 --- a/lldb/test/API/lang/swift/swift_version/Makefile +++ b/lldb/test/API/lang/swift/swift_version/Makefile @@ -11,7 +11,7 @@ MOD5_FLAGS = -swift-version 5 MOD4_FLAGS = -swift-version 4 libmod%.dylib: mod%.swift - $(MAKE) MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=YES CC=$(CC) SWIFTC=$(SWIFTC) \ SWIFTFLAGS_EXTRAS="$(MOD$*_FLAGS)" \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ BASENAME=$(shell basename $< .swift) \ diff --git a/lldb/test/API/lang/swift/typealias/Makefile b/lldb/test/API/lang/swift/typealias/Makefile index 361f391d1e95b..4cdc7f1a6d3b7 100644 --- a/lldb/test/API/lang/swift/typealias/Makefile +++ b/lldb/test/API/lang/swift/typealias/Makefile @@ -8,7 +8,7 @@ include Makefile.rules .PHONY: dylib dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) \ -f $(THIS_FILE_DIR)/Makefile.rules \ diff --git a/lldb/test/API/lang/swift/unit-tests/Makefile b/lldb/test/API/lang/swift/unit-tests/Makefile index 039b53094d65d..cd208655b3f05 100644 --- a/lldb/test/API/lang/swift/unit-tests/Makefile +++ b/lldb/test/API/lang/swift/unit-tests/Makefile @@ -6,11 +6,11 @@ include Makefile.rules .PHONY: dylib dylib: - $(MAKE) MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ + "$(MAKE)" MAKE_DSYM=$(MAKE_DSYM) CC=$(CC) SWIFTC=$(SWIFTC) \ ARCH=$(ARCH) DSYMUTIL=$(DSYMUTIL) \ VPATH=$(SRCDIR) -I $(SRCDIR) -f $(SRCDIR)/dylib.mk all clean:: rm -rf *.o *.dSYM *.dylib *.swiftdoc *.swiftmodule *.xctest xctest - $(MAKE) VPATH=$(SRCDIR) -f $(SRCDIR)/dylib.mk clean + "$(MAKE)" VPATH=$(SRCDIR) -f $(SRCDIR)/dylib.mk clean diff --git a/lldb/test/API/repl/cpp_exceptions/Makefile b/lldb/test/API/repl/cpp_exceptions/Makefile index 764b51d406993..0ace69cd18b2b 100644 --- a/lldb/test/API/repl/cpp_exceptions/Makefile +++ b/lldb/test/API/repl/cpp_exceptions/Makefile @@ -8,7 +8,7 @@ include Makefile.rules libCppLib.dylib: CppLib/CppLib.cpp mkdir -p CppLib - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=CppLib DYLIB_ONLY=YES CXXFLAGS_EXTRAS=-fPIC \ DYLIB_CXX_SOURCES="CppLib/CppLib.cpp CppLib/CppLibWrapper.cpp" install_name_tool -id $@ $@ @@ -17,7 +17,7 @@ ifneq "$(CODESIGN)" "" endif libWrapper.dylib: libCppLib.dylib - $(MAKE) -f $(MAKEFILE_RULES) \ + "$(MAKE)" -f $(MAKEFILE_RULES) \ DYLIB_NAME=Wrapper DYLIB_SWIFT_SOURCES=wrapper.swift \ LD_EXTRAS="$(LD_EXTRAS)" \ SWIFTFLAGS_EXTRAS="-I$(SRCDIR) -L. -lCppLib -module-link-name Wrapper" From 62b96261f6cac013ba6d87ec824fcbfd4b3ca6d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Mon, 14 Oct 2024 15:33:49 +0200 Subject: [PATCH 15/16] Propagate SDKROOT env var in Shell tests on Windows We need the manual lookup in lldb/source/Host/windows/HostInfoWindowsSwift.cpp to succeed. Otherwise SwiftASTContext::CreateInstance() fails with: Cannot create Swift scratch context (couldn't load the Swift stdlib) --- lldb/test/Shell/helper/toolchain.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lldb/test/Shell/helper/toolchain.py b/lldb/test/Shell/helper/toolchain.py index d9702f21641b6..66f7d33e7de9e 100644 --- a/lldb/test/Shell/helper/toolchain.py +++ b/lldb/test/Shell/helper/toolchain.py @@ -149,7 +149,16 @@ def use_support_substitutions(config): sdk_path = lit.util.to_string(out) llvm_config.lit_config.note("using SDKROOT: %r" % sdk_path) host_flags += ["-isysroot", sdk_path] - elif sys.platform != "win32": + elif sys.platform == "win32": + # Required in SwiftREPL tests + sdk_path = os.environ.get("SDKROOT") + if sdk_path: + llvm_config.lit_config.note(f"using SDKROOT: {sdk_path}") + llvm_config.with_environment("SDKROOT", sdk_path) + else: + llvm_config.lit_config.warning( + "mandatory environment variable not found: SDKROOT") + else: host_flags += ["-pthread"] config.target_shared_library_suffix = ( From 9b4247df442803bf04fce76ed9cc5947d6a59960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Tue, 15 Oct 2024 13:15:19 +0200 Subject: [PATCH 16/16] [lldb][swift] Check runtime dependencies of SwiftREPL tests in local lit config These binaries only exists if the Swift runtime was built correctly. We cannot check them at configuration time, because they might not exist yet. --- lldb/test/Shell/SwiftREPL/lit.local.cfg | 11 +++++++++++ lldb/test/Shell/lit.site.cfg.py.in | 1 + 2 files changed, 12 insertions(+) diff --git a/lldb/test/Shell/SwiftREPL/lit.local.cfg b/lldb/test/Shell/SwiftREPL/lit.local.cfg index 29d485ea63774..539418112b925 100644 --- a/lldb/test/Shell/SwiftREPL/lit.local.cfg +++ b/lldb/test/Shell/SwiftREPL/lit.local.cfg @@ -2,3 +2,14 @@ config.suffixes = ['.test'] if 'lldb-repro' in config.available_features: config.unsupported = True + +def check_exists(path): + import os + if not os.path.isfile(path): + lit_config.warning(f"Runtime dependency not found: {path}") + +# Check runtime dependencies for SwiftREPL tests on Windows +if sys.platform == "win32": + host_arch = config.host_triple.split("-")[0] + check_exists(f"{config.swift_libs_dir}/windows/{host_arch}/swiftrt.obj") + check_exists(f"{config.llvm_shlib_dir}/swiftCore.dll") diff --git a/lldb/test/Shell/lit.site.cfg.py.in b/lldb/test/Shell/lit.site.cfg.py.in index 5e4e2676219f3..d0b8a6be6f9cd 100644 --- a/lldb/test/Shell/lit.site.cfg.py.in +++ b/lldb/test/Shell/lit.site.cfg.py.in @@ -17,6 +17,7 @@ config.cmake_sysroot = lit_config.substitute("@CMAKE_SYSROOT@") config.target_triple = "@LLVM_TARGET_TRIPLE@" config.python_executable = "@Python3_EXECUTABLE@" config.swiftc = "@LLDB_SWIFTC@" +config.swift_libs_dir = '@LLDB_SWIFT_LIBS@' config.lldb_enable_swift = @LLDB_ENABLE_SWIFT_SUPPORT@ config.have_zlib = @LLVM_ENABLE_ZLIB@ config.objc_gnustep_dir = "@LLDB_TEST_OBJC_GNUSTEP_DIR@"