From c653fb8faaee795e017dd88191ab0c19ce02d8a0 Mon Sep 17 00:00:00 2001 From: serpilliere Date: Tue, 17 Jan 2012 11:29:07 +0100 Subject: enable miasm installation without tcc --- setup.py | 83 +++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 25 deletions(-) (limited to 'setup.py') diff --git a/setup.py b/setup.py index f3a2be16..03adc925 100755 --- a/setup.py +++ b/setup.py @@ -2,28 +2,61 @@ from distutils.core import setup,Extension -setup( - name = 'Miasm', - version = '0.1', - packages=['miasm', 'miasm/tools', - 'miasm/expression', 'miasm/graph', 'miasm/arch', - 'miasm/core', 'miasm/tools/emul_lib' ], - package_data = {'miasm':['tools/emul_lib/*.h']}, -# data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])], - ext_modules = [ - Extension("miasm.tools.emul_lib.libcodenat_interface", - ["miasm/tools/emul_lib/libcodenat_interface.c", - "miasm/tools/emul_lib/libcodenat.c"]), - Extension("miasm.tools.emul_lib.libcodenat_tcc", - ["miasm/tools/emul_lib/libcodenat_tcc.c"], - libraries=["tcc"]) - ], - - # Metadata - author = 'Fabrice Desclaux', - author_email = 'serpilliere@droid-corp.org', - description = 'Machine code manipulation library', - license = 'GPLv2', - # keywords = '', - # url = '', -) +def buil_all(): + setup( + name = 'Miasm', + version = '0.1', + packages=['miasm', 'miasm/tools', + 'miasm/expression', 'miasm/graph', 'miasm/arch', + 'miasm/core', 'miasm/tools/emul_lib' ], + package_data = {'miasm':['tools/emul_lib/*.h']}, + # data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])], + ext_modules = [ + Extension("miasm.tools.emul_lib.libcodenat_interface", + ["miasm/tools/emul_lib/libcodenat_interface.c", + "miasm/tools/emul_lib/libcodenat.c"]), + Extension("miasm.tools.emul_lib.libcodenat_tcc", + ["miasm/tools/emul_lib/libcodenat_tcc.c"], + libraries=["tcc"]) + ], + # Metadata + author = 'Fabrice Desclaux', + author_email = 'serpilliere@droid-corp.org', + description = 'Machine code manipulation library', + license = 'GPLv2', + # keywords = '', + # url = '', + ) + + + +def buil_no_tcc(): + setup( + name = 'Miasm', + version = '0.1', + packages=['miasm', 'miasm/tools', + 'miasm/expression', 'miasm/graph', 'miasm/arch', + 'miasm/core', 'miasm/tools/emul_lib' ], + package_data = {'miasm':['tools/emul_lib/*.h']}, + # data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])], + # Metadata + author = 'Fabrice Desclaux', + author_email = 'serpilliere@droid-corp.org', + description = 'Machine code manipulation library', + license = 'GPLv2', + # keywords = '', + # url = '', + ) + + +def try_build(): + try: + buil_all() + return + except: + print "WARNING cannot build with libtcc!, trying without it" + print "Miasm will not be able to emulate code" + buil_no_tcc() + + +try_build() -- cgit 1.4.1