[Lldb-commits] [lldb] r253478 - Switched cmake build from using buildSwigWrapperClases.py to the cleaned up version.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 18 11:55:16 PST 2015


By the way, it would be great if we could kill this modify-lldb-python.py.
It seems like a total hackjob, and there's nothing it does that can't be
done better by wrapping the lldb module instead of modifying it.

For example, it goes through and injects a bunch of methods to classes in
the lldb module.  But if, instead of renaming lldb.py to __init__.py, we
renamed it to lldb_internal.py, and then we can actually check in an
__init__.py that does this:

from lldb_internal import *

# Loop over each class in lldb_internal, injecting methods
# and modifying the types / classes as necessary

Then this would be much better, as it eliminates a post processing step and
allows easier maintenance of this code.

On Wed, Nov 18, 2015 at 10:37 AM Zachary Turner <zturner at google.com> wrote:

> Yea, this is the right one.  Thanks!  I haven't tested this yet, but I
> will later.  (Our buildbot currently builds with LLDB_DISABLE_PYTHON=1, so
> if there is a problem with this, the Windows buildbot wouldn't pick it up,
> although the others probably would)
>
> On Wed, Nov 18, 2015 at 10:14 AM Todd Fiala <todd.fiala at gmail.com> wrote:
>
>> If I have that right, we're fine.  The prepare_bindings.py still calls
>> modify-python-lldb.py.
>>
>> scripts/prepare_bindings.py is meant to be the same as
>> createSwigBindings.py, and scripts/python/prepare_binding_Python.py is
>> meant to be the same as buildSwigPython.py.
>>
>> Once I make sure that I haven't broken anything for anybody with it, I'll
>> get rid of the other scripts.
>>
>> On Wed, Nov 18, 2015 at 10:09 AM, Todd Fiala <todd.fiala at gmail.com>
>> wrote:
>>
>>> You're talking about this change, right?  (I'm looking at it now...)
>>>
>>> commit cc353bbc992ab324aef395c54a2a46fcaaa3855b
>>> Author: Zachary Turner <zturner at google.com>
>>> Date:   Mon Nov 16 22:40:20 2015 +0000
>>>
>>>     Insert the SWIG version into LLDB's __init__.py
>>>
>>>     The goal here is to allow us to add skip / xfail decorators
>>>     based on SWIG version.
>>>
>>>     git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@253262
>>> 91177308-0d34-0410-b5e6-96231b3b80d8
>>>
>>>
>>> On Wed, Nov 18, 2015 at 10:07 AM, Todd Fiala <todd.fiala at gmail.com>
>>> wrote:
>>>
>>>> Double checking now, if it happens in that lldb-modify script, we're
>>>> covered.  Otherwise I need to adjust...  (the bulk of the rewrite happened
>>>> on Friday/Sunday).
>>>>
>>>> On Wed, Nov 18, 2015 at 9:47 AM, Zachary Turner <zturner at google.com>
>>>> wrote:
>>>>
>>>>> Just to be sure, did you catch the change I made to the old scripts in
>>>>> the past few days to embed the swig version in the generated lldb.py?
>>>>> Maybe you did, I just want to make sure that change is in your new version.
>>>>>
>>>>> On Wed, Nov 18, 2015 at 9:38 AM Todd Fiala via lldb-commits <
>>>>> lldb-commits at lists.llvm.org> wrote:
>>>>>
>>>>>> Author: tfiala
>>>>>> Date: Wed Nov 18 11:36:15 2015
>>>>>> New Revision: 253478
>>>>>>
>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=253478&view=rev
>>>>>> Log:
>>>>>> Switched cmake build from using buildSwigWrapperClases.py to the
>>>>>> cleaned up version.
>>>>>>
>>>>>> This change does not introduce static bindings.  It is simply using
>>>>>> the pylinted cleaned up code in prepare_bindings.py.
>>>>>>
>>>>>> If this breaks anyting, I'll revert immediately and figure out what
>>>>>> needs to be addressed.  I'm looking to wrap up
>>>>>> the cleanup aspect of the code change (pylinted, removal of code that
>>>>>> implements existing python stdlib code, fixes for Xcode adoption,
>>>>>> etc.).
>>>>>>
>>>>>> Modified:
>>>>>>     lldb/trunk/CMakeLists.txt
>>>>>>     lldb/trunk/scripts/CMakeLists.txt
>>>>>>
>>>>>> Modified: lldb/trunk/CMakeLists.txt
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/CMakeLists.txt?rev=253478&r1=253477&r2=253478&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- lldb/trunk/CMakeLists.txt (original)
>>>>>> +++ lldb/trunk/CMakeLists.txt Wed Nov 18 11:36:15 2015
>>>>>> @@ -33,6 +33,7 @@ if (NOT LLDB_DISABLE_PYTHON)
>>>>>>      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
>>>>>>          DEPENDS
>>>>>> ${CMAKE_CURRENT_SOURCE_DIR}/scripts/finishSwigWrapperClasses.py
>>>>>> +        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/lldb.py
>>>>>>          COMMENT "Python script sym-linking LLDB Python API")
>>>>>>      # We depend on liblldb being built before we can do this step.
>>>>>>      add_dependencies(finish_swig liblldb lldb-argdumper)
>>>>>>
>>>>>> Modified: lldb/trunk/scripts/CMakeLists.txt
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/CMakeLists.txt?rev=253478&r1=253477&r2=253478&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- lldb/trunk/scripts/CMakeLists.txt (original)
>>>>>> +++ lldb/trunk/scripts/CMakeLists.txt Wed Nov 18 11:36:15 2015
>>>>>> @@ -18,9 +18,10 @@ add_custom_command(
>>>>>>    DEPENDS ${SWIG_HEADERS}
>>>>>>    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Python/buildSwigPython.py
>>>>>>    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Python/modify-python-lldb.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
>>>>>> +  COMMAND ${PYTHON_EXECUTABLE}
>>>>>> ${CMAKE_CURRENT_SOURCE_DIR}/prepare_bindings.py
>>>>>> "--srcRoot=${LLDB_SOURCE_DIR}" "--targetDir=${CMAKE_CURRENT_BINARY_DIR}"
>>>>>> "--cfgBldDir=${CMAKE_CURRENT_BINARY_DIR}" "--prefix=${CMAKE_BINARY_DIR}"
>>>>>> "--swigExecutable=${SWIG_EXECUTABLE}"
>>>>>>    COMMENT "Python script building LLDB Python wrapper")
>>>>>>  set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
>>>>>> PROPERTIES GENERATED 1)
>>>>>> +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/lldb.py
>>>>>> PROPERTIES GENERATED 1)
>>>>>>
>>>>>>  add_custom_target(swig_wrapper ALL
>>>>>>    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/LLDBWrapPython.cpp
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> lldb-commits mailing list
>>>>>> lldb-commits at lists.llvm.org
>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> -Todd
>>>>
>>>
>>>
>>>
>>> --
>>> -Todd
>>>
>>
>>
>>
>> --
>> -Todd
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151118/0a50e84a/attachment.html>


More information about the lldb-commits mailing list