nptl: Add smoke test for pthread_getcpuclockid failure
[glibc.git] / time / Makefile
blob4bfb20811037390fd48d2ec8c4d1795f991f8884
1 # Copyright (C) 1991-2024 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
4 # The GNU C Library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
9 # The GNU C Library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with the GNU C Library; if not, see
16 # <https://www.gnu.org/licenses/>.
19 # Makefile for time routines
21 subdir := time
23 include ../Makeconfig
25 headers := time.h sys/time.h sys/timeb.h bits/time.h \
26 bits/types/clockid_t.h bits/types/clock_t.h \
27 bits/types/struct_itimerspec.h \
28 bits/types/struct_timespec.h bits/types/struct_timeval.h \
29 bits/types/struct_tm.h bits/types/timer_t.h \
30 bits/types/time_t.h bits/types/struct_timeb.h
32 routines := offtime asctime clock ctime ctime_r difftime \
33 gmtime localtime mktime time \
34 gettimeofday settimeofday settimezone \
35 adjtime tzset tzfile getitimer setitimer \
36 stime dysize timegm ftime \
37 getdate strptime strptime_l \
38 strftime wcsftime strftime_l wcsftime_l \
39 timespec_get timespec_getres \
40 clock_getcpuclockid clock_getres \
41 clock_gettime clock_settime clock_nanosleep
43 aux := era alt_digit lc-time-cleanup
45 tests := \
46 bug-asctime \
47 bug-asctime_r \
48 bug-getdate1 \
49 bug-mktime1 \
50 bug-mktime4 \
51 clocktest \
52 test_time \
53 tst-adjtime \
54 tst-clock \
55 tst-clock2 \
56 tst-clock_gettime \
57 tst-clock_nanosleep \
58 tst-clock_settime \
59 tst-cpuclock1 \
60 tst-ctime \
61 tst-difftime \
62 tst-ftime \
63 tst-ftime_l \
64 tst-getdate \
65 tst-gettimeofday \
66 tst-gmtime \
67 tst-itimer \
68 tst-mktime \
69 tst-mktime2 \
70 tst-mktime3 \
71 tst-mktime4 \
72 tst-posixtz \
73 tst-settimeofday \
74 tst-strftime \
75 tst-strftime2 \
76 tst-strftime3 \
77 tst-strftime4 \
78 tst-strptime \
79 tst-strptime-whitespace \
80 tst-strptime2 \
81 tst-strptime3 \
82 tst-time \
83 tst-timegm \
84 tst-timespec_get \
85 tst-timespec_getres \
86 tst-tzfile-fault \
87 tst-tzname \
88 tst-y2039 \
89 tst_wcsftime \
90 # tests
92 tests-time64 := \
93 tst-adjtime-time64 \
94 tst-clock-time64 \
95 tst-clock2-time64 \
96 tst-clock_gettime-time64 \
97 tst-clock_nanosleep-time64 \
98 tst-clock_settime-time64 \
99 tst-cpuclock1-time64 \
100 tst-ctime-time64 \
101 tst-difftime-time64 \
102 tst-gettimeofday-time64 \
103 tst-gmtime-time64 \
104 tst-itimer-time64 \
105 tst-mktime4-time64 \
106 tst-settimeofday-time64 \
107 tst-strftime4-time64 \
108 tst-time-time64 \
109 tst-timegm-time64 \
110 tst-timespec_get-time64 \
111 tst-timespec_getres-time64 \
112 tst-y2039-time64
114 include ../Rules
116 ifeq ($(run-built-tests),yes)
117 LOCALES := de_DE.ISO-8859-1 en_US.ISO-8859-1 ja_JP.EUC-JP fr_FR.UTF-8 \
118 es_ES.UTF-8 pl_PL.UTF-8 ru_RU.UTF-8 \
119 ja_JP.UTF-8 lo_LA.UTF-8 th_TH.UTF-8 \
120 zh_TW.UTF-8 cmn_TW.UTF-8 hak_TW.UTF-8 \
121 nan_TW.UTF-8 lzh_TW.UTF-8
122 include ../gen-locales.mk
124 $(objpfx)tst-ftime_l.out: $(gen-locales)
125 $(objpfx)tst-strptime.out: $(gen-locales)
126 $(objpfx)tst-strftime2.out: $(gen-locales)
127 $(objpfx)tst-strftime3.out: $(gen-locales)
128 endif
130 $(objpfx)tst-clock_gettime: $(librt)
131 $(objpfx)tst-clock_gettime-time64: $(librt)
132 $(objpfx)tst-clock_nanosleep: $(librt)
133 $(objpfx)tst-clock_nanosleep-time64: $(librt)
135 tz-cflags = -DTZDIR='"$(zonedir)"' \
136 -DTZDEFAULT='"$(localtime-file)"' \
137 -DTZDEFRULES='"$(posixrules-file)"'
139 CFLAGS-tzfile.c += $(tz-cflags)
140 CFLAGS-tzset.c += $(tz-cflags)
141 CFLAGS-getdate.c += -fexceptions
142 CFLAGS-clock_nanosleep.c += -fexceptions -fasynchronous-unwind-tables
143 CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables
144 CFLAGS-mktime.c += $(config-cflags-wno-ignored-attributes)
146 # Don't warn about Y2k problem in strftime format string.
147 CFLAGS-test_time.c += -Wno-format
149 test_time-ARGS= EST5EDT CST
151 tst-tzname-ENV = TZDIR=${common-objpfx}timezone/testdata
152 CPPFLAGS-tst-tzname.c += -DTZDEFRULES='"$(posixrules-file)"'
154 bug-getdate1-ARGS = ${objpfx}bug-getdate1-fmt
156 tst-tzfile-fault-ENV = GLIBC_TUNABLES=glibc.rtld.enable_secure=1