@@ -545,12 +545,10 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
545
545
return pjoin ("pandas" , subdir , name + suffix )
546
546
547
547
548
- common_include = ["pandas/_libs/src/klib" , "pandas/_libs/src" ]
549
- ts_include = ["pandas/_libs/tslibs/src" , "pandas/_libs/tslibs" ]
550
-
551
-
552
548
lib_depends = ["pandas/_libs/src/parse_helper.h" ]
553
549
550
+ klib_include = ["pandas/_libs/src/klib" ]
551
+
554
552
np_datetime_headers = [
555
553
"pandas/_libs/tslibs/src/datetime/np_datetime.h" ,
556
554
"pandas/_libs/tslibs/src/datetime/np_datetime_strings.h" ,
@@ -564,36 +562,42 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
564
562
565
563
566
564
ext_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
+ },
568
570
"_libs.groupby" : {"pyxfile" : "_libs/groupby" },
569
- "_libs.hashing" : {"pyxfile" : "_libs/hashing" , "include" : [], " depends" : []},
571
+ "_libs.hashing" : {"pyxfile" : "_libs/hashing" , "depends" : []},
570
572
"_libs.hashtable" : {
571
573
"pyxfile" : "_libs/hashtable" ,
574
+ "include" : klib_include ,
572
575
"depends" : (["pandas/_libs/src/klib/khash_python.h" ] + _pxi_dep ["hashtable" ]),
573
576
},
574
577
"_libs.index" : {
575
578
"pyxfile" : "_libs/index" ,
576
- "include" : common_include + ts_include ,
579
+ "include" : klib_include ,
577
580
"depends" : _pxi_dep ["index" ],
578
581
"sources" : np_datetime_sources ,
579
582
},
580
583
"_libs.indexing" : {"pyxfile" : "_libs/indexing" },
581
584
"_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 },
584
591
"_libs.lib" : {
585
592
"pyxfile" : "_libs/lib" ,
586
- "include" : common_include + ts_include ,
587
593
"depends" : lib_depends + tseries_depends ,
594
+ "include" : klib_include , # due to tokenizer import
588
595
"sources" : ["pandas/_libs/src/parser/tokenizer.c" ],
589
596
},
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 },
595
598
"_libs.parsers" : {
596
599
"pyxfile" : "_libs/parsers" ,
600
+ "include" : klib_include + ["pandas/_libs/src" ],
597
601
"depends" : [
598
602
"pandas/_libs/src/parser/tokenizer.h" ,
599
603
"pandas/_libs/src/parser/io.h" ,
@@ -605,87 +609,76 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
605
609
},
606
610
"_libs.reduction" : {"pyxfile" : "_libs/reduction" },
607
611
"_libs.ops" : {"pyxfile" : "_libs/ops" },
608
- "_libs.properties" : {"pyxfile" : "_libs/properties" , "include" : [] },
612
+ "_libs.properties" : {"pyxfile" : "_libs/properties" },
609
613
"_libs.reshape" : {"pyxfile" : "_libs/reshape" , "depends" : []},
610
614
"_libs.sparse" : {"pyxfile" : "_libs/sparse" , "depends" : _pxi_dep ["sparse" ]},
611
615
"_libs.tslib" : {
612
616
"pyxfile" : "_libs/tslib" ,
613
- "include" : ts_include ,
614
617
"depends" : tseries_depends ,
615
618
"sources" : np_datetime_sources ,
616
619
},
617
620
"_libs.tslibs.c_timestamp" : {
618
621
"pyxfile" : "_libs/tslibs/c_timestamp" ,
619
- "include" : ts_include ,
620
622
"depends" : tseries_depends ,
621
623
"sources" : np_datetime_sources ,
622
624
},
623
- "_libs.tslibs.ccalendar" : {"pyxfile" : "_libs/tslibs/ccalendar" , "include" : [] },
625
+ "_libs.tslibs.ccalendar" : {"pyxfile" : "_libs/tslibs/ccalendar" },
624
626
"_libs.tslibs.conversion" : {
625
627
"pyxfile" : "_libs/tslibs/conversion" ,
626
- "include" : ts_include ,
627
628
"depends" : tseries_depends ,
628
629
"sources" : np_datetime_sources ,
629
630
},
630
631
"_libs.tslibs.fields" : {
631
632
"pyxfile" : "_libs/tslibs/fields" ,
632
- "include" : ts_include ,
633
633
"depends" : tseries_depends ,
634
634
"sources" : np_datetime_sources ,
635
635
},
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" },
638
638
"_libs.tslibs.np_datetime" : {
639
639
"pyxfile" : "_libs/tslibs/np_datetime" ,
640
- "include" : ts_include ,
641
640
"depends" : np_datetime_headers ,
642
641
"sources" : np_datetime_sources ,
643
642
},
644
643
"_libs.tslibs.offsets" : {
645
644
"pyxfile" : "_libs/tslibs/offsets" ,
646
- "include" : ts_include ,
647
645
"depends" : tseries_depends ,
648
646
"sources" : np_datetime_sources ,
649
647
},
650
648
"_libs.tslibs.parsing" : {
651
649
"pyxfile" : "_libs/tslibs/parsing" ,
650
+ "include" : klib_include ,
652
651
"depends" : ["pandas/_libs/src/parser/tokenizer.h" ],
653
652
"sources" : ["pandas/_libs/src/parser/tokenizer.c" ],
654
653
},
655
654
"_libs.tslibs.period" : {
656
655
"pyxfile" : "_libs/tslibs/period" ,
657
- "include" : ts_include ,
658
656
"depends" : tseries_depends ,
659
657
"sources" : np_datetime_sources ,
660
658
},
661
659
"_libs.tslibs.resolution" : {
662
660
"pyxfile" : "_libs/tslibs/resolution" ,
663
- "include" : ts_include ,
664
661
"depends" : tseries_depends ,
665
662
"sources" : np_datetime_sources ,
666
663
},
667
664
"_libs.tslibs.strptime" : {
668
665
"pyxfile" : "_libs/tslibs/strptime" ,
669
- "include" : ts_include ,
670
666
"depends" : tseries_depends ,
671
667
"sources" : np_datetime_sources ,
672
668
},
673
669
"_libs.tslibs.timedeltas" : {
674
670
"pyxfile" : "_libs/tslibs/timedeltas" ,
675
- "include" : ts_include ,
676
671
"depends" : np_datetime_headers ,
677
672
"sources" : np_datetime_sources ,
678
673
},
679
674
"_libs.tslibs.timestamps" : {
680
675
"pyxfile" : "_libs/tslibs/timestamps" ,
681
- "include" : ts_include ,
682
676
"depends" : tseries_depends ,
683
677
"sources" : np_datetime_sources ,
684
678
},
685
- "_libs.tslibs.timezones" : {"pyxfile" : "_libs/tslibs/timezones" , "include" : [] },
679
+ "_libs.tslibs.timezones" : {"pyxfile" : "_libs/tslibs/timezones" },
686
680
"_libs.tslibs.tzconversion" : {
687
681
"pyxfile" : "_libs/tslibs/tzconversion" ,
688
- "include" : ts_include ,
689
682
"depends" : tseries_depends ,
690
683
"sources" : np_datetime_sources ,
691
684
},
@@ -709,7 +702,7 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
709
702
710
703
sources .extend (data .get ("sources" , []))
711
704
712
- include = data .get ("include" , common_include )
705
+ include = data .get ("include" )
713
706
714
707
obj = Extension (
715
708
"pandas.{name}" .format (name = name ),
0 commit comments