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