1
0
mirror of https://github.com/GNOME/libxml2.git synced 2025-10-14 02:58:39 +08:00
Files
libxml2/python/meson.build
2025-09-08 15:30:53 +02:00

114 lines
2.8 KiB
Meson

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