@@ -545,12 +545,10 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
545545 return pjoin ("pandas" , subdir , name + suffix )
546546
547547
548- common_include = ["pandas/_libs/src/klib" , "pandas/_libs/src" ]
549- ts_include = ["pandas/_libs/tslibs/src" , "pandas/_libs/tslibs" ]
550-
551-
552548lib_depends = ["pandas/_libs/src/parse_helper.h" ]
553549
550+ klib_include = ["pandas/_libs/src/klib" ]
551+
554552np_datetime_headers = [
555553 "pandas/_libs/tslibs/src/datetime/np_datetime.h" ,
556554 "pandas/_libs/tslibs/src/datetime/np_datetime_strings.h" ,
@@ -564,36 +562,42 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
564562
565563
566564ext_data = {
567- "_libs.algos" : {"pyxfile" : "_libs/algos" , "depends" : _pxi_dep ["algos" ]},
565+ "_libs.algos" : {
566+ "pyxfile" : "_libs/algos" ,
567+ "include" : klib_include ,
568+ "depends" : _pxi_dep ["algos" ],
569+ },
568570 "_libs.groupby" : {"pyxfile" : "_libs/groupby" },
569- "_libs.hashing" : {"pyxfile" : "_libs/hashing" , "include" : [], " depends" : []},
571+ "_libs.hashing" : {"pyxfile" : "_libs/hashing" , "depends" : []},
570572 "_libs.hashtable" : {
571573 "pyxfile" : "_libs/hashtable" ,
574+ "include" : klib_include ,
572575 "depends" : (["pandas/_libs/src/klib/khash_python.h" ] + _pxi_dep ["hashtable" ]),
573576 },
574577 "_libs.index" : {
575578 "pyxfile" : "_libs/index" ,
576- "include" : common_include + ts_include ,
579+ "include" : klib_include ,
577580 "depends" : _pxi_dep ["index" ],
578581 "sources" : np_datetime_sources ,
579582 },
580583 "_libs.indexing" : {"pyxfile" : "_libs/indexing" },
581584 "_libs.internals" : {"pyxfile" : "_libs/internals" },
582- "_libs.interval" : {"pyxfile" : "_libs/interval" , "depends" : _pxi_dep ["interval" ]},
583- "_libs.join" : {"pyxfile" : "_libs/join" },
585+ "_libs.interval" : {
586+ "pyxfile" : "_libs/interval" ,
587+ "include" : klib_include ,
588+ "depends" : _pxi_dep ["interval" ],
589+ },
590+ "_libs.join" : {"pyxfile" : "_libs/join" , "include" : klib_include },
584591 "_libs.lib" : {
585592 "pyxfile" : "_libs/lib" ,
586- "include" : common_include + ts_include ,
587593 "depends" : lib_depends + tseries_depends ,
594+ "include" : klib_include , # due to tokenizer import
588595 "sources" : ["pandas/_libs/src/parser/tokenizer.c" ],
589596 },
590- "_libs.missing" : {
591- "pyxfile" : "_libs/missing" ,
592- "include" : common_include + ts_include ,
593- "depends" : tseries_depends ,
594- },
597+ "_libs.missing" : {"pyxfile" : "_libs/missing" , "depends" : tseries_depends },
595598 "_libs.parsers" : {
596599 "pyxfile" : "_libs/parsers" ,
600+ "include" : klib_include + ["pandas/_libs/src" ],
597601 "depends" : [
598602 "pandas/_libs/src/parser/tokenizer.h" ,
599603 "pandas/_libs/src/parser/io.h" ,
@@ -605,87 +609,76 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
605609 },
606610 "_libs.reduction" : {"pyxfile" : "_libs/reduction" },
607611 "_libs.ops" : {"pyxfile" : "_libs/ops" },
608- "_libs.properties" : {"pyxfile" : "_libs/properties" , "include" : [] },
612+ "_libs.properties" : {"pyxfile" : "_libs/properties" },
609613 "_libs.reshape" : {"pyxfile" : "_libs/reshape" , "depends" : []},
610614 "_libs.sparse" : {"pyxfile" : "_libs/sparse" , "depends" : _pxi_dep ["sparse" ]},
611615 "_libs.tslib" : {
612616 "pyxfile" : "_libs/tslib" ,
613- "include" : ts_include ,
614617 "depends" : tseries_depends ,
615618 "sources" : np_datetime_sources ,
616619 },
617620 "_libs.tslibs.c_timestamp" : {
618621 "pyxfile" : "_libs/tslibs/c_timestamp" ,
619- "include" : ts_include ,
620622 "depends" : tseries_depends ,
621623 "sources" : np_datetime_sources ,
622624 },
623- "_libs.tslibs.ccalendar" : {"pyxfile" : "_libs/tslibs/ccalendar" , "include" : [] },
625+ "_libs.tslibs.ccalendar" : {"pyxfile" : "_libs/tslibs/ccalendar" },
624626 "_libs.tslibs.conversion" : {
625627 "pyxfile" : "_libs/tslibs/conversion" ,
626- "include" : ts_include ,
627628 "depends" : tseries_depends ,
628629 "sources" : np_datetime_sources ,
629630 },
630631 "_libs.tslibs.fields" : {
631632 "pyxfile" : "_libs/tslibs/fields" ,
632- "include" : ts_include ,
633633 "depends" : tseries_depends ,
634634 "sources" : np_datetime_sources ,
635635 },
636- "_libs.tslibs.frequencies" : {"pyxfile" : "_libs/tslibs/frequencies" , "include" : [] },
637- "_libs.tslibs.nattype" : {"pyxfile" : "_libs/tslibs/nattype" , "include" : [] },
636+ "_libs.tslibs.frequencies" : {"pyxfile" : "_libs/tslibs/frequencies" },
637+ "_libs.tslibs.nattype" : {"pyxfile" : "_libs/tslibs/nattype" },
638638 "_libs.tslibs.np_datetime" : {
639639 "pyxfile" : "_libs/tslibs/np_datetime" ,
640- "include" : ts_include ,
641640 "depends" : np_datetime_headers ,
642641 "sources" : np_datetime_sources ,
643642 },
644643 "_libs.tslibs.offsets" : {
645644 "pyxfile" : "_libs/tslibs/offsets" ,
646- "include" : ts_include ,
647645 "depends" : tseries_depends ,
648646 "sources" : np_datetime_sources ,
649647 },
650648 "_libs.tslibs.parsing" : {
651649 "pyxfile" : "_libs/tslibs/parsing" ,
650+ "include" : klib_include ,
652651 "depends" : ["pandas/_libs/src/parser/tokenizer.h" ],
653652 "sources" : ["pandas/_libs/src/parser/tokenizer.c" ],
654653 },
655654 "_libs.tslibs.period" : {
656655 "pyxfile" : "_libs/tslibs/period" ,
657- "include" : ts_include ,
658656 "depends" : tseries_depends ,
659657 "sources" : np_datetime_sources ,
660658 },
661659 "_libs.tslibs.resolution" : {
662660 "pyxfile" : "_libs/tslibs/resolution" ,
663- "include" : ts_include ,
664661 "depends" : tseries_depends ,
665662 "sources" : np_datetime_sources ,
666663 },
667664 "_libs.tslibs.strptime" : {
668665 "pyxfile" : "_libs/tslibs/strptime" ,
669- "include" : ts_include ,
670666 "depends" : tseries_depends ,
671667 "sources" : np_datetime_sources ,
672668 },
673669 "_libs.tslibs.timedeltas" : {
674670 "pyxfile" : "_libs/tslibs/timedeltas" ,
675- "include" : ts_include ,
676671 "depends" : np_datetime_headers ,
677672 "sources" : np_datetime_sources ,
678673 },
679674 "_libs.tslibs.timestamps" : {
680675 "pyxfile" : "_libs/tslibs/timestamps" ,
681- "include" : ts_include ,
682676 "depends" : tseries_depends ,
683677 "sources" : np_datetime_sources ,
684678 },
685- "_libs.tslibs.timezones" : {"pyxfile" : "_libs/tslibs/timezones" , "include" : [] },
679+ "_libs.tslibs.timezones" : {"pyxfile" : "_libs/tslibs/timezones" },
686680 "_libs.tslibs.tzconversion" : {
687681 "pyxfile" : "_libs/tslibs/tzconversion" ,
688- "include" : ts_include ,
689682 "depends" : tseries_depends ,
690683 "sources" : np_datetime_sources ,
691684 },
@@ -709,7 +702,7 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
709702
710703 sources .extend (data .get ("sources" , []))
711704
712- include = data .get ("include" , common_include )
705+ include = data .get ("include" )
713706
714707 obj = Extension (
715708 "pandas.{name}" .format (name = name ),
0 commit comments