This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta.pod: tweak -Dusedefaultstrict text
[perl5.git] / time64_config.h
CommitLineData
6a5bc5ac
KW
1#ifndef PERL_TIME64_CONFIG_H_
2# define PERL_TIME64_CONFIG_H_
b86b480f 3
5e638b40
KW
4#include "reentr.h"
5
b86b480f
MS
6/* Configuration
7 -------------
8 Define as appropriate for your system.
9 Sensible defaults provided.
10*/
11
461d5a49
MS
12/* Debugging
13 TIME_64_DEBUG
14 Define if you want debugging messages
15*/
16/* #define TIME_64_DEBUG */
17
18
b86b480f 19/* INT_64_T
d95a2ea5 20 A numeric type to store time and others.
b86b480f
MS
21 Must be defined.
22*/
d95a2ea5 23#define INT_64_T NV
b86b480f
MS
24
25
26/* USE_TM64
27 Should we use a 64 bit safe replacement for tm? This will
28 let you go past year 2 billion but the struct will be incompatible
29 with tm. Conversion functions will be provided.
30*/
31#define USE_TM64
32
33
34/* Availability of system functions.
35
36 HAS_GMTIME_R
37 Define if your system has gmtime_r()
38
39 HAS_LOCALTIME_R
40 Define if your system has localtime_r()
41
42 HAS_TIMEGM
43 Define if your system has timegm(), a GNU extension.
44*/
45/* Set in config.h */
46
47
48/* Details of non-standard tm struct elements.
49
50 HAS_TM_TM_GMTOFF
51 True if your tm struct has a "tm_gmtoff" element.
52 A BSD extension.
53
54 HAS_TM_TM_ZONE
55 True if your tm struct has a "tm_zone" element.
56 A BSD extension.
57*/
58/* Set in config.h */
59
60
61/* USE_SYSTEM_LOCALTIME
62 USE_SYSTEM_GMTIME
63 Should we use the system functions if the time is inside their range?
64 Your system localtime() is probably more accurate, but our gmtime() is
ec4d6132
CB
65 fast and safe. Except on VMS, where we need the homegrown gmtime()
66 override to shift between UTC and local for the vmsish 'time' pragma.
b86b480f
MS
67*/
68#define USE_SYSTEM_LOCALTIME
ec4d6132
CB
69#ifdef VMS
70# define USE_SYSTEM_GMTIME
71#endif
b86b480f
MS
72
73
74/* SYSTEM_LOCALTIME_MAX
75 SYSTEM_LOCALTIME_MIN
76 SYSTEM_GMTIME_MAX
77 SYSTEM_GMTIME_MIN
78 Maximum and minimum values your system's gmtime() and localtime()
79 can handle. We will use your system functions if the time falls
80 inside these ranges.
81*/
d95a2ea5
CB
82#define SYSTEM_LOCALTIME_MAX CAT2(LOCALTIME_MAX,.0)
83#define SYSTEM_LOCALTIME_MIN CAT2(LOCALTIME_MIN,.0)
84#define SYSTEM_GMTIME_MAX CAT2(GMTIME_MAX,.0)
85#define SYSTEM_GMTIME_MIN CAT2(GMTIME_MIN,.0)
b86b480f 86
6a5bc5ac 87#endif /* PERL_TIME64_CONFIG_H_ */