------------------------------------------------------
IDAPython - Python plugin for Interactive Disassembler
------------------------------------------------------
Building From Source
--------------------

REQUIREMENTS
------------

[Tested versions are in brackets]


 - IDA and IDA SDK [> 5.6]
   http://www.hex-rays.com/idapro/

 - Python [2.5.1, 2.6.1, 2.7]
   http://www.python.org/

 - Simplified Wrapper Interface Generator (SWIG) [2.0]
   http://www.swig.org/

 - Unix utilities (GNU patch on Windows):
   http://www.research.att.com/sw/tools/uwin/ or
   http://unxutils.sourceforge.net/  or
   http://www.cygwin.com/

 - GCC on Linux and Mac OS X [4.0.1, 4.1.3]
   Comes with your distribution

 - Microsoft Visual C on Windows [Microsoft Visual C++ 2008 Express Edition]
   http://msdn.microsoft.com/vstudio/express/visualc/


BUILDING
--------

Make sure all the needed tools (compiler, swig) are on the PATH.

1. Unpack the IDAPython source and IDA SDK into the following
   directory structure:

   swigsdk-versions/x.y/          - A supported version of the IDA SDK
   idapython/                     - IDAPython source code

Note: To build with Hex-Rays decompiler support, please copy hexrays.hpp from
      the decompiler SDK folder into IDA's include folder (in the SDK).

2. On Mac OS X copy libida.dylib from the IDA install directory to
   swigsdk-versions/x.y/lib/x86_mac_gcc_32/
    and libida64.dylib to
   swigsdk-versions/x.y/lib/x86_mac_gcc_64/

3. Build the plugin

   python build.py

   It is possible to build the plugin for different Python versions by
   running build.py with the corresponding Python binary.

   Run 'build.py --help' for more information.

4. Install the components as described in README.txt

See build.py for build details and possible tweaks.

On 64 bits distributions, you may need to compile Python to generate a 32bit
version of the interpreter:

1. tar xvf Python-2.6.6.tar.bz2
2. cd Python-2.6.6
3. CC="gcc -m32" CXX="c++ -m32" ./configure --prefix=/path/to/py32 --enable-shared
4. make
5. make install
6. cd /path/to/py32/lib
7. ln -s libpython2.6.so.1.0 libpython2.6.so.1
8. PYTHONHOME=/path/to/py32 LD_LIBRARY_PATH=/path/to/py32/lib idaq
