[Lldb-commits] [PATCH] linux: fix include in lldb.swig
Greg Clayton
gclayton at apple.com
Wed Dec 15 13:03:50 PST 2010
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:
% 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
More information about the lldb-commits
mailing list