From 84f81b13bcd265ee83895169f600ff4acc296903 Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Tue, 3 Mar 2020 14:27:09 -0800 Subject: [PATCH 1/7] update to waf 2.0.19 --- pybindgen/cppclass.py | 8 +++++++- tests/foomodulegen4.py | 12 +++++++----- tests/foomodulegen_common.py | 6 ++++++ tests/footest.py | 9 +++++++++ waf | Bin 90909 -> 104832 bytes waf-tools/cflags.py | 3 +-- waf-tools/command.py | 12 ++++++------ waf-tools/python_patched.py | 15 ++++++++++++--- wscript | 28 ++++++++++++++++------------ 9 files changed, 64 insertions(+), 29 deletions(-) diff --git a/pybindgen/cppclass.py b/pybindgen/cppclass.py index c298429..7ec02b9 100644 --- a/pybindgen/cppclass.py +++ b/pybindgen/cppclass.py @@ -35,6 +35,12 @@ from . import function import collections +# Prepare for python 3.9 +try: + collectionsCallable = collections.Callable +except AttributeError: + collectionsCallable = collections + try: set except NameError: @@ -1036,7 +1042,7 @@ class CppClass(object): all subclasses. The hook function is called like this:: hook_function(helper_class) """ - if not isinstance(hook, collections.Callable): + if not isinstance(hook, collectionsCallable): raise TypeError("hook function must be callable") self.helper_class_hooks.append(hook) diff --git a/tests/foomodulegen4.py b/tests/foomodulegen4.py index 3930cde..17465f8 100644 --- a/tests/foomodulegen4.py +++ b/tests/foomodulegen4.py @@ -9,16 +9,18 @@ from pybindgen.module import MultiSectionFactory from pybindgen import (FileCodeSink) import foomodulegen_split +import foomodulegen_module1, foomodulegen_module2 import foomodulegen_common +# TODO(cnicolaou): get the multi section tests working class MyMultiSectionFactory(MultiSectionFactory): - def __init__(self, main_file_name): - self.main_file_name = main_file_name - self.main_sink = FileCodeSink(open(main_file_name, "wt")) + def __init__(self, dir): + self.main_file_name = os.path.join(dir, "foomodule4.cc") + self.main_sink = FileCodeSink(open(self.main_file_name, "wt")) self.header_name = "foomodule4.h" - header_file_name = os.path.join(os.path.dirname(self.main_file_name), self.header_name) + header_file_name = os.path.join(dir, self.header_name) self.header_sink = FileCodeSink(open(header_file_name, "wt")) self.section_sinks = {} @@ -49,7 +51,7 @@ class MyMultiSectionFactory(MultiSectionFactory): sink.file.close() def my_module_gen(): - out = MyMultiSectionFactory(sys.argv[1]) + out = MyMultiSectionFactory(os.path.dirname(sys.argv[1])) root_module = foomodulegen_split.module_init() root_module.add_exception('exception', foreign_cpp_namespace='std', message_rvalue='%(EXC)s.what()') foomodulegen_common.customize_module_pre(root_module) diff --git a/tests/foomodulegen_common.py b/tests/foomodulegen_common.py index 4722376..9807c40 100644 --- a/tests/foomodulegen_common.py +++ b/tests/foomodulegen_common.py @@ -84,6 +84,12 @@ _wrap_foofunction_that_takes_foo_from_string(PyObject * PYBINDGEN_UNUSED(dummy), return py_retval; } ''' + + if len(module.classes) == 0: + # Some tests, eg. foomodulegen4.py, don't have Bar and Foo classes + # defined. + return + module.add_custom_function_wrapper('function_that_takes_foo', '_wrap_foofunction_that_takes_foo_from_string', wrapper_body, diff --git a/tests/footest.py b/tests/footest.py index c231a82..6a11807 100644 --- a/tests/footest.py +++ b/tests/footest.py @@ -24,6 +24,11 @@ else: gccxml_mode = sys.argv.pop(1) print("gccxml_mode:", gccxml_mode) +cc_name = sys.argv.pop(1) +cc_version = sys.argv.pop(1) + +print("Compiler Command and Version:", cc_name, cc_version) + import unittest @@ -170,6 +175,10 @@ class TestFoo(unittest.TestCase): def test_type_narrowing_hidden_subclass(self): """This test only works with GCC >= 3.0 (and not with other compilers)""" + if "gcc" not in cc_name: + return + if int(cc_version) < 3: + return obj = foo.get_hidden_subclass_pointer() self.assertEqual(type(obj), foo.Bar) diff --git a/waf b/waf index 4e68fedc548287026a69560acb79f5c030596550..7ceee16772fdb95851bf63e2d68e773b2ac60960 100755 GIT binary patch delta 101914 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�n^bHl?ue30S?Ei)Zgc&H&7o8qdHM(eD-6YH zvAcLlO+E^Lm(QgVzdY56o?j^pI2+Mg3FH>Pp+DTCu53DX0U7sciEo(ZjF^(MZ!X<} zZcHnFW?cGrwlz5Yw9Hkm;6zA;i->tMI)bU$Mk*f3(k^XyqTU#2r+1fFcKl1}6tvy_ z5Hl{ctEQSW3jyS<5T*ix`*IRt#v}z&@mpsXKH0J6sLs@w8&YG!`I^$at@yTsD_jpv zb5p1o@^pS)80;mS>~;C>Cm>D2`fzPRN+7NS6S9j+3~I#ZwQ3Z*kq&~o?_oGgaWS2_ zKlgV}gaba&5GtTgSS$}S%12@LGvvY};l05Q_?rhBh**N9;#KSqzRGkMl8U+Wf#kTO zyD=qyEIL0?06A~L8~n+i#$Eb9`M-86sz=8B$Ih)&E?8g!07?N)S$;YLnPWzD^- z_tY(8@hGv&54#+q5QbxHY&xUio{F>bv4gDQ880jA-eaq$J0!?lqDHjE%|3TO94EF? zv(bS6OwKx-6)~565pl|d(SpxbdmxNiHuv5Z>1zPmqDYnt-0~bPDz@Psv#3$jxir=8WG=2N;a{BoTdz6 zx*A^pt}IM`$&i?pFuOcGQ)5JjhzY%PsZ0)EwUR*IVN5lnlC@4Jatav1M6V{5UOgjK z8KJsmO`&K}9M8A7qumXBvhS!OI6<@JxD}!0@n3c` z@PDP*A_8E+YeRaD^ch+dmqsG8CA%=+$9J#jAz00(kj3a8cHJMrIRL08o|w-%Pz7)8 z*vSMd9Gp})XG-n3*@xY?#gYmke_IG7%Q|q`B60;$ujN%|ak$9-^a8ggRrnA4AE_gZ zN9Ow~CG`NTzp)|jhNQ|%y5>%bF-HA*8Z)yR>`IE{pEEe zNS(Gj-NK&XD3e%2i>z91uDXl0J*}Ah&O`vO_jU2_S`K*0yXRBCU-FZaT_ zF26n4?b4l-)yK1`gimB8_Sta}rIUlDsAv^pAoJi(4A*gEz}w$#!C8O?L6)07bZexZf~Ox0sM!ztX~E|eh+~O z2eKn{rA4mkq=X72&eG0!PEf%|dx9fMmtHi}+zh4=5p3!MJJ5*|KBJj#Bl$

