1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 SUPPORT_PYTHON_ABIS="1"
8 inherit eutils flag-o-matic python toolchain-funcs
10 DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
11 HOMEPAGE="http://www.ragestorm.net/distorm/"
12 SRC_URI="http://ragestorm.net/distorm/${PN}-pkg${PV}.tar.bz2"
16 KEYWORDS="~amd64 ~x86"
19 DEPEND="python? ( >=dev-lang/python-2.4 )"
21 RESTRICT_PYTHON_ABIS="3.*"
26 epatch "${FILESDIR}/${P}-python.patch"
27 epatch "${FILESDIR}/${P}-respect_flags.patch"
31 cd "${WORKDIR}/${PN}/build/linux"
32 emake CC="$(tc-getCC)" clib || die "emake clib failed"
36 # Build ../../src/pydistorm.o separately with each enabled version of Python.
37 rm -f ../../src/pydistorm.o
39 # Additional CFLAGS retrieved from build/linux/Makefile.
40 emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -I$(python_get_includedir) -Wall -fPIC -DSUPPORT_64BIT_OFFSET -D_DLL" TARGET="distorm.so-${PYTHON_ABI}" py
42 python_execute_function building
45 cd "${WORKDIR}/${PN}/linuxproj"
46 emake CC="$(tc-getCC)" disasm || die "emake disasm failed"
51 cd "${WORKDIR}/${PN}/build/linux"
53 dolib.so libdistorm64.so
57 dodir "$(python_get_sitedir)"
58 install distorm.so-${PYTHON_ABI} "${D}$(python_get_sitedir)/distorm.so"
60 python_execute_function -q installation
64 newlib.a distorm64.a libdistorm64.a
66 dobin linuxproj/disasm
69 install distorm.h "${D}usr/include/" || die "Unable to install distorm.h"