xref: /haiku/src/system/libroot/posix/time/Jamfile (revision 23f179da55b1bd1ba84fbf3d3c56947e2c8d0aca)
1SubDir HAIKU_TOP src system libroot posix time ;
2
3# for localtime.c strftime.c
4SubDirCcFlags -DNOID -DTZDIR='get_timezones_directory()' -DUSG_COMPAT
5	-DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -DPCTS=1 -DSTD_INSPIRED ;
6
7UsePrivateHeaders [ FDirName libroot time ] ;
8UsePrivateSystemHeaders ;
9
10MergeObject posix_time.o :
11	asctime.c
12	clock.c
13	ctime.c
14	difftime.c
15	localtime.c
16	nanosleep.c
17	stime.c
18	strftime.c
19	strptime.c
20	timelocal.c
21	time.c
22;
23
24# Explanations of flags:
25#
26# If you want to use System V compatibility code, add
27#	-DUSG_COMPAT
28# to the end of the "CFLAGS=" line.  This arrange for "timezone" and "daylight"
29# variables to be kept up-to-date by the time conversion functions.  Neither
30# "timezone" nor "daylight" is described in X3J11's work.
31#
32# If your system has a "GMT offset" field in its "struct tm"s
33# (or if you decide to add such a field in your system's "time.h" file),
34# add the name to a define such as
35#	-DTM_GMTOFF=tm_gmtoff
36# or
37#	-DTM_GMTOFF=_tm_gmtoff
38# to the end of the "CFLAGS=" line.
39# Neither tm_gmtoff nor _tm_gmtoff is described in X3J11's work;
40# in its work, use of "tm_gmtoff" is described as non-conforming.
41# Both Linux and BSD have done the equivalent of defining TM_GMTOFF in
42# their recent releases.
43#
44# If your system has a "zone abbreviation" field in its "struct tm"s
45# (or if you decide to add such a field in your system's "time.h" file),
46# add the name to a define such as
47#	-DTM_ZONE=tm_zone
48# or
49#	-DTM_ZONE=_tm_zone
50# to the end of the "CFLAGS=" line.
51# Neither tm_zone nor _tm_zone is described in X3J11's work;
52# in its work, use of "tm_zone" is described as non-conforming.
53# Both UCB and Sun have done the equivalent of defining TM_ZONE in
54# their recent releases.
55#
56# If you want functions that were inspired by early versions of X3J11's work,
57# add
58#	-DSTD_INSPIRED
59# to the end of the "CFLAGS=" line.  This arranges for the functions
60# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
61# "posix2time", and "time2posix" to be added to the time conversion library.
62# "tzsetwall" is like "tzset" except that it arranges for local wall clock
63# time (rather than the time specified in the TZ environment variable)
64# to be used.
65# "offtime" is like "gmtime" except that it accepts a second (long) argument
66# that gives an offset to add to the time_t when converting it.
67# "timelocal" is equivalent to "mktime".
68# "timegm" is like "timelocal" except that it turns a struct tm into
69# a time_t using UTC (rather than local time as "timelocal" does).
70# "timeoff" is like "timegm" except that it accepts a second (long) argument
71# that gives an offset to use when converting to a time_t.
72# "posix2time" and "time2posix" are described in an included manual page.
73# X3J11's work does not describe any of these functions.
74# Sun has provided "tzsetwall", "timelocal", and "timegm" in SunOS 4.0.
75# These functions may well disappear in future releases of the time
76# conversion package.
77#
78# If you want Source Code Control System ID's left out of object modules, add
79#	-DNOID
80# to the end of the "CFLAGS=" line.
81#
82# NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put
83# out by the National Institute of Standards and Technology
84# which claims to test C and Posix conformance.  If you want to pass PCTS, add
85#	-DPCTS
86# to the end of the "CFLAGS=" line.
87