diff --git a/pandas/_libs/meson.build b/pandas/_libs/meson.build index c27386743c6e9..7621915ebcfdb 100644 --- a/pandas/_libs/meson.build +++ b/pandas/_libs/meson.build @@ -54,25 +54,37 @@ _intervaltree_helper = custom_target('intervaltree_helper_pxi', py, tempita, '@INPUT@', '-o', '@OUTDIR@' ] ) -_khash_primitive_helper_dep = declare_dependency(sources: _khash_primitive_helper) + +_algos_pxi_dep = declare_dependency(sources: [_algos_take_helper, _algos_common_helper]) +_khash_pxi_dep = declare_dependency(sources: _khash_primitive_helper) +_hashtable_pxi_dep = declare_dependency( + sources: [_hashtable_class_helper, _hashtable_func_helper] +) +_index_pxi_dep = declare_dependency(sources: _index_class_helper) +_intervaltree_pxi_dep = declare_dependency(sources: _intervaltree_helper) +_sparse_pxi_dep = declare_dependency(sources: _sparse_op_helper) + subdir('tslibs') libs_sources = { # Dict of extension name -> dict of {sources, include_dirs, and deps} # numpy include dir is implicitly included - 'algos': {'sources': ['algos.pyx', _algos_common_helper, _algos_take_helper], 'deps': _khash_primitive_helper_dep}, + 'algos': {'sources': ['algos.pyx'], + 'deps': [_khash_pxi_dep, _algos_pxi_dep]}, 'arrays': {'sources': ['arrays.pyx']}, 'groupby': {'sources': ['groupby.pyx']}, 'hashing': {'sources': ['hashing.pyx']}, - 'hashtable': {'sources': ['hashtable.pyx', _hashtable_class_helper, _hashtable_func_helper], 'deps': _khash_primitive_helper_dep}, - 'index': {'sources': ['index.pyx', _index_class_helper], 'deps': _khash_primitive_helper_dep}, + 'hashtable': {'sources': ['hashtable.pyx'], + 'deps': [_khash_pxi_dep, _hashtable_pxi_dep]}, + 'index': {'sources': ['index.pyx'], + 'deps': [_khash_pxi_dep, _index_pxi_dep]}, 'indexing': {'sources': ['indexing.pyx']}, 'internals': {'sources': ['internals.pyx']}, - 'interval': {'sources': ['interval.pyx', _intervaltree_helper], - 'deps': _khash_primitive_helper_dep}, - 'join': {'sources': ['join.pyx', _khash_primitive_helper], - 'deps': _khash_primitive_helper_dep}, + 'interval': {'sources': ['interval.pyx'], + 'deps': [_khash_pxi_dep, _intervaltree_pxi_dep]}, + 'join': {'sources': ['join.pyx'], + 'deps': [_khash_pxi_dep]}, 'lib': {'sources': ['lib.pyx', 'src/parser/tokenizer.c']}, 'missing': {'sources': ['missing.pyx']}, 'pandas_datetime': {'sources': ['src/vendored/numpy/datetime/np_datetime.c', @@ -83,7 +95,7 @@ libs_sources = { 'src/parser/io.c', 'src/parser/pd_parser.c']}, 'parsers': {'sources': ['parsers.pyx', 'src/parser/tokenizer.c', 'src/parser/io.c'], - 'deps': _khash_primitive_helper_dep}, + 'deps': [_khash_pxi_dep]}, 'json': {'sources': ['src/vendored/ujson/python/ujson.c', 'src/vendored/ujson/python/objToJSON.c', 'src/vendored/ujson/python/JSONtoObj.c', @@ -95,7 +107,8 @@ libs_sources = { 'reshape': {'sources': ['reshape.pyx']}, 'sas': {'sources': ['sas.pyx']}, 'byteswap': {'sources': ['byteswap.pyx']}, - 'sparse': {'sources': ['sparse.pyx', _sparse_op_helper]}, + 'sparse': {'sources': ['sparse.pyx'], + 'deps': [_sparse_pxi_dep]}, 'tslib': {'sources': ['tslib.pyx']}, 'testing': {'sources': ['testing.pyx']}, 'writers': {'sources': ['writers.pyx']}