| |
| pymod = import('python') |
| py = pymod.find_installation('python3', required: false) |
| |
| if py.found() == true |
| message('Installing python modules to', py.get_install_dir()) |
| |
| pygenerated = custom_target( |
| 'Python generated files', |
| input: doxygen_docs[1], |
| output: [ |
| 'libxml2-py.h', |
| 'libxml2-export.c', |
| 'libxml2-py.c', |
| 'libxml2.py', |
| ], |
| command: [ py, files('generator.py'), meson.current_build_dir() ], |
| install: true, |
| install_dir: [ false, false, false, py.get_install_dir() ], |
| ) |
| pygenerated_dep = declare_dependency( |
| sources : [pygenerated[0]], |
| ) |
| |
| libxml2mod_src = [ |
| files('libxml.c', 'types.c'), |
| pygenerated[2], |
| ] |
| |
| py.extension_module( |
| 'libxml2mod', |
| libxml2mod_src, |
| dependencies: [ |
| py.dependency(), |
| xml_dep, |
| pygenerated_dep, |
| ], |
| include_directories: [config_dir, '.'], |
| install: true, |
| ) |
| |
| py.install_sources(files('drv_libxml2.py')) |
| |
| setup_py = configuration_data() |
| setup_py.set('prefix', get_option('prefix')) |
| setup_py.set('LIBXML_VERSION', meson.project_version()) |
| setup_py.set('WITH_ICONV', want_iconv.to_int()) |
| setup_py.set('WITH_ICU', want_icu.to_int()) |
| setup_py.set('WITH_ZLIB', want_zlib.to_int()) |
| setup_py.set('WITH_THREADS', want_threads.to_int()) |
| configure_file( |
| input: 'setup.py.in', |
| output: 'setup.py', |
| configuration: setup_py, |
| ) |
| |
| python_tests = [ |
| 'attribs.py', |
| 'build.py', |
| 'compareNodes.py', |
| 'ctxterror.py', |
| 'cutnpaste.py', |
| 'dtdvalid.py', |
| 'error.py', |
| 'inbuf.py', |
| 'indexes.py', |
| 'input_callback.py', |
| 'nsdel.py', |
| 'outbuf.py', |
| 'push.py', |
| 'pushSAX.py', |
| 'pushSAXhtml.py', |
| 'reader.py', |
| 'reader2.py', |
| 'reader3.py', |
| 'reader4.py', |
| 'reader5.py', |
| 'reader6.py', |
| 'reader7.py', |
| 'reader8.py', |
| 'readererr.py', |
| 'readernext.py', |
| 'regexp.py', |
| 'relaxng.py', |
| 'resolver.py', |
| 'schema.py', |
| 'serialize.py', |
| 'sync.py', |
| 'thread2.py', |
| 'tst.py', |
| 'tstLastError.py', |
| 'tstURI.py', |
| 'tstmem.py', |
| 'tstxpath.py', |
| 'unicode.py', |
| 'validDTD.py', |
| 'validRNG.py', |
| 'validSchemas.py', |
| 'validate.py', |
| 'walker.py', |
| 'xpath.py', |
| 'xpathext.py', |
| 'xpathleak.py', |
| 'xpathns.py', |
| 'xpathret.py', |
| ] |
| |
| foreach file : python_tests |
| test(file, py, args: [ file ], |
| workdir: meson.current_source_dir() / 'tests', |
| env: { 'PYTHONPATH': meson.current_build_dir() }) |
| endforeach |
| endif |