+includes = ['../../include', '../cxx/include']
+includes += [os.path.join(srcdir, path) for path in includes]
+includes += ['../..', '../../include/libsigrok', '../cxx/include/libsigrok']
+includes += [i[2:] for i in sr_includes]
+libdirs = ['../../.libs', '../cxx/.libs'] + [l[2:] for l in sr_lib_dirs]
+libs = [l[2:] for l in sr_libs] + ['sigrokxx']
+
+def vpath(file):
+ vfile = os.path.join(srcdir, file)
+ return vfile if os.path.exists(vfile) else file
+
+def unvpath(file):
+ return os.path.relpath(file, srcdir) if file.startswith(srcdir) else file
+
+class build_py(_build_py):
+ def find_package_modules(self, package, pkg_dir):
+ mods = _build_py.find_package_modules(self, package, pkg_dir)
+ vmods = _build_py.find_package_modules(self, package, vpath(pkg_dir))
+ mods.extend([mod for mod in vmods if mod not in mods])
+ return mods
+ def check_package(self, package, package_dir):
+ return _build_py.check_package(self, package, vpath(package_dir))
+
+class build_ext(_build_ext):
+ def spawn (self, cmd):
+ cmd[1:-1] = [arg if arg.startswith('-') else unvpath(arg) for arg in
+ cmd[1:-1]]
+ _build_ext.spawn(self, cmd)
+ def swig_sources (self, sources, extension):
+ return [unvpath(src) for src in
+ _build_ext.swig_sources(self, sources, extension)]