diff --git a/setup.py b/setup.py index 783ded906eba2..1f35e26de2c68 100755 --- a/setup.py +++ b/setup.py @@ -466,6 +466,11 @@ def pxd(name): else: extra_compile_args = ['-Wno-unused-function'] +util_and_deps = ['pandas/_libs/src/util.pxd', + 'pandas/_libs/src/numpy_helper.h', + 'pandas/_libs/src/helper.h', + 'pandas/_libs/src/headers/stdint.h'] + lib_depends = lib_depends + ['pandas/_libs/src/numpy_helper.h', 'pandas/_libs/src/parse_helper.h', 'pandas/_libs/src/compat_helper.h'] @@ -481,42 +486,79 @@ def pxd(name): ext_data = { '_libs.lib': {'pyxfile': '_libs/lib', - 'depends': lib_depends + tseries_depends}, + 'depends': (lib_depends + tseries_depends + + ['pandas/_libs/tslib.pyx', + 'pandas/_libs/tslib.pxd', + 'pandas/_libs/tslibs/timezones.pyx', + 'pandas/_libs/tslibs/timezones.pxd'])}, '_libs.properties': {'pyxfile': '_libs/properties', 'include': []}, '_libs.hashtable': {'pyxfile': '_libs/hashtable', 'pxdfiles': ['_libs/hashtable'], 'depends': (['pandas/_libs/src/klib/khash_python.h'] + _pxi_dep['hashtable'])}, - '_libs.tslibs.strptime': {'pyxfile': '_libs/tslibs/strptime', - 'depends': tseries_depends, - 'sources': np_datetime_sources}, - '_libs.tslibs.offsets': {'pyxfile': '_libs/tslibs/offsets'}, - '_libs.tslib': {'pyxfile': '_libs/tslib', - 'pxdfiles': ['_libs/src/util'], - 'depends': tseries_depends, - 'sources': np_datetime_sources}, - '_libs.tslibs.conversion': {'pyxfile': '_libs/tslibs/conversion', - 'depends': tseries_depends, - 'sources': np_datetime_sources}, + '_libs.tslibs.strptime': { + 'pyxfile': '_libs/tslibs/strptime', + 'depends': (tseries_depends + util_and_deps + + ['pandas/_libs/tslibs/nattype.pyx', + 'pandas/_libs/tslibs/nattype.pxd', + 'pandas/_libs/tslibs/np_datetime.pyx', + 'pandas/_libs/tslibs/np_datetime.pxd'])}, + '_libs.tslibs.offsets': { + 'pyxfile': '_libs/tslibs/offsets', + 'depends': (util_and_deps + + ['pandas/_libs/tslibs/conversion.pyx', + 'pandas/_libs/tslibs/conversion.pxd'])}, + '_libs.tslib': { + 'pyxfile': '_libs/tslib', + 'pxdfiles': ['_libs/src/util'], + 'depends': (tseries_depends + util_and_deps + + ['pandas/_libs/tslibs/conversion.pyx', + 'pandas/_libs/tslibs/conversion.pxd', + 'pandas/_libs/tslibs/nattype.pyx', + 'pandas/_libs/tslibs/nattype.pxd', + 'pandas/_libs/tslibs/np_datetime.pyx', + 'pandas/_libs/tslibs/np_datetime.pxd', + 'pandas/_libs/tslibs/timedeltas.pyx', + 'pandas/_libs/tslibs/timedeltas.pxd', + 'pandas/_libs/tslibs/timezones.pyx', + 'pandas/_libs/tslibs/timezones.pxd']), + 'sources': np_datetime_sources}, + '_libs.tslibs.conversion': { + 'pyxfile': '_libs/tslibs/conversion', + 'depends': (tseries_depends + util_and_deps + + ['pandas/_libs/tslibs/np_datetime.pyx', + 'pandas/_libs/tslibs/np_datetime.pxd', + 'pandas/_libs/tslibs/timedeltas.pyx', + 'pandas/_libs/tslibs/timedeltas.pxd', + 'pandas/_libs/tslibs/timezones.pyx', + 'pandas/_libs/tslibs/timezones.pxd']), + 'sources': np_datetime_sources}, '_libs.tslibs.np_datetime': {'pyxfile': '_libs/tslibs/np_datetime', 'depends': np_datetime_headers, 'sources': np_datetime_sources}, - '_libs.tslibs.timedeltas': {'pyxfile': '_libs/tslibs/timedeltas'}, - '_libs.tslibs.timezones': {'pyxfile': '_libs/tslibs/timezones'}, - '_libs.tslibs.fields': {'pyxfile': '_libs/tslibs/fields', - 'depends': tseries_depends, - 'sources': np_datetime_sources}, + '_libs.tslibs.timedeltas': {'pyxfile': '_libs/tslibs/timedeltas', + 'depends': util_and_deps}, + '_libs.tslibs.timezones': {'pyxfile': '_libs/tslibs/timezones', + 'depends': util_and_deps}, + '_libs.tslibs.fields': { + 'pyxfile': '_libs/tslibs/fields', + 'depends': (tseries_depends + util_and_deps + + ['pandas/_libs/tslibs/np_datetime.pyx', + 'pandas/_libs/tslibs/np_datetime.pxd']), + 'sources': np_datetime_sources}, '_libs.period': {'pyxfile': '_libs/period', 'depends': (tseries_depends + ['pandas/_libs/src/period_helper.h']), 'sources': np_datetime_sources + [ 'pandas/_libs/src/period_helper.c']}, '_libs.tslibs.parsing': {'pyxfile': '_libs/tslibs/parsing', - 'pxdfiles': ['_libs/src/util']}, + 'depends': []}, '_libs.tslibs.frequencies': {'pyxfile': '_libs/tslibs/frequencies', - 'pxdfiles': ['_libs/src/util']}, + 'pxdfiles': ['_libs/src/util'], + 'depends': util_and_deps}, '_libs.tslibs.nattype': {'pyxfile': '_libs/tslibs/nattype', - 'pxdfiles': ['_libs/src/util']}, + 'pxdfiles': ['_libs/src/util'], + 'depends': util_and_deps}, '_libs.index': {'pyxfile': '_libs/index', 'sources': np_datetime_sources, 'pxdfiles': ['_libs/src/util', '_libs/hashtable'],