@@ -226,15 +226,15 @@ def initialize_options(self):
226226 self ._clean_trees = []
227227
228228 base = pjoin ('pandas' , '_libs' , 'src' )
229- dt = pjoin (base , 'datetime ' )
230- src = base
229+ tsbase = pjoin ('pandas' , '_libs' , 'tslibs' , 'src ' )
230+ dt = pjoin ( tsbase , 'datetime' )
231231 util = pjoin ('pandas' , 'util' )
232232 parser = pjoin (base , 'parser' )
233233 ujson_python = pjoin (base , 'ujson' , 'python' )
234234 ujson_lib = pjoin (base , 'ujson' , 'lib' )
235235 self ._clean_exclude = [pjoin (dt , 'np_datetime.c' ),
236236 pjoin (dt , 'np_datetime_strings.c' ),
237- pjoin (src , 'period_helper.c' ),
237+ pjoin (tsbase , 'period_helper.c' ),
238238 pjoin (parser , 'tokenizer.c' ),
239239 pjoin (parser , 'io.c' ),
240240 pjoin (ujson_python , 'ujson.c' ),
@@ -498,16 +498,19 @@ def srcpath(name=None, suffix='.pyx', subdir='src'):
498498 lib_depends = []
499499
500500common_include = ['pandas/_libs/src/klib' , 'pandas/_libs/src' ]
501+ ts_include = ['pandas/_libs/tslibs/src' ]
501502
502503
503504lib_depends = lib_depends + ['pandas/_libs/src/numpy_helper.h' ,
504505 'pandas/_libs/src/parse_helper.h' ,
505506 'pandas/_libs/src/compat_helper.h' ]
506507
507- np_datetime_headers = ['pandas/_libs/src/datetime/np_datetime.h' ,
508- 'pandas/_libs/src/datetime/np_datetime_strings.h' ]
509- np_datetime_sources = ['pandas/_libs/src/datetime/np_datetime.c' ,
510- 'pandas/_libs/src/datetime/np_datetime_strings.c' ]
508+ np_datetime_headers = [
509+ 'pandas/_libs/tslibs/src/datetime/np_datetime.h' ,
510+ 'pandas/_libs/tslibs/src/datetime/np_datetime_strings.h' ]
511+ np_datetime_sources = [
512+ 'pandas/_libs/tslibs/src/datetime/np_datetime.c' ,
513+ 'pandas/_libs/tslibs/src/datetime/np_datetime_strings.c' ]
511514
512515tseries_depends = np_datetime_headers
513516
@@ -520,13 +523,16 @@ def srcpath(name=None, suffix='.pyx', subdir='src'):
520523 'pyxfile' : '_libs/groupby' ,
521524 'depends' : _pxi_dep ['groupby' ]},
522525 '_libs.hashing' : {
523- 'pyxfile' : '_libs/hashing' },
526+ 'pyxfile' : '_libs/hashing' ,
527+ 'include' : [],
528+ 'depends' : []},
524529 '_libs.hashtable' : {
525530 'pyxfile' : '_libs/hashtable' ,
526531 'depends' : (['pandas/_libs/src/klib/khash_python.h' ] +
527532 _pxi_dep ['hashtable' ])},
528533 '_libs.index' : {
529534 'pyxfile' : '_libs/index' ,
535+ 'include' : common_include + ts_include ,
530536 'depends' : _pxi_dep ['index' ],
531537 'sources' : np_datetime_sources },
532538 '_libs.indexing' : {
@@ -541,9 +547,11 @@ def srcpath(name=None, suffix='.pyx', subdir='src'):
541547 'depends' : _pxi_dep ['join' ]},
542548 '_libs.lib' : {
543549 'pyxfile' : '_libs/lib' ,
550+ 'include' : common_include + ts_include ,
544551 'depends' : lib_depends + tseries_depends },
545552 '_libs.missing' : {
546553 'pyxfile' : '_libs/missing' ,
554+ 'include' : common_include + ts_include ,
547555 'depends' : tseries_depends },
548556 '_libs.parsers' : {
549557 'pyxfile' : '_libs/parsers' ,
@@ -570,54 +578,71 @@ def srcpath(name=None, suffix='.pyx', subdir='src'):
570578 'depends' : _pxi_dep ['sparse' ]},
571579 '_libs.tslib' : {
572580 'pyxfile' : '_libs/tslib' ,
581+ 'include' : ts_include ,
573582 'depends' : tseries_depends ,
574583 'sources' : np_datetime_sources },
575584 '_libs.tslibs.ccalendar' : {
576- 'pyxfile' : '_libs/tslibs/ccalendar' },
585+ 'pyxfile' : '_libs/tslibs/ccalendar' ,
586+ 'include' : []},
577587 '_libs.tslibs.conversion' : {
578588 'pyxfile' : '_libs/tslibs/conversion' ,
589+ 'include' : ts_include ,
579590 'depends' : tseries_depends ,
580591 'sources' : np_datetime_sources },
581592 '_libs.tslibs.fields' : {
582593 'pyxfile' : '_libs/tslibs/fields' ,
594+ 'include' : ts_include ,
583595 'depends' : tseries_depends ,
584596 'sources' : np_datetime_sources },
585597 '_libs.tslibs.frequencies' : {
586- 'pyxfile' : '_libs/tslibs/frequencies' },
598+ 'pyxfile' : '_libs/tslibs/frequencies' ,
599+ 'include' : []},
587600 '_libs.tslibs.nattype' : {
588- 'pyxfile' : '_libs/tslibs/nattype' },
601+ 'pyxfile' : '_libs/tslibs/nattype' ,
602+ 'include' : []},
589603 '_libs.tslibs.np_datetime' : {
590604 'pyxfile' : '_libs/tslibs/np_datetime' ,
605+ 'include' : ts_include ,
591606 'depends' : np_datetime_headers ,
592607 'sources' : np_datetime_sources },
593608 '_libs.tslibs.offsets' : {
594609 'pyxfile' : '_libs/tslibs/offsets' ,
610+ 'include' : ts_include ,
595611 'depends' : tseries_depends ,
596612 'sources' : np_datetime_sources },
597613 '_libs.tslibs.parsing' : {
598- 'pyxfile' : '_libs/tslibs/parsing' },
614+ 'pyxfile' : '_libs/tslibs/parsing' ,
615+ 'include' : []},
599616 '_libs.tslibs.period' : {
600617 'pyxfile' : '_libs/tslibs/period' ,
601- 'depends' : tseries_depends + ['pandas/_libs/src/period_helper.h' ],
602- 'sources' : np_datetime_sources + ['pandas/_libs/src/period_helper.c' ]},
618+ 'include' : ts_include ,
619+ 'depends' : tseries_depends + [
620+ 'pandas/_libs/tslibs/src/period_helper.h' ],
621+ 'sources' : np_datetime_sources + [
622+ 'pandas/_libs/tslibs/src/period_helper.c' ]},
603623 '_libs.tslibs.resolution' : {
604624 'pyxfile' : '_libs/tslibs/resolution' ,
625+ 'include' : ts_include ,
605626 'depends' : tseries_depends ,
606627 'sources' : np_datetime_sources },
607628 '_libs.tslibs.strptime' : {
608629 'pyxfile' : '_libs/tslibs/strptime' ,
630+ 'include' : ts_include ,
609631 'depends' : tseries_depends ,
610632 'sources' : np_datetime_sources },
611633 '_libs.tslibs.timedeltas' : {
612634 'pyxfile' : '_libs/tslibs/timedeltas' ,
635+ 'include' : ts_include ,
613636 'depends' : np_datetime_headers ,
614637 'sources' : np_datetime_sources },
615638 '_libs.tslibs.timestamps' : {
616639 'pyxfile' : '_libs/tslibs/timestamps' ,
640+ 'include' : ts_include ,
617641 'depends' : tseries_depends ,
618642 'sources' : np_datetime_sources },
619643 '_libs.tslibs.timezones' : {
620- 'pyxfile' : '_libs/tslibs/timezones' },
644+ 'pyxfile' : '_libs/tslibs/timezones' ,
645+ 'include' : []},
621646 '_libs.testing' : {
622647 'pyxfile' : '_libs/testing' },
623648 '_libs.window' : {
0 commit comments