jGk(IXqWW+j6!T_B5J&&o=}V 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°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 diff --git a/waf-tools/cflags.py b/waf-tools/cflags.py index 4814a50..2b25d41 100644 --- a/waf-tools/cflags.py +++ b/waf-tools/cflags.py @@ -49,7 +49,7 @@ class GccTraits(CompilerTraits): return (['-g'], []) elif level >= 2: return (['-ggdb', '-g3'], ['_DEBUG']) - + class IccTraits(CompilerTraits): def __init__(self): @@ -121,7 +121,6 @@ class MsvcTraits(CompilerTraits): return (['/ZI', '/RTC1'], ['_DEBUG']) - gcc = GccTraits() icc = IccTraits() msvc = MsvcTraits() diff --git a/waf-tools/command.py b/waf-tools/command.py index 0b13a3d..33fdea3 100644 --- a/waf-tools/command.py +++ b/waf-tools/command.py @@ -16,16 +16,18 @@ import re arg_rx = re.compile(r"(?P\$\$)|(?P\$\{(?P\w+)(?P.*?)\})", re.M) -class command_task(Task.Task): +def nice_path(input): + return input.path_from(input.ctx.launch_node()) + +class command(Task.Task): color = "BLUE" def __init__(self, env, generator): Task.Task.__init__(self, env=env, normal=1, generator=generator) def __str__(self): "string to display to the user" - env = self.env - src_str = ' '.join([a.nice_path(env) for a in self.inputs]) - tgt_str = ' '.join([a.nice_path(env) for a in self.outputs]) + src_str = ' '.join([nice_path(a) for a in self.inputs]) + tgt_str = ' '.join([nice_path(a) for a in self.outputs]) if self.outputs: sep = ' -> ' else: @@ -151,5 +153,3 @@ def process_rule(self): cls.scan = scan setattr(tsk, "dep_vars", getattr(self, "dep_vars", None)) - - diff --git a/waf-tools/python_patched.py b/waf-tools/python_patched.py index ab0e97a..ffa9532 100644 --- a/waf-tools/python_patched.py +++ b/waf-tools/python_patched.py @@ -22,6 +22,7 @@ import os, sys from waflib import Utils, Options, Errors, Logs from waflib.TaskGen import extension, before_method, after_method, feature from waflib.Configure import conf +import waflib FRAG = ''' #include @@ -241,7 +242,12 @@ def check_python_headers(conf): if not pybin: conf.fatal('Could not find the python executable') - v = 'prefix SO LDFLAGS LIBDIR LIBPL INCLUDEPY Py_ENABLE_SHARED MACOSX_DEPLOYMENT_TARGET LDSHARED CFLAGS LDVERSION'.split() + extsuffix = "SO" + if '.'.join(env.PYTHON_VERSION.split('.')[:1]) == "3": + extsuffix = "EXT_SUFFIX" + + v = 'prefix LDFLAGS LIBDIR LIBPL INCLUDEPY Py_ENABLE_SHARED MACOSX_DEPLOYMENT_TARGET LDSHARED CFLAGS LDVERSION'.split() + v.append(extsuffix) try: lst = conf.get_python_variables(["get_config_var('%s') or ''" % x for x in v]) except RuntimeError: @@ -255,7 +261,7 @@ def check_python_headers(conf): if dct[x]: conf.env[x] = conf.environ[x] = dct[x] - env['pyext_PATTERN'] = '%s' + dct['SO'] # not a mistake + env['pyext_PATTERN'] = '%s' + dct[extsuffix] # not a mistake # Check for python libraries for embedding @@ -316,9 +322,12 @@ def check_python_headers(conf): num = '.'.join(env['PYTHON_VERSION'].split('.')[:2]) conf.find_program([''.join(pybin) + '-config', 'python%s-config' % num, 'python-config-%s' % num, 'python%sm-config' % num], var='PYTHON_CONFIG', mandatory=False) + if len(conf.env.PYTHON_CONFIG) != 1: + raise conf.errors.ConfigurationError("failed to find exactly one python config script") + includes = [] if conf.env.PYTHON_CONFIG: - for incstr in conf.cmd_and_log([ conf.env.PYTHON_CONFIG, '--includes']).strip().split(): + for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG[0], '--includes']).strip().split(): # strip the -I or /I if (incstr.startswith('-I') or incstr.startswith('/I')): incstr = incstr[2:] diff --git a/wscript b/wscript index 88f3f85..f7e433e 100644 --- a/wscript +++ b/wscript @@ -13,6 +13,8 @@ from waflib import Configure from waflib import Logs +from waflib.Tools import c_config + import os import subprocess import shutil @@ -58,7 +60,7 @@ def zipper(dir, zip_file, archive_main_folder=None): def options(opt): opt.load('python_patched', tooldir="waf-tools") - opt.load('compiler_cc') + opt.load('compiler_c') opt.load('compiler_cxx') opt.load('cflags', tooldir="waf-tools") opt.recurse('examples') @@ -120,8 +122,9 @@ def _check_compilation_flag(conf, flag, mode='cxx', linkflags=None): env.append_value("LINKFLAGS", linkflags) try: - retval = conf.run_c_code(code='#include \nint main() { return 0; }\n', + retval = conf.run_build(code='#include \nint main() { return 0; }\n', env=env, compile_filename=fname, + build_fun=c_config.build_fun, features=[mode, mode+'program'], execute=False) except conf.errors.ConfigurationError: ok = False @@ -151,7 +154,7 @@ def configure(conf): conf.check_python_version((2,3)) try: - conf.load('compiler_cc') + conf.load('compiler_c') conf.load('compiler_cxx') except conf.errors.ConfigurationError: Logs.warn("C/C++ compiler not detected. Unit tests and examples will not be compiled.") @@ -162,8 +165,7 @@ def configure(conf): if not Options.options.disable_pygccxml: castxml = conf.find_program('castxml', mandatory=False) - gccxml = conf.find_program('gccxml', mandatory=False) - if not (gccxml or castxml): + if not castxml: conf.env['ENABLE_PYGCCXML'] = False else: try: @@ -174,8 +176,6 @@ def configure(conf): conf.env['ENABLE_PYGCCXML'] = True if castxml: conf.env['PYGCCXML_MODE'] = 'castxml' - else: - conf.env['PYGCCXML_MODE'] = 'gccxml' # -fvisibility=hidden optimization if (conf.env['CXX_NAME'] == 'gcc' and [int(x) for x in conf.env['CC_VERSION']] >= [4,0,0] @@ -242,7 +242,6 @@ class CheckContext(Context.Context): bld.cmd = "check" bld.execute() - if Options.options.verbose: verbosity = ['-v'] else: @@ -253,6 +252,11 @@ class CheckContext(Context.Context): else: valgrind = [] + # Pass compiler name and version to some of the tests so that they + # test compiler specific features. + cc_name = bld.env['CC_NAME'] + cc_version = bld.env['CC_VERSION'][0] + print("Running pure python unit tests...") python = bld.env['PYTHON'][0] retval1 = subprocess.Popen([python, 'tests/test.py'] + verbosity).wait() @@ -263,19 +267,19 @@ class CheckContext(Context.Context): if env['CXX']: print("Running manual module generation unit tests (module foo)...") - retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '1', 'none'] + verbosity).wait()) + retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '1', cc_name, cc_version, 'none'] + verbosity).wait()) else: print("Skipping manual module generation unit tests (no C/C++ compiler)...") if env['ENABLE_PYGCCXML']: print("Running automatically scanned module generation unit tests (module foo2)...") - retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '2', env['PYGCCXML_MODE']] + verbosity).wait()) + retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '2', cc_name, cc_version, env['PYGCCXML_MODE']] + verbosity).wait()) print("Running module generated by automatically generated python script unit tests (module foo3)...") - retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '3', env['PYGCCXML_MODE']] + verbosity).wait()) + retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '3', cc_name, cc_version, env['PYGCCXML_MODE']] + verbosity).wait()) print("Running module generated by generated and split python script unit tests (module foo4)...") - retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '4', env['PYGCCXML_MODE']] + verbosity).wait()) + retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '4, cc_name, cc_version', env['PYGCCXML_MODE']] + verbosity).wait()) print("Running semi-automatically scanned c-hello module ('hello')...") retvals.append(subprocess.Popen(valgrind + [python, 'tests/c-hello/hellotest.py'] + verbosity).wait()) From 01125844d1617a1df4fe0907dea287845a7729b1 Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Tue, 3 Mar 2020 17:37:59 -0800 Subject: [PATCH 2/7] get castxml tests to work --- pybindgen/castxmlparser.py | 6 ++++-- tests/foomodulegen-auto.py | 1 - wscript | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pybindgen/castxmlparser.py b/pybindgen/castxmlparser.py index 9377f9c..1fd697a 100644 --- a/pybindgen/castxmlparser.py +++ b/pybindgen/castxmlparser.py @@ -653,9 +653,11 @@ class ModuleParser(object): self._post_scan_hooks.append(hook) def __location_match(self, decl): - if decl.location.file_name in self.header_files: + # Make sure absolute paths are compared. + abspath = os.path.abspath(decl.location.file_name) + if abspath in self.header_files: return True - for incdir in self.whitelist_paths: + for incdir in self.whitelist_paths: if os.path.abspath(decl.location.file_name).startswith(incdir): return True return False diff --git a/tests/foomodulegen-auto.py b/tests/foomodulegen-auto.py index 69c4f8d..a15d53f 100644 --- a/tests/foomodulegen-auto.py +++ b/tests/foomodulegen-auto.py @@ -50,7 +50,6 @@ def my_module_gen(): module.generate(out) - def main(): logging.basicConfig(level=logging.DEBUG) if sys.argv[1] == '-d': diff --git a/wscript b/wscript index f7e433e..a2a96b1 100644 --- a/wscript +++ b/wscript @@ -279,7 +279,7 @@ class CheckContext(Context.Context): retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '3', cc_name, cc_version, env['PYGCCXML_MODE']] + verbosity).wait()) print("Running module generated by generated and split python script unit tests (module foo4)...") - retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '4, cc_name, cc_version', env['PYGCCXML_MODE']] + verbosity).wait()) + retvals.append(subprocess.Popen(valgrind + [python, 'tests/footest.py', '4', cc_name, cc_version, env['PYGCCXML_MODE']] + verbosity).wait()) print("Running semi-automatically scanned c-hello module ('hello')...") retvals.append(subprocess.Popen(valgrind + [python, 'tests/c-hello/hellotest.py'] + verbosity).wait()) From 9334d9f8a1b9bbf0b96df6dda5879c1d7a611d6a Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Tue, 3 Mar 2020 17:47:08 -0800 Subject: [PATCH 3/7] fix typo --- pybindgen/castxmlparser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pybindgen/castxmlparser.py b/pybindgen/castxmlparser.py index 1fd697a..9815df7 100644 --- a/pybindgen/castxmlparser.py +++ b/pybindgen/castxmlparser.py @@ -657,7 +657,7 @@ class ModuleParser(object): abspath = os.path.abspath(decl.location.file_name) if abspath in self.header_files: return True - for incdir in self.whitelist_paths: + for incdir in self.whitelist_paths: if os.path.abspath(decl.location.file_name).startswith(incdir): return True return False From c0f002155dc747fe276df27924b17ee1af049b88 Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Tue, 3 Mar 2020 20:48:41 -0800 Subject: [PATCH 4/7] fix command line parsing --- tests/footest.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/footest.py b/tests/footest.py index 6a11807..8b74cd0 100644 --- a/tests/footest.py +++ b/tests/footest.py @@ -21,13 +21,12 @@ elif which == 4: else: raise AssertionError("bad command line arguments") -gccxml_mode = sys.argv.pop(1) -print("gccxml_mode:", gccxml_mode) - cc_name = sys.argv.pop(1) cc_version = sys.argv.pop(1) +print("compiler command and version:", cc_name, cc_version) -print("Compiler Command and Version:", cc_name, cc_version) +gccxml_mode = sys.argv.pop(1) +print("gccxml_mode:", gccxml_mode) import unittest From 978f89467f020c4a3f0c72ffed140f87b64d3787 Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Wed, 4 Mar 2020 23:48:02 -0800 Subject: [PATCH 5/7] continued test cleanup, no longuer use waf-tools/python-patched.py --- wscript | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/wscript b/wscript index a2a96b1..f39fb42 100644 --- a/wscript +++ b/wscript @@ -59,7 +59,7 @@ def zipper(dir, zip_file, archive_main_folder=None): def options(opt): - opt.load('python_patched', tooldir="waf-tools") + opt.load('python') opt.load('compiler_c') opt.load('compiler_cxx') opt.load('cflags', tooldir="waf-tools") @@ -144,13 +144,24 @@ def _check_nonfatal(conf, *args, **kwargs): return None +# treat -iwithsysroot as if it were -I +def extract_withsysroot_includes(lst): + inc=[] + while lst: + x=lst.pop(0) + if x.startswith(('-iwithsysroot')): + dir = lst.pop(0) + if os.path.isdir(dir): + inc.append(dir) + return inc + def configure(conf): conf.check_compilation_flag = types.MethodType(_check_compilation_flag, conf) conf.check_nonfatal = types.MethodType(_check_nonfatal, conf) conf.load('command', tooldir="waf-tools") - conf.load('python_patched', tooldir="waf-tools") + conf.load('python') conf.check_python_version((2,3)) try: @@ -161,7 +172,7 @@ def configure(conf): conf.env['CXX'] = '' else: conf.load('cflags') - conf.check_python_headers() + conf.check_python_headers(features='pyembed pyext') if not Options.options.disable_pygccxml: castxml = conf.find_program('castxml', mandatory=False) @@ -187,8 +198,29 @@ def configure(conf): if not conf.check_nonfatal(header_name='stdint.h'): conf.env.append_value('CPPPATH', os.path.join(conf.curdir, 'include')) - if conf.check_nonfatal(header_name='boost/shared_ptr.hpp'): + if "INCLUDES_PYEXT" not in conf.env: + # On macos catalina there are no -I's in the system python2.7-config + # output, so extract them from CFLAGS and make sure that Python.h + # can be located. + conf.env["INCLUDES_PYEXT"] = extract_withsysroot_includes(conf.env["CFLAGS_PYEXT"]) + conf.check_nonfatal(header_name='Python.h') + + conf.env.stash() + try: + # Make sure that boost is available when compiling an extension + # rather than just natively. + conf.env.append_value("CXXFLAGS", conf.env["CXXFLAGS_PYEXT"]) + conf.env.append_value("INCLUDES", conf.env["INCLUDES_PYEXT"]) + have_boost_extension = conf.check_nonfatal(header_name='boost/shared_ptr.hpp') + finally: + conf.env.revert() + + if have_boost_extension: conf.env['ENABLE_BOOST_SHARED_PTR'] = True + else: + Logs.warn("Boost is not available as a python extension, trying native compilation.") + if conf.check_nonfatal(header_name='boost/shared_ptr.hpp'): + Logs.warn("Boost is, however, available natively. The python extension configuration is most likely using --sysroot") conf.recurse('benchmarks') conf.recurse('examples') From 32395239adbd1fa529a3ce2060fcfa71eba2c9ff Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Thu, 5 Mar 2020 09:06:22 -0800 Subject: [PATCH 6/7] respond to review --- wscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wscript b/wscript index f39fb42..fdbf845 100644 --- a/wscript +++ b/wscript @@ -146,9 +146,9 @@ def _check_nonfatal(conf, *args, **kwargs): # treat -iwithsysroot as if it were -I def extract_withsysroot_includes(lst): - inc=[] + inc = [] while lst: - x=lst.pop(0) + x = lst.pop(0) if x.startswith(('-iwithsysroot')): dir = lst.pop(0) if os.path.isdir(dir): From f202a02d9e45fcf476c7b41821c4e70d135bec4e Mon Sep 17 00:00:00 2001 From: Cosmos Nicolaou Date: Thu, 5 Mar 2020 09:06:56 -0800 Subject: [PATCH 7/7] remove unused python_patched.py file --- waf-tools/python_patched.py | 552 ------------------------------------ 1 file changed, 552 deletions(-) delete mode 100644 waf-tools/python_patched.py diff --git a/waf-tools/python_patched.py b/waf-tools/python_patched.py deleted file mode 100644 index ffa9532..0000000 --- a/waf-tools/python_patched.py +++ /dev/null @@ -1,552 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# Thomas Nagy, 2007-2010 (ita) -# Gustavo Carneiro (gjc), 2007 - -""" -Support for Python, detect the headers and libraries and provide -*use* variables to link C/C++ programs against them:: - - def options(opt): - opt.load('compiler_c python') - def configure(conf): - conf.load('compiler_c python') - conf.check_python_version((2,4,2)) - conf.check_python_headers() - def build(bld): - bld.program(features='pyembed', source='a.c', target='myprog') - bld.shlib(features='pyext', source='b.c', target='mylib') -""" - -import os, sys -from waflib import Utils, Options, Errors, Logs -from waflib.TaskGen import extension, before_method, after_method, feature -from waflib.Configure import conf -import waflib - -FRAG = ''' -#include -#ifdef __cplusplus -extern "C" { -#endif - void Py_Initialize(void); - void Py_Finalize(void); -#ifdef __cplusplus -} -#endif -int main(int argc, char **argv) -{ - (void)argc; (void)argv; - Py_Initialize(); - Py_Finalize(); - return 0; -} -''' -""" -Piece of C/C++ code used in :py:func:`waflib.Tools.python.check_python_headers` -""" - -INST = ''' -import sys, py_compile -py_compile.compile(sys.argv[1], sys.argv[2], sys.argv[3]) -''' -""" -Piece of Python code used in :py:func:`waflib.Tools.python.install_pyfile` for installing python files -""" - -DISTUTILS_IMP = ['from distutils.sysconfig import get_config_var, get_python_lib'] - -@extension('.py') -def process_py(self, node): - """ - Add a callback using :py:func:`waflib.Tools.python.install_pyfile` to install a python file - """ - try: - if not self.bld.is_install: - return - except AttributeError: - return - - try: - if not self.install_path: - return - except AttributeError: - self.install_path = '${PYTHONDIR}' - - # i wonder now why we wanted to do this after the build is over - # issue #901: people want to preserve the structure of installed files - def inst_py(ctx): - install_from = getattr(self, 'install_from', None) - if install_from: - install_from = self.path.find_dir(install_from) - install_pyfile(self, node, install_from) - self.bld.add_post_fun(inst_py) - -def install_pyfile(self, node, install_from=None): - """ - Execute the installation of a python file - - :param node: python file - :type node: :py:class:`waflib.Node.Node` - """ - - from_node = install_from or node.parent - tsk = self.bld.install_as(self.install_path + '/' + node.path_from(from_node), node, postpone=False) - path = tsk.get_install_path() - - if self.bld.is_install < 0: - Logs.info("+ removing byte compiled python files") - for x in 'co': - try: - os.remove(path + x) - except OSError: - pass - - if self.bld.is_install > 0: - try: - st1 = os.stat(path) - except OSError: - Logs.error('The python file is missing, this should not happen') - - for x in ['c', 'o']: - do_inst = self.env['PY' + x.upper()] - try: - st2 = os.stat(path + x) - except OSError: - pass - else: - if st1.st_mtime <= st2.st_mtime: - do_inst = False - - if do_inst: - lst = (x == 'o') and [self.env['PYFLAGS_OPT']] or [] - (a, b, c) = (path, path + x, tsk.get_install_path(destdir=False) + x) - argv = self.env['PYTHON'] + lst + ['-c', INST, a, b, c] - Logs.info('+ byte compiling %r' % (path + x)) - env = self.env.env or None - ret = Utils.subprocess.Popen(argv, env=env).wait() - if ret: - raise Errors.WafError('py%s compilation failed %r' % (x, path)) - -@feature('py') -def feature_py(self): - """ - Dummy feature which does nothing - """ - pass - -@feature('pyext') -@before_method('propagate_uselib_vars', 'apply_link') -@after_method('apply_bundle') -def init_pyext(self): - """ - Change the values of *cshlib_PATTERN* and *cxxshlib_PATTERN* to remove the - *lib* prefix from library names. - """ - self.uselib = self.to_list(getattr(self, 'uselib', [])) - if not 'PYEXT' in self.uselib: - self.uselib.append('PYEXT') - # override shlib_PATTERN set by the osx module - self.env.cshlib_PATTERN = self.env.cxxshlib_PATTERN = self.env.macbundle_PATTERN = self.env.pyext_PATTERN - self.env.fcshlib_PATTERN = self.env.dshlib_PATTERN = self.env.pyext_PATTERN - - try: - if not self.install_path: - return - except AttributeError: - self.install_path = '${PYTHONARCHDIR}' - -@feature('pyext') -@before_method('apply_link', 'apply_bundle') -def set_bundle(self): - if Utils.unversioned_sys_platform() == 'darwin': - self.mac_bundle = True - -@before_method('propagate_uselib_vars') -@feature('pyembed') -def init_pyembed(self): - """ - Add the PYEMBED variable. - """ - self.uselib = self.to_list(getattr(self, 'uselib', [])) - if not 'PYEMBED' in self.uselib: - self.uselib.append('PYEMBED') - -@conf -def get_python_variables(self, variables, imports=None): - """ - Spawn a new python process to dump configuration variables - - :param variables: variables to print - :type variables: list of string - :param imports: one import by element - :type imports: list of string - :return: the variable values - :rtype: list of string - """ - if not imports: - try: - imports = self.python_imports - except AttributeError: - imports = DISTUTILS_IMP - - program = list(imports) # copy - program.append('') - for v in variables: - program.append("print(repr(%s))" % v) - os_env = dict(os.environ) - try: - del os_env['MACOSX_DEPLOYMENT_TARGET'] # see comments in the OSX tool - except KeyError: - pass - - try: - out = self.cmd_and_log(self.env.PYTHON + ['-c', '\n'.join(program)], env=os_env) - except Errors.WafError: - self.fatal('The distutils module is unusable: install "python-devel"?') - self.to_log(out) - return_values = [] - for s in out.split('\n'): - s = s.strip() - if not s: - continue - if s == 'None': - return_values.append(None) - elif (s[0] == "'" and s[-1] == "'") or (s[0] == '"' and s[-1] == '"'): - return_values.append(eval(s)) - elif s[0].isdigit(): - return_values.append(int(s)) - else: break - return return_values - -@conf -def check_python_headers(conf): - """ - Check for headers and libraries necessary to extend or embed python by using the module *distutils*. - On success the environment variables xxx_PYEXT and xxx_PYEMBED are added: - - * PYEXT: for compiling python extensions - * PYEMBED: for embedding a python interpreter - """ - - # FIXME rewrite - - env = conf.env - if not env['CC_NAME'] and not env['CXX_NAME']: - conf.fatal('load a compiler first (gcc, g++, ..)') - - if not env['PYTHON_VERSION']: - conf.check_python_version() - - pybin = conf.env.PYTHON - if not pybin: - conf.fatal('Could not find the python executable') - - extsuffix = "SO" - if '.'.join(env.PYTHON_VERSION.split('.')[:1]) == "3": - extsuffix = "EXT_SUFFIX" - - v = 'prefix LDFLAGS LIBDIR LIBPL INCLUDEPY Py_ENABLE_SHARED MACOSX_DEPLOYMENT_TARGET LDSHARED CFLAGS LDVERSION'.split() - v.append(extsuffix) - try: - lst = conf.get_python_variables(["get_config_var('%s') or ''" % x for x in v]) - except RuntimeError: - conf.fatal("Python development headers not found (-v for details).") - - vals = ['%s = %r' % (x, y) for (x, y) in zip(v, lst)] - conf.to_log("Configuration returned from %r:\n%r\n" % (pybin, '\n'.join(vals))) - - dct = dict(zip(v, lst)) - x = 'MACOSX_DEPLOYMENT_TARGET' - if dct[x]: - conf.env[x] = conf.environ[x] = dct[x] - - env['pyext_PATTERN'] = '%s' + dct[extsuffix] # not a mistake - - # Check for python libraries for embedding - - all_flags = dct['LDFLAGS'] + ' ' + dct['CFLAGS'] - conf.parse_flags(all_flags, 'PYEMBED') - - all_flags = dct['LDFLAGS'] + ' ' + dct['LDSHARED'] + ' ' + dct['CFLAGS'] - conf.parse_flags(all_flags, 'PYEXT') - - result = None - #name = 'python' + env['PYTHON_VERSION'] - - if not dct["LDVERSION"]: - dct["LDVERSION"] = env['PYTHON_VERSION'] - - # TODO simplify this - for name in ('python' + dct['LDVERSION'], 'python' + env['PYTHON_VERSION'] + 'm', 'python' + env['PYTHON_VERSION'].replace('.', '')): - - # LIBPATH_PYEMBED is already set; see if it works. - if not result and env['LIBPATH_PYEMBED']: - path = env['LIBPATH_PYEMBED'] - conf.to_log("\n\n# Trying default LIBPATH_PYEMBED: %r\n" % path) - result = conf.check(lib=name, uselib='PYEMBED', libpath=path, mandatory=False, msg='Checking for library %s in LIBPATH_PYEMBED' % name) - - if not result and dct['LIBDIR']: - path = [dct['LIBDIR']] - conf.to_log("\n\n# try again with -L$python_LIBDIR: %r\n" % path) - result = conf.check(lib=name, uselib='PYEMBED', libpath=path, mandatory=False, msg='Checking for library %s in LIBDIR' % name) - - if not result and dct['LIBPL']: - path = [dct['LIBPL']] - conf.to_log("\n\n# try again with -L$python_LIBPL (some systems don't install the python library in $prefix/lib)\n") - result = conf.check(lib=name, uselib='PYEMBED', libpath=path, mandatory=False, msg='Checking for library %s in python_LIBPL' % name) - - if not result: - path = [os.path.join(dct['prefix'], "libs")] - conf.to_log("\n\n# try again with -L$prefix/libs, and pythonXY name rather than pythonX.Y (win32)\n") - result = conf.check(lib=name, uselib='PYEMBED', libpath=path, mandatory=False, msg='Checking for library %s in $prefix/libs' % name) - - if result: - break # do not forget to set LIBPATH_PYEMBED - - if result: - env['LIBPATH_PYEMBED'] = path - env.append_value('LIB_PYEMBED', [name]) - else: - conf.to_log("\n\n### LIB NOT FOUND\n") - - # under certain conditions, python extensions must link to - # python libraries, not just python embedding programs. - if (Utils.is_win32 or sys.platform.startswith('os2') - or dct['Py_ENABLE_SHARED']): - env['LIBPATH_PYEXT'] = env['LIBPATH_PYEMBED'] - env['LIB_PYEXT'] = env['LIB_PYEMBED'] - - # We check that pythonX.Y-config exists, and if it exists we - # use it to get only the includes, else fall back to distutils. - num = '.'.join(env['PYTHON_VERSION'].split('.')[:2]) - conf.find_program([''.join(pybin) + '-config', 'python%s-config' % num, 'python-config-%s' % num, 'python%sm-config' % num], var='PYTHON_CONFIG', mandatory=False) - - if len(conf.env.PYTHON_CONFIG) != 1: - raise conf.errors.ConfigurationError("failed to find exactly one python config script") - - includes = [] - if conf.env.PYTHON_CONFIG: - for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG[0], '--includes']).strip().split(): - # strip the -I or /I - if (incstr.startswith('-I') or incstr.startswith('/I')): - incstr = incstr[2:] - # append include path, unless already given - if incstr not in includes: - includes.append(incstr) - conf.to_log("Include path for Python extensions (found via python-config --includes): %r\n" % (includes,)) - env['INCLUDES_PYEXT'] = includes - env['INCLUDES_PYEMBED'] = includes - else: - conf.to_log("Include path for Python extensions " - "(found via distutils module): %r\n" % (dct['INCLUDEPY'],)) - env['INCLUDES_PYEXT'] = [dct['INCLUDEPY']] - env['INCLUDES_PYEMBED'] = [dct['INCLUDEPY']] - - # Code using the Python API needs to be compiled with -fno-strict-aliasing - if env['CC_NAME'] == 'gcc': - env.append_value('CFLAGS_PYEMBED', ['-fno-strict-aliasing']) - env.append_value('CFLAGS_PYEXT', ['-fno-strict-aliasing']) - if env['CXX_NAME'] == 'gcc': - env.append_value('CXXFLAGS_PYEMBED', ['-fno-strict-aliasing']) - env.append_value('CXXFLAGS_PYEXT', ['-fno-strict-aliasing']) - - if env.CC_NAME == "msvc": - from distutils.msvccompiler import MSVCCompiler - dist_compiler = MSVCCompiler() - dist_compiler.initialize() - env.append_value('CFLAGS_PYEXT', dist_compiler.compile_options) - env.append_value('CXXFLAGS_PYEXT', dist_compiler.compile_options) - env.append_value('LINKFLAGS_PYEXT', dist_compiler.ldflags_shared) - - # See if it compiles - try: - conf.check(header_name='Python.h', define_name='HAVE_PYTHON_H', - uselib='PYEMBED', fragment=FRAG, - errmsg=':-(') - except conf.errors.ConfigurationError: - # python3.2, oh yeah - xx = conf.env.CXX_NAME and 'cxx' or 'c' - - flags = ['--cflags', '--libs', '--ldflags'] - - for f in flags: - conf.check_cfg(msg='Asking python-config for pyembed %s flags' % f, - path=conf.env.PYTHON_CONFIG, package='', uselib_store='PYEMBED', args=[f]) - conf.check(header_name='Python.h', define_name='HAVE_PYTHON_H', msg='Getting pyembed flags from python-config', - fragment=FRAG, errmsg='Could not build a python embedded interpreter', - features='%s %sprogram pyembed' % (xx, xx)) - - for f in flags: - conf.check_cfg(msg='Asking python-config for pyext %s flags' % f, - path=conf.env.PYTHON_CONFIG, package='', uselib_store='PYEXT', args=[f]) - conf.check(header_name='Python.h', define_name='HAVE_PYTHON_H', msg='Getting pyext flags from python-config', - features='%s %sshlib pyext' % (xx, xx), fragment=FRAG, errmsg='Could not build python extensions') - -@conf -def check_python_version(conf, minver=None): - """ - Check if the python interpreter is found matching a given minimum version. - minver should be a tuple, eg. to check for python >= 2.4.2 pass (2,4,2) as minver. - - If successful, PYTHON_VERSION is defined as 'MAJOR.MINOR' - (eg. '2.4') of the actual python version found, and PYTHONDIR is - defined, pointing to the site-packages directory appropriate for - this python version, where modules/packages/extensions should be - installed. - - :param minver: minimum version - :type minver: tuple of int - """ - assert minver is None or isinstance(minver, tuple) - pybin = conf.env['PYTHON'] - if not pybin: - conf.fatal('could not find the python executable') - - # Get python version string - cmd = pybin + ['-c', 'import sys\nfor x in sys.version_info: print(str(x))'] - Logs.debug('python: Running python command %r' % cmd) - lines = conf.cmd_and_log(cmd).split() - assert len(lines) == 5, "found %i lines, expected 5: %r" % (len(lines), lines) - pyver_tuple = (int(lines[0]), int(lines[1]), int(lines[2]), lines[3], int(lines[4])) - - # compare python version with the minimum required - result = (minver is None) or (pyver_tuple >= minver) - - if result: - # define useful environment variables - pyver = '.'.join([str(x) for x in pyver_tuple[:2]]) - conf.env['PYTHON_VERSION'] = pyver - - if 'PYTHONDIR' in conf.environ: - pydir = conf.environ['PYTHONDIR'] - else: - if Utils.is_win32: - (python_LIBDEST, pydir) = conf.get_python_variables( - ["get_config_var('LIBDEST') or ''", - "get_python_lib(standard_lib=0, prefix=%r) or ''" % conf.env['PREFIX']]) - else: - python_LIBDEST = None - (pydir,) = conf.get_python_variables( ["get_python_lib(standard_lib=0, prefix=%r) or ''" % conf.env['PREFIX']]) - if python_LIBDEST is None: - if conf.env['LIBDIR']: - python_LIBDEST = os.path.join(conf.env['LIBDIR'], "python" + pyver) - else: - python_LIBDEST = os.path.join(conf.env['PREFIX'], "lib", "python" + pyver) - - - if 'PYTHONARCHDIR' in conf.environ: - pyarchdir = conf.environ['PYTHONARCHDIR'] - else: - (pyarchdir, ) = conf.get_python_variables( ["get_python_lib(plat_specific=1, standard_lib=0, prefix=%r) or ''" % conf.env['PREFIX']]) - if not pyarchdir: - pyarchdir = pydir - - if hasattr(conf, 'define'): # conf.define is added by the C tool, so may not exist - conf.define('PYTHONDIR', pydir) - conf.define('PYTHONARCHDIR', pyarchdir) - - conf.env['PYTHONDIR'] = pydir - conf.env['PYTHONARCHDIR'] = pyarchdir - - # Feedback - pyver_full = '.'.join(map(str, pyver_tuple[:3])) - if minver is None: - conf.msg('Checking for python version', pyver_full) - else: - minver_str = '.'.join(map(str, minver)) - conf.msg('Checking for python version', pyver_tuple, ">= %s" % (minver_str,) and 'GREEN' or 'YELLOW') - - if not result: - conf.fatal('The python version is too old, expecting %r' % (minver,)) - -PYTHON_MODULE_TEMPLATE = ''' -import %s as current_module -version = getattr(current_module, '__version__', None) -if version is not None: - print(str(version)) -else: - print('unknown version') -''' - -@conf -def check_python_module(conf, module_name, condition=''): - """ - Check if the selected python interpreter can import the given python module:: - - def configure(conf): - conf.check_python_module('pygccxml') - conf.check_python_module('re', condition="ver > num(2, 0, 4) and ver <= num(3, 0, 0)") - - :param module_name: module - :type module_name: string - """ - msg = 'Python module %s' % module_name - if condition: - msg = '%s (%s)' % (msg, condition) - conf.start_msg(msg) - try: - ret = conf.cmd_and_log(conf.env['PYTHON'] + ['-c', PYTHON_MODULE_TEMPLATE % module_name]) - except Exception: - conf.end_msg(False) - conf.fatal('Could not find the python module %r' % module_name) - - ret = ret.strip() - if condition: - conf.end_msg(ret) - if ret == 'unknown version': - conf.fatal('Could not check the %s version' % module_name) - - from distutils.version import LooseVersion - def num(*k): - if isinstance(k[0], int): - return LooseVersion('.'.join([str(x) for x in k])) - else: - return LooseVersion(k[0]) - d = {'num': num, 'ver': LooseVersion(ret)} - ev = eval(condition, {}, d) - if not ev: - conf.fatal('The %s version does not satisfy the requirements' % module_name) - else: - if ret == 'unknown version': - conf.end_msg(True) - else: - conf.end_msg(ret) - -def configure(conf): - """ - Detect the python interpreter - """ - try: - conf.find_program('python', var='PYTHON') - except conf.errors.ConfigurationError: - Logs.warn("could not find a python executable, setting to sys.executable '%s'" % sys.executable) - conf.env.PYTHON = sys.executable - - if conf.env.PYTHON != sys.executable: - Logs.warn("python executable %r differs from system %r" % (conf.env.PYTHON, sys.executable)) - conf.env.PYTHON = conf.cmd_to_list(conf.env.PYTHON) - - v = conf.env - v['PYCMD'] = '"import sys, py_compile;py_compile.compile(sys.argv[1], sys.argv[2])"' - v['PYFLAGS'] = '' - v['PYFLAGS_OPT'] = '-O' - - v['PYC'] = getattr(Options.options, 'pyc', 1) - v['PYO'] = getattr(Options.options, 'pyo', 1) - -def options(opt): - """ - Add the options ``--nopyc`` and ``--nopyo`` - """ - opt.add_option('--nopyc', - action='store_false', - default=1, - help = 'Do not install bytecode compiled .pyc files (configuration) [Default:install]', - dest = 'pyc') - opt.add_option('--nopyo', - action='store_false', - default=1, - help='Do not install optimised compiled .pyo files (configuration) [Default:install]', - dest='pyo') -