summaryrefslogtreecommitdiffstats
path: root/lldb/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/scripts')
-rw-r--r--lldb/scripts/CMakeLists.txt13
-rw-r--r--lldb/scripts/Python/prepare_binding_Python.py56
2 files changed, 36 insertions, 33 deletions
diff --git a/lldb/scripts/CMakeLists.txt b/lldb/scripts/CMakeLists.txt
index d7c5e67963f..18389c6c69d 100644
--- a/lldb/scripts/CMakeLists.txt
+++ b/lldb/scripts/CMakeLists.txt
@@ -35,12 +35,13 @@ add_custom_command(
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Python/prepare_binding_Python.py
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Python/modify-python-lldb.py
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/prepare_bindings.py
- ${framework_arg}
- "--srcRoot=${LLDB_SOURCE_DIR}"
- "--targetDir=${LLDB_PYTHON_TARGET_DIR}"
- "--cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}"
- "--prefix=${CMAKE_BINARY_DIR}"
- "--swigExecutable=${SWIG_EXECUTABLE}"
+ ${framework_arg}
+ --srcRoot=${LLDB_SOURCE_DIR}
+ --targetDir=${LLDB_PYTHON_TARGET_DIR}
+ --cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}
+ --prefix=${CMAKE_BINARY_DIR}
+ --swigExecutable=${SWIG_EXECUTABLE}
+ VERBATIM
COMMENT "Python script building LLDB Python wrapper")
set_source_files_properties(${LLDB_WRAP_PYTHON} PROPERTIES GENERATED 1)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/lldb.py PROPERTIES GENERATED 1)
diff --git a/lldb/scripts/Python/prepare_binding_Python.py b/lldb/scripts/Python/prepare_binding_Python.py
index 107f8970f44..cf64d49504f 100644
--- a/lldb/scripts/Python/prepare_binding_Python.py
+++ b/lldb/scripts/Python/prepare_binding_Python.py
@@ -196,34 +196,37 @@ def do_swig_rebuild(options, dependency_file, config_build_dir, settings):
temp_dep_file_path = dependency_file + ".tmp"
# Build the SWIG args list
- command = [
- options.swig_executable,
- "-c++",
- "-shadow",
- "-python",
- "-threads",
- "-I\"%s\"" % os.path.normcase(
- os.path.join(options.src_root, "include")),
- "-I\"%s\"" % os.path.normcase("./."),
- "-D__STDC_LIMIT_MACROS",
- "-D__STDC_CONSTANT_MACROS"]
- if options.target_platform == "Darwin":
- command.append("-D__APPLE__")
- if options.generate_dependency_file:
- command.append("-MMD -MF \"%s\"" % temp_dep_file_path)
- command.extend([
- "-outdir", "\"%s\"" % config_build_dir,
- "-o", "\"%s\"" % settings.output_file,
- "\"%s\"" % settings.input_file
- ])
- logging.info("running swig with: %s", command)
+ is_darwin = options.target_platform == "Darwin"
+ gen_deps = options.generate_dependency_file
+ darwin_extras = ["-D__APPLE__"] if is_darwin else []
+ deps_args = ["-MMD", "-MF", temp_dep_file_path] if gen_deps else []
+ command = ([
+ options.swig_executable,
+ "-c++",
+ "-shadow",
+ "-python",
+ "-threads",
+ "-I" + os.path.normpath(os.path.join(options.src_root, "include")),
+ "-I" + os.path.curdir,
+ "-D__STDC_LIMIT_MACROS",
+ "-D__STDC_CONSTANT_MACROS"
+ ]
+ + darwin_extras
+ + deps_args
+ + [
+ "-outdir", config_build_dir,
+ "-o", settings.output_file,
+ settings.input_file
+ ]
+ )
+ logging.info("running swig with: %r", command)
# Execute swig
process = subprocess.Popen(
- ' '.join(command),
+ command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
- shell=True)
+ )
# Wait for SWIG process to terminate
swig_stdout, swig_stderr = process.communicate()
return_code = process.returncode
@@ -265,15 +268,14 @@ def run_python_script(script_and_args):
the command line arguments to pass to it.
"""
command = [sys.executable] + script_and_args
- command_line = " ".join(command)
- process = subprocess.Popen(command, shell=False)
+ process = subprocess.Popen(command)
script_stdout, script_stderr = process.communicate()
return_code = process.returncode
if return_code != 0:
- logging.error("failed to run '%s': %s", command_line, script_stderr)
+ logging.error("failed to run %r: %r", command, script_stderr)
sys.exit(return_code)
else:
- logging.info("ran script '%s'", command_line)
+ logging.info("ran script %r'", command)
if script_stdout is not None:
logging.info("output: %s", script_stdout)
OpenPOWER on IntegriCloud