[Lldb-commits] [PATCH] D12667: [cmake] Remove LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION.
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Sun Sep 6 09:09:01 PDT 2015
Looks good, thanks
On Sun, Sep 6, 2015 at 8:06 AM Bruce Mitchener <bruce.mitchener at gmail.com>
wrote:
> brucem created this revision.
> brucem added reviewers: zturner, clayborg, labath.
> brucem added a subscriber: lldb-commits.
>
> This should be a mandatory build process going forward, if Python
> is enabled. The longer term desire is to remove the old shell
> scripts entirely.
>
> http://reviews.llvm.org/D12667
>
> Files:
> CMakeLists.txt
> cmake/modules/LLDBConfig.cmake
> scripts/CMakeLists.txt
>
> Index: scripts/CMakeLists.txt
> ===================================================================
> --- scripts/CMakeLists.txt
> +++ scripts/CMakeLists.txt
> @@ -9,49 +9,26 @@
> ${LLDB_SOURCE_DIR}/include/lldb/lldb-versioning.h
> )
>
> -if ( LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION )
> - find_package(SWIG REQUIRED)
> - add_custom_command(
> - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> - DEPENDS ${SWIG_SOURCES}
> - DEPENDS ${SWIG_INTERFACES}
> - DEPENDS ${SWIG_HEADERS}
> - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/buildSwigWrapperClasses.py
> - COMMAND ${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/buildSwigWrapperClasses.py
> "--srcRoot=${LLDB_SOURCE_DIR}" "--targetDir=${CMAKE_CURRENT_BINARY_DIR}"
> "--cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}" "--prefix=${CMAKE_BINARY_DIR}"
> "--swigExecutable=${SWIG_EXECUTABLE}" -m
> - COMMENT "Python script building LLDB Python wrapper")
> -
> set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> PROPERTIES GENERATED 1)
> +find_package(SWIG REQUIRED)
> +add_custom_command(
> + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> + DEPENDS ${SWIG_SOURCES}
> + DEPENDS ${SWIG_INTERFACES}
> + DEPENDS ${SWIG_HEADERS}
> + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/buildSwigWrapperClasses.py
> + COMMAND ${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/buildSwigWrapperClasses.py
> "--srcRoot=${LLDB_SOURCE_DIR}" "--targetDir=${CMAKE_CURRENT_BINARY_DIR}"
> "--cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}" "--prefix=${CMAKE_BINARY_DIR}"
> "--swigExecutable=${SWIG_EXECUTABLE}" -m
> + COMMENT "Python script building LLDB Python wrapper")
> +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> PROPERTIES GENERATED 1)
>
> - add_custom_target(swig_wrapper ALL
> - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> - )
> +add_custom_target(swig_wrapper ALL
> + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> + )
>
> - # Install the LLDB python module on all operating systems (except
> Windows)
> - if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
> - install(DIRECTORY
> ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
> - DESTINATION lib${LLVM_LIBDIR_SUFFIX})
> - endif()
> -else ()
> - add_custom_command(
> - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> - DEPENDS ${SWIG_SOURCES}
> - DEPENDS ${SWIG_INTERFACES}
> - # swig was directly invoked on Windows (where the Python API is not
> being generated) but on other platforms, we need to run the
> *swig-wrapper-classes.sh shell-scripts.
> - #COMMAND swig -c++ -shadow -python -I${LLDB_SOURCE_DIR}/include -I./.
> -outdir ${LLDB_SOURCE_DIR}/scripts/Python -o
> ${LLDB_SOURCE_DIR}/source/LLDBWrapPython.cpp
> ${LLDB_SOURCE_DIR}/scripts/lldb.swig
> - COMMAND env PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/build-swig-wrapper-classes.sh
> ${LLDB_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
> ${CMAKE_BINARY_DIR} -m
> - COMMAND env PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/finish-swig-wrapper-classes.sh
> ${LLDB_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
> ${CMAKE_BINARY_DIR} -m
> - COMMENT "Building lldb python wrapper")
> -
> set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> PROPERTIES GENERATED 1)
> -
> - add_custom_target(swig_wrapper ALL
> - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
> - )
> -
> - # Install the LLDB python module on all operating systems (except
> Windows)
> - if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
> - install(DIRECTORY
> ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
> - DESTINATION lib${LLVM_LIBDIR_SUFFIX})
> - endif()
> -endif ()
> +# Install the LLDB python module on all operating systems (except Windows)
> +if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
> + install(DIRECTORY
> ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
> + DESTINATION lib${LLVM_LIBDIR_SUFFIX})
> +endif()
>
> # build Python modules
> add_subdirectory(Python/modules)
> Index: cmake/modules/LLDBConfig.cmake
> ===================================================================
> --- cmake/modules/LLDBConfig.cmake
> +++ cmake/modules/LLDBConfig.cmake
> @@ -26,8 +26,6 @@
> set(LLDB_DISABLE_CURSES ${LLDB_DEFAULT_DISABLE_CURSES} CACHE BOOL
> "Disables the Curses integration.")
>
> -set(LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION 1 CACHE BOOL
> - "Enables using new Python scripts for SWIG API generation .")
> set(LLDB_RELOCATABLE_PYTHON 0 CACHE BOOL
> "Causes LLDB to use the PYTHONHOME environment variable to locate
> Python.")
>
> Index: CMakeLists.txt
> ===================================================================
> --- CMakeLists.txt
> +++ CMakeLists.txt
> @@ -15,7 +15,7 @@
> add_subdirectory(unittests)
> add_subdirectory(lit)
>
> -if ( LLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION AND NOT
> LLDB_DISABLE_PYTHON )
> +if (NOT LLDB_DISABLE_PYTHON)
> # Add a Post-Build Event to copy over Python files and create the
> symlink to liblldb.so for the Python API(hardlink on Windows)
> add_custom_target( finish_swig ALL
> COMMAND ${PYTHON_EXECUTABLE}
> ${CMAKE_CURRENT_SOURCE_DIR}/scripts/finishSwigWrapperClasses.py
> "--srcRoot=${LLDB_SOURCE_DIR}"
> "--targetDir=${CMAKE_CURRENT_BINARY_DIR}/scripts"
> "--cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}/scripts"
> "--prefix=${CMAKE_BINARY_DIR}"
> "--cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}" -m
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150906/1da9d1eb/attachment.html>
More information about the lldb-commits
mailing list