@@ -937,12 +937,15 @@ function pyconf_check_member(member, headers, define, struct_name, field, source
937937 return (CACHE[cv] == "yes")
938938
939939 pyconf_checking("for " member)
940- inc = _pyconf_ac_includes_default()
940+ # Match Python version: use custom headers if provided, else use default headers
941941 if (headers != "") {
942942 n = split(headers, arr, " ")
943+ inc = ""
943944 for (i = 1; i <= n; i++)
944945 if (arr[i] != "")
945946 inc = inc "#include <" arr[i] ">\n"
947+ } else {
948+ inc = _pyconf_ac_includes_default()
946949 }
947950
948951 source = inc "\nint main(void) { " struct_name " s; (void)s." field "; return 0; }"
@@ -6085,7 +6088,7 @@ function u_check_misc_runtime( ac_cv_broken_nice, ac_cv_broken_poll, ac_cv_wo
60856088 pyconf_define("HAVE_BROKEN_POLL", 1, 0, "Define if poll() sets errno on invalid file descriptors.")
60866089 }
60876090 pyconf_checking("for working tzset()")
6088- ac_cv_working_tzset = (pyconf_run_check("", "\n #include <stdlib.h>\n #include <time.h>\n #include <string.h>\n\n #if HAVE_TZNAME\n extern char *tzname[];\n #endif\n\n int main(void)\n {\n time_t groundhogday = 1044144000; /* GMT-based */\n time_t midyear = groundhogday + (365 * 24 * 3600 / 2);\n\n putenv(\"TZ=UTC+0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 0)\n exit(1);\n #if HAVE_TZNAME\n if (strcmp(tzname[0], \"UTC\") ||\n (tzname[1][0] != 0 && tzname[1][0] != ' '))\n exit(1);\n #endif\n\n putenv(\"TZ=EST+5EDT,M4.1.0,M10.5.0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 19)\n exit(1);\n #if HAVE_TZNAME\n if (strcmp(tzname[0], \"EST\") || strcmp(tzname[1], \"EDT\"))\n exit(1);\n #endif\n\n putenv(\"TZ=AEST-10AEDT-11,M10.5.0,M3.5.0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 11)\n exit(1);\n #if HAVE_TZNAME\n if (strcmp(tzname[0], \"AEST\") || strcmp(tzname[1], \"AEDT\"))\n exit(1);\n #endif\n\n #if HAVE_STRUCT_TM_TM_ZONE\n if (strcmp(localtime(&groundhogday)->tm_zone, \"AEDT\"))\n exit(1);\n if (strcmp(localtime(&midyear)->tm_zone, \"AEST\"))\n exit(1);\n #endif\n\n exit(0);\n }\n ") ? "yes" : "no")
6091+ ac_cv_working_tzset = (pyconf_run_check("", "\n #include <stdlib.h>\n #include <time.h>\n #include <string.h>\n\n #if HAVE_TZNAME\n extern char *tzname[];\n #endif\n\n int main(void)\n {\n time_t groundhogday = 1044144000; /* GMT-based */\n time_t midyear = groundhogday + (365 * 24 * 3600 / 2);\n\n putenv(\"TZ=UTC+0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 0)\n exit(1);\n #if HAVE_TZNAME\n /* For UTC, tzname[1] is sometimes \"\", sometimes \" \" */\n if (strcmp(tzname[0], \"UTC\") ||\n (tzname[1][0] != 0 && tzname[1][0] != ' '))\n exit(1);\n #endif\n\n putenv(\"TZ=EST+5EDT,M4.1.0,M10.5.0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 19)\n exit(1);\n #if HAVE_TZNAME\n if (strcmp(tzname[0], \"EST\") || strcmp(tzname[1], \"EDT\"))\n exit(1);\n #endif\n\n putenv(\"TZ=AEST-10AEDT-11,M10.5.0,M3.5.0\");\n tzset();\n if (localtime(&groundhogday)->tm_hour != 11)\n exit(1);\n #if HAVE_TZNAME\n if (strcmp(tzname[0], \"AEST\") || strcmp(tzname[1], \"AEDT\"))\n exit(1);\n #endif\n\n #if HAVE_STRUCT_TM_TM_ZONE\n if (strcmp(localtime(&groundhogday)->tm_zone, \"AEDT\"))\n exit(1);\n if (strcmp(localtime(&midyear)->tm_zone, \"AEST\"))\n exit(1);\n #endif\n\n exit(0);\n }\n ") ? "yes" : "no")
60896092 pyconf_result(ac_cv_working_tzset)
60906093 if (((ac_cv_working_tzset != "") && (ac_cv_working_tzset != "no"))) {
60916094 pyconf_define("HAVE_WORKING_TZSET", 1, 0, "Define if tzset() actually switches the local timezone in a meaningful way.")
0 commit comments