Fix SBDebugger.GetOutputFileHandle() on OS X.
authorJim Ingham <jingham@apple.com>
Fri, 11 Mar 2016 01:57:45 +0000 (01:57 +0000)
committerJim Ingham <jingham@apple.com>
Fri, 11 Mar 2016 01:57:45 +0000 (01:57 +0000)
commitd815c9ab88fd537f7d54c0a6bd0fc6d7f4361c23
tree59dafafbe61537f293d7e98776ee6c8fa1237d2f
parentb1069239a0260bf9998a6da15a6d10778274ba45
Fix SBDebugger.GetOutputFileHandle() on OS X.

The swig typemaps had some magic for output File *'s on OS X that made:

SBDebugger.GetOutputFileHandle()

actually work.  That was protected by a "#ifdef __MACOSX__", but the corresponding define
got lost going from the Darwin shell scripts to the python scripts for running
swig, so the code was elided.  I need to pass the define to SWIG, but only when
targetting Darwin.

So I added a target-platform argument to prepare_bindings, and if that
is Darwin, I pass -D__APPLE__ to swig, and that activates this code again, and
GetOutputFileHandle works again.  Note, I only pass that argument for the Xcode
build.  I'm sure it is possible to do that for cmake, but my cmake-foo is weak.

I should have been able to write a test for this by creating a debugger, setting the
output file handle to something file, writing to it, getting the output file handle
and reading it.  But SetOutputFileHandle doesn't seem to work from Python, so I'd
have to write a pexpect test to test this, which I'd rather not do.

llvm-svn: 263183
lldb/lldb.xcodeproj/project.pbxproj
lldb/scripts/Python/prepare_binding_Python.py
lldb/scripts/Python/python-typemaps.swig
lldb/scripts/prepare_bindings.py