X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=m4%2Facinclude.m4;h=e12477f29738cf30c8c0f18a43808a5cd34ef5d0;hp=4ada91974bbb9dd25a6f883a18e4b6f4f770e55a;hb=ba6b7d80dacb05a4c797d10d845fcfad919f661f;hpb=c578eef44367cd7f690cd0147ab9cea5b666bb1f diff --git a/m4/acinclude.m4 b/m4/acinclude.m4 index 4ada919..e12477f 100644 --- a/m4/acinclude.m4 +++ b/m4/acinclude.m4 @@ -545,3 +545,68 @@ fi ]) +dnl idea taken from the autoconf mailing list, posted by +dnl Timur I. Bakeyev timur@gnu.org, +dnl http://mail.gnu.org/pipermail/autoconf/1999-October/008311.html +dnl partly rewritten by Peter Stamfest + +dnl This determines, if struct tm containes tm_gmtoff field +dnl or we should use extern long int timezone. + +dnl Add the following to your acconfig.h: + +dnl /* Define if your struct tm has tm_gmtoff. */ +dnl #undef HAVE_TM_GMTOFF +dnl #undef TM_GMTOFF +dnl +dnl /* Define if you don't have tm_gmtoff but do have the external timezone. */ +dnl #undef HAVE_TIMEZONE + +AC_DEFUN([GC_TIMEZONE], [ + AC_REQUIRE([AC_STRUCT_TM]) + AC_CACHE_CHECK([tm_gmtoff in struct tm], gq_cv_have_tm_gmtoff, + gq_cv_have_tm_gmtoff=no + AC_TRY_COMPILE([#include + #include <$ac_cv_struct_tm> + ], + [struct tm t; + t.tm_gmtoff = 0; + exit(0); + ], + gq_cv_have_tm_gmtoff=yes + ) + ) + + AC_CACHE_CHECK([__tm_gmtoff in struct tm], gq_cv_have___tm_gmtoff, + gq_cv_have___tm_gmtoff=no + AC_TRY_COMPILE([#include + #include <$ac_cv_struct_tm> + ], + [struct tm t; + t.__tm_gmtoff = 0; + exit(0); + ], + gq_cv_have___tm_gmtoff=yes + ) + ) + + if test "$gq_cv_have_tm_gmtoff" = yes ; then + AC_DEFINE(HAVE_TM_GMTOFF,1,[does tm have a tm_gmtoff member]) + AC_DEFINE(TM_GMTOFF, tm_gmtoff,[the real name of tm_gmtoff]) + elif test "$gq_cv_have___tm_gmtoff" = yes ; then + AC_DEFINE(HAVE_TM_GMTOFF) + AC_DEFINE(TM_GMTOFF, __tm_gmtoff) + else + AC_CACHE_CHECK(for timezone, ac_cv_var_timezone, + [AC_TRY_LINK([ + #include + extern long int timezone; + ], + [long int l = timezone;], + ac_cv_var_timezone=yes, + ac_cv_var_timezone=no)]) + if test $ac_cv_var_timezone = yes; then + AC_DEFINE(HAVE_TIMEZONE,1,[is there an external timezone variable instead ?]) + fi + fi +])