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