[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 13:13:20 PST 2015
Tested this on Windows, seems to work fine. r253501 has a minor fix that
was causing a CMake warning, but overall everything works great. Happy to
see progress on this front.
On Wed, Nov 18, 2015 at 12:47 PM Todd Fiala <todd.fiala at gmail.com> wrote:
> BTW if you cook up something on the swig-as-a-service end that ends up
> working to eliminate the need for swig, I'll be happy to remove the static
> binding support at that point.
>
> -Todd
>
> On Wed, Nov 18, 2015 at 12:45 PM, Todd Fiala <todd.fiala at gmail.com> wrote:
>
>>
>> On Wed, Nov 18, 2015 at 11:55 AM, Zachary Turner <zturner at google.com>
>> wrote:
>>
>>> By the way, it would be great if we could kill this
>>> modify-lldb-python.py.
>>>
>>
>> I'm totally up for that.
>>
>>
>>> 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.
>>>
>>>
>> Sounds like a great idea. I'd love to get rid of some post-processing
>> steps.
>>
>>
>>>
>>> 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
>>>>>
>>>>
>>
>>
>> --
>> -Todd
>>
>
>
>
> --
> -Todd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151118/24c81f03/attachment-0001.html>
More information about the lldb-commits
mailing list