From 94eb010fe9a6cfe8bf1f03b8ce4cc406d56472ee Mon Sep 17 00:00:00 2001 From: Todd Fiala Date: Thu, 26 May 2016 13:57:03 +0000 Subject: Add "-gmodules" support to the test suite. This change adds the capability of building test inferiors with the -gmodules flag to enable module debug info support. Windows is excluded per @zturner. Reviewers: granata.enrico, aprantl, zturner, labath Subscribers: zturner, labath, lldb-commits Differential Revision: http://reviews.llvm.org/D19998 llvm-svn: 270848 --- lldb/packages/Python/lldbsuite/support/gmodules.py | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lldb/packages/Python/lldbsuite/support/gmodules.py (limited to 'lldb/packages/Python/lldbsuite/support/gmodules.py') diff --git a/lldb/packages/Python/lldbsuite/support/gmodules.py b/lldb/packages/Python/lldbsuite/support/gmodules.py new file mode 100644 index 00000000000..4f2fd9643b1 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/support/gmodules.py @@ -0,0 +1,30 @@ +from __future__ import absolute_import +from __future__ import print_function + +# System modules +import os +import re + + +GMODULES_SUPPORT_MAP = {} +GMODULES_HELP_REGEX = re.compile(r"\s-gmodules\s") + + +def is_compiler_clang_with_gmodules(compiler_path): + # Before computing the result, check if we already have it cached. + if compiler_path in GMODULES_SUPPORT_MAP: + return GMODULES_SUPPORT_MAP[compiler_path] + + def _gmodules_supported_internal(): + compiler = os.path.basename(compiler_path) + if "clang" not in compiler: + return False + else: + # Check the compiler help for the -gmodules option. + clang_help = os.popen("%s --help" % compiler_path).read() + return GMODULES_HELP_REGEX.search(clang_help, re.DOTALL) is not None + + GMODULES_SUPPORT_MAP[compiler_path] = _gmodules_supported_internal() + return GMODULES_SUPPORT_MAP[compiler_path] + + -- cgit v1.2.3