[Lldb-commits] [PATCH] linux: fix include in lldb.swig
Greg Clayton
gclayton at apple.com
Wed Dec 15 13:36:13 PST 2010
On Dec 15, 2010, at 1:31 PM, Stephen Wilson wrote:
>
> Hi Greg,
>
> Greg Clayton <gclayton at apple.com> writes:
>
>> I am not sure this is what we want either. We want the UINT32_MAX and friends to
>> be defined in the generated SWIG file since we use them to test for invalid
>> indexes (much like in the "uint32_t SBBreakpoint::GetThreadIndex() const"
>> function. Can you try setting your PYTHONPATH to point to the lldb.so on linux
>> (the lldb.py file needs to be in the same directory and then make and run this
>> python script:
>
> I hope this question is not too stupid, but where is lldb.py? I see a
> reference in dotest.py indicating that it is distributed with XCode4.
> If it is not in the lldb tree, do you have a link handy (google can't
> seem to help me here)?
the swig invocation should produce the lldb.py file. Not sure where it will end up on linux, possibly next to the "lldb" binary?
>
>> % setenv PYTHONPATH /build/Debug/LLDB.framework/Resources/Python % cat
>> dirlldb.py #!/usr/bin/python import lldb print dir(lldb)
>>
>>
>> If I do this on MacOSX I see all of the stuff from stdint.h:
>>
>> % ./dirlldb.py ['INT16_MAX', 'INT16_MIN', 'INT32_MAX', 'INT32_MIN', 'INT64_MAX',
>> INT64_MIN', 'INT8_MAX', 'INT8_MIN', 'INTMAX_MAX', 'INTMAX_MIN', 'INTPTR_MAX',
>> INTPTR_MIN', 'INT_FAST16_MAX', 'INT_FAST16_MIN', 'INT_FAST32_MAX',
>> INT_FAST32_MIN', 'INT_FAST64_MAX', 'INT_FAST64_MIN', 'INT_FAST8_MAX',
>> INT_FAST8_MIN', 'INT_LEAST16_MAX', 'INT_LEAST16_MIN', 'INT_LEAST32_MAX',
>> INT_LEAST32_MIN', 'INT_LEAST64_MAX', 'INT_LEAST64_MIN', 'INT_LEAST8_MAX',
>> INT_LEAST8_MIN', 'LLDB_ARCH_DEFAULT', ...
>>
>> Do you still see these in the resulting SWIG module when you use #include?
>>
>>
>> On Dec 15, 2010, at 12:28 PM, Stephen Wilson wrote:
>>
>>> I would appreciate it if someone with experience in Swig could look this one
>>> over. I am not 100% positive this is the proper fix.
>>>
>>>
>>> Use #include rather than the Swig %include directive.
>>>
>>> In order to use the %include directive Swig needs to be instructed as to
>>> the search path. However, Swig 1.3.40 cannot process stdint.h provided by
>>> glibc. This fix takes advantage of the fact that, by default, Swig does not
>>> process headers introduced via #include.
>>>
>>> diff --git a/scripts/lldb.swig b/scripts/lldb.swig index 95c409e..63167c8
>>> 100644 --- a/scripts/lldb.swig +++ b/scripts/lldb.swig @@ -97,7 +97,7 @@ %}
>>>
>>> /* Various liblldb typedefs that SWIG needs to know about. */ -%include
>>> <stdint.h> +#include <stdint.h> %include "lldb/lldb-defines.h" %include
>>> "lldb/lldb-enumerations.h" %include "lldb/lldb-forward.h"
>>> _______________________________________________ lldb-commits mailing list
>>> lldb-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>
>
> --
> steve
More information about the lldb-commits
mailing list