Description: Fix build system for Python bindings.
 The build system in capstone for the Python bindings works by installing
 the library with the headers, and then building the bindings.  Change that
 to allow building them in the same run we create the library, and search
 for the versioned library instead of the .so one, removing the dependency
 on libcapstone-dev.
Author: David Martínez Moreno <ender@debian.org>
Forwarded: no
Last-Update: 2015-02-25

--- a/bindings/python/setup_cython.py
+++ b/bindings/python/setup_cython.py
@@ -6,25 +6,27 @@ from Cython.Distutils import build_ext
 VERSION = '3.0.2'
 
 compile_args = ['-O3', '-fomit-frame-pointer']
+include_dirs = ['../../../include']
+library_dirs = ['../../../']
 
 ext_modules = [
-    Extension("capstone.ccapstone", ["pyx/ccapstone.pyx"], libraries=["capstone"], extra_compile_args=compile_args),
-    Extension("capstone.arm", ["pyx/arm.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.arm_const", ["pyx/arm_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.arm64", ["pyx/arm64.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.arm64_const", ["pyx/arm64_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.mips", ["pyx/mips.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.mips_const", ["pyx/mips_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.ppc", ["pyx/ppc.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.ppc_const", ["pyx/ppc_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.x86", ["pyx/x86.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.x86_const", ["pyx/x86_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.sparc", ["pyx/sparc.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.sparc_const", ["pyx/sparc_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.systemz", ["pyx/systemz.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.sysz_const", ["pyx/sysz_const.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.xcore", ["pyx/xcore.pyx"], extra_compile_args=compile_args),
-    Extension("capstone.xcore_const", ["pyx/xcore_const.pyx"], extra_compile_args=compile_args)
+    Extension("capstone.ccapstone", ["pyx/ccapstone.pyx"], libraries=["capstone"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.arm", ["pyx/arm.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.arm_const", ["pyx/arm_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.arm64", ["pyx/arm64.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.arm64_const", ["pyx/arm64_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.mips", ["pyx/mips.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.mips_const", ["pyx/mips_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.ppc", ["pyx/ppc.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.ppc_const", ["pyx/ppc_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.x86", ["pyx/x86.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.x86_const", ["pyx/x86_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.sparc", ["pyx/sparc.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.sparc_const", ["pyx/sparc_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.systemz", ["pyx/systemz.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.sysz_const", ["pyx/sysz_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.xcore", ["pyx/xcore.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs),
+    Extension("capstone.xcore_const", ["pyx/xcore_const.pyx"], extra_compile_args=compile_args, include_dirs=include_dirs, library_dirs=library_dirs)
 ]
 
 # clean package directory first
--- a/bindings/python/pyx/ccapstone.pxd
+++ b/bindings/python/pyx/ccapstone.pxd
@@ -3,7 +3,7 @@
 from libcpp cimport bool
 from libc.stdint cimport uint8_t, uint64_t, uint16_t
 
-cdef extern from "<capstone/capstone.h>":
+cdef extern from "<capstone.h>":
 
     ctypedef size_t csh
 
--- a/bindings/python/Makefile
+++ b/bindings/python/Makefile
@@ -13,13 +13,13 @@ install:
 	rm -rf $(OBJDIR) src/
 	rm -rf prebuilt/win64/capstone.dll
 	rm -rf prebuilt/win32/capstone.dll
-	python setup.py build -b $(OBJDIR) install
+	python setup.py build -b $(OBJDIR) install $(OPTS)
 
 install3:
 	rm -rf $(OBJDIR) src/
 	rm -rf prebuilt/win64/capstone.dll
 	rm -rf prebuilt/win32/capstone.dll
-	python3 setup.py build -b $(OBJDIR) install
+	python3 setup.py build -b $(OBJDIR) install $(OPTS)
 
 # NOTE: Newer cython can be installed by: sudo pip install --upgrade cython
 install_cython:
@@ -48,7 +48,7 @@ install_cython:
 	cp capstone/xcore_const.py $(OBJDIR)/pyx/xcore_const.pyx
 	cd $(OBJDIR) && python setup_cython.py build -b ./tmp install --home=$(OBJDIR)
 	mv $(OBJDIR)/build/lib/python/capstone/* capstone
-	cd $(OBJDIR) && python setup_cython.py build -b ./tmp install
+	cd $(OBJDIR) && python setup_cython.py build -b ./tmp install $(OPTS)
 
 # build & upload PyPi package with source code of the core
 sdist:
