xref: /aosp_15_r20/external/libxml2/python/meson.build (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker
2*7c568831SAndroid Build Coastguard Workerpymod = import('python')
3*7c568831SAndroid Build Coastguard Workerpy = pymod.find_installation('python3', required: false)
4*7c568831SAndroid Build Coastguard Worker
5*7c568831SAndroid Build Coastguard Workerif py.found() == true
6*7c568831SAndroid Build Coastguard Worker    r = run_command(py, 'generator.py', meson.current_source_dir(), check: true)
7*7c568831SAndroid Build Coastguard Worker
8*7c568831SAndroid Build Coastguard Worker    libxml2mod_src = ['libxml.c', 'libxml2-py.c', 'types.c']
9*7c568831SAndroid Build Coastguard Worker
10*7c568831SAndroid Build Coastguard Worker    message(py.get_install_dir())
11*7c568831SAndroid Build Coastguard Worker
12*7c568831SAndroid Build Coastguard Worker    py.extension_module(
13*7c568831SAndroid Build Coastguard Worker        'libxml2mod',
14*7c568831SAndroid Build Coastguard Worker        files(libxml2mod_src),
15*7c568831SAndroid Build Coastguard Worker        dependencies: [py.dependency(), xml_dep],
16*7c568831SAndroid Build Coastguard Worker        include_directories: [config_dir],
17*7c568831SAndroid Build Coastguard Worker        install: true,
18*7c568831SAndroid Build Coastguard Worker    )
19*7c568831SAndroid Build Coastguard Worker
20*7c568831SAndroid Build Coastguard Worker    setup_py = configuration_data()
21*7c568831SAndroid Build Coastguard Worker    setup_py.set('prefix', get_option('prefix'))
22*7c568831SAndroid Build Coastguard Worker    setup_py.set('LIBXML_VERSION', meson.project_version())
23*7c568831SAndroid Build Coastguard Worker    setup_py.set('WITH_ICONV', want_iconv.to_int())
24*7c568831SAndroid Build Coastguard Worker    setup_py.set('WITH_ICU', want_icu.to_int())
25*7c568831SAndroid Build Coastguard Worker    setup_py.set('WITH_LZMA', want_lzma.to_int())
26*7c568831SAndroid Build Coastguard Worker    setup_py.set('WITH_ZLIB', want_zlib.to_int())
27*7c568831SAndroid Build Coastguard Worker    setup_py.set('WITH_THREADS', want_threads.to_int())
28*7c568831SAndroid Build Coastguard Worker    configure_file(
29*7c568831SAndroid Build Coastguard Worker        input: 'setup.py.in',
30*7c568831SAndroid Build Coastguard Worker        output: 'setup.py',
31*7c568831SAndroid Build Coastguard Worker        configuration: setup_py,
32*7c568831SAndroid Build Coastguard Worker    )
33*7c568831SAndroid Build Coastguard Worker
34*7c568831SAndroid Build Coastguard Worker    subdir('tests')
35*7c568831SAndroid Build Coastguard Worker
36*7c568831SAndroid Build Coastguard Workerendif
37