PowerPC: Consolidate NPTL/non versions of clone
[glibc.git] / conform / Makefile
blob6bff8a3371e4c5773977c09e874bf9e458ac132f
1 # Copyright (C) 1999-2014 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 # <http://www.gnu.org/licenses/>.
19 # Sub-makefile for conform portion of the library.
21 subdir := conform
23 include ../Makeconfig
25 conformtest-headers-data := $(wildcard data/*.h-data) \
26 $(wildcard data/*/*.h-data)
28 conformtest-standards := ISO ISO99 ISO11 POSIX XPG3 XPG4 UNIX98 XOPEN2K \
29 POSIX2008 XOPEN2K8
31 conformtest-headers-ISO := assert.h ctype.h errno.h float.h limits.h locale.h \
32 math.h setjmp.h signal.h stdarg.h stddef.h stdio.h \
33 stdlib.h string.h time.h
34 conformtest-headers-ISO99 := $(conformtest-headers-ISO) complex.h fenv.h \
35 inttypes.h iso646.h stdbool.h stdint.h tgmath.h \
36 wchar.h wctype.h
37 # Missing ISO11 expectations for: stdatomic.h threads.h.
38 conformtest-headers-ISO11 := $(conformtest-headers-ISO99) stdalign.h \
39 stdnoreturn.h uchar.h
40 conformtest-headers-POSIX := $(conformtest-headers-ISO) aio.h dirent.h \
41 fcntl.h fnmatch.h glob.h grp.h mqueue.h \
42 pthread.h pwd.h regex.h sched.h semaphore.h \
43 sys/mman.h sys/stat.h sys/times.h sys/types.h \
44 sys/utsname.h sys/wait.h tar.h termios.h \
45 unistd.h utime.h wordexp.h
46 # Missing XPG3 expectations for: regexp.h wchar.h.
47 conformtest-headers-XPG3 := $(conformtest-headers-ISO) cpio.h dirent.h \
48 fcntl.h fnmatch.h ftw.h glob.h grp.h iconv.h \
49 langinfo.h monetary.h nl_types.h pwd.h regex.h \
50 search.h sys/ipc.h sys/msg.h sys/sem.h sys/shm.h \
51 sys/stat.h sys/times.h sys/types.h sys/utsname.h \
52 sys/wait.h tar.h termios.h ulimit.h unistd.h \
53 utime.h varargs.h wordexp.h
54 # Missing XPG4 expectations for: re_comp.h regexp.h wchar.h.
55 # XPG4 includes XTI, but xti.h is outside the scope of these tests.
56 conformtest-headers-XPG4 := $(conformtest-headers-XPG3) arpa/inet.h fmtmsg.h \
57 libgen.h ndbm.h netdb.h netinet/in.h poll.h \
58 strings.h stropts.h sys/mman.h sys/resource.h \
59 sys/socket.h sys/statvfs.h sys/time.h sys/timeb.h \
60 sys/uio.h sys/un.h syslog.h ucontext.h utmpx.h
61 # Missing UNIX98 expectations for: inttypes.h re_comp.h regexp.h.
62 # The online UNIX98 includes XCURSES, but curses.h, term.h and
63 # unctrl.h are outside the scope of these tests. It also includes
64 # XTI, but xti.h is outside the scope of these tests.
65 conformtest-headers-UNIX98 := $(conformtest-headers-POSIX) arpa/inet.h cpio.h \
66 dlfcn.h fmtmsg.h ftw.h iconv.h iso646.h \
67 langinfo.h libgen.h monetary.h ndbm.h netdb.h \
68 netinet/in.h nl_types.h poll.h search.h \
69 strings.h stropts.h sys/ipc.h sys/msg.h \
70 sys/resource.h sys/sem.h sys/shm.h sys/socket.h \
71 sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
72 sys/un.h syslog.h ucontext.h ulimit.h utmpx.h \
73 varargs.h wchar.h wctype.h
74 # Missing XOPEN2K expectations for: trace.h.
75 conformtest-headers-XOPEN2K := $(conformtest-headers-POSIX) arpa/inet.h \
76 complex.h cpio.h dlfcn.h fenv.h fmtmsg.h ftw.h \
77 iconv.h inttypes.h iso646.h langinfo.h \
78 libgen.h monetary.h ndbm.h net/if.h netdb.h \
79 netinet/in.h netinet/tcp.h nl_types.h poll.h \
80 search.h spawn.h stdbool.h stdint.h strings.h \
81 stropts.h sys/ipc.h sys/msg.h sys/resource.h \
82 sys/select.h sys/sem.h sys/shm.h sys/socket.h \
83 sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
84 sys/un.h syslog.h tgmath.h ucontext.h ulimit.h \
85 utmpx.h wchar.h wctype.h
86 # Missing POSIX2008 expectations for: trace.h.
87 conformtest-headers-POSIX2008 := $(conformtest-headers-POSIX) arpa/inet.h \
88 complex.h cpio.h dlfcn.h fenv.h iconv.h \
89 inttypes.h iso646.h langinfo.h monetary.h \
90 net/if.h netdb.h netinet/in.h netinet/tcp.h \
91 nl_types.h poll.h spawn.h stdbool.h stdint.h \
92 strings.h stropts.h sys/select.h \
93 sys/socket.h sys/statvfs.h sys/un.h tgmath.h \
94 wchar.h wctype.h
95 # Missing XOPEN2K8 expectations for: trace.h.
96 conformtest-headers-XOPEN2K8 := $(conformtest-headers-POSIX2008) fmtmsg.h \
97 ftw.h libgen.h ndbm.h search.h sys/ipc.h \
98 sys/msg.h sys/resource.h sys/sem.h sys/shm.h \
99 sys/time.h sys/uio.h syslog.h ulimit.h utmpx.h
101 conformtest-header-list-base := $(foreach std,$(conformtest-standards),\
102 header-list-$(std).out)
103 conformtest-header-list-tests := $(addprefix $(objpfx),\
104 $(conformtest-header-list-base))
105 tests-special += $(conformtest-header-list-tests)
106 generated += $(conformtest-header-list-base)
108 conformtest-header-base := $(foreach std,\
109 $(conformtest-standards),\
110 $(foreach h,\
111 $(conformtest-headers-$(std)),\
112 $(std)/$(h)/conform.out))
113 conformtest-header-tests := $(addprefix $(objpfx),$(conformtest-header-base))
114 ifneq (yes,$(fast-check))
115 ifeq (no,$(cross-compiling))
116 tests-special += $(conformtest-header-tests)
117 generated += $(conformtest-header-base)
118 endif
119 endif
121 include ../Rules
123 $(conformtest-header-list-tests): $(objpfx)header-list-%.out: \
124 check-header-lists.sh \
125 $(conformtest-headers-data)
126 $(SHELL) $< "$*" "$(CC)" "$(strip $(conformtest-headers-$*))" \
127 "$(conformtest-headers-data)" > $@; \
128 $(evaluate-test)
130 # GCC 4.6 and earlier lack features required by these tests.
131 test-xfail-ISO11/complex.h/conform = yes
132 test-xfail-ISO11/stdalign.h/conform = yes
133 test-xfail-ISO11/stdnoreturn.h/conform = yes
135 # Pre-standard C feature no longer supported by GCC (obsoleted in
136 # newer POSIX standards).
137 test-xfail-XPG3/varargs.h/conform = yes
138 test-xfail-XPG4/varargs.h/conform = yes
139 test-xfail-UNIX98/varargs.h/conform = yes
141 # Header not provided by glibc.
142 test-xfail-XPG4/ndbm.h/conform = yes
143 test-xfail-UNIX98/ndbm.h/conform = yes
144 test-xfail-XOPEN2K/ndbm.h/conform = yes
145 test-xfail-XOPEN2K8/ndbm.h/conform = yes
147 # Unsorted expected failures.
148 test-xfail-XPG3/fcntl.h/conform = yes
149 test-xfail-XPG3/ftw.h/conform = yes
150 test-xfail-XPG3/grp.h/conform = yes
151 test-xfail-XPG3/langinfo.h/conform = yes
152 test-xfail-XPG3/limits.h/conform = yes
153 test-xfail-XPG3/pwd.h/conform = yes
154 test-xfail-XPG3/search.h/conform = yes
155 test-xfail-XPG3/signal.h/conform = yes
156 test-xfail-XPG3/stdio.h/conform = yes
157 test-xfail-XPG3/stdlib.h/conform = yes
158 test-xfail-XPG3/string.h/conform = yes
159 test-xfail-XPG3/sys/ipc.h/conform = yes
160 test-xfail-XPG3/sys/msg.h/conform = yes
161 test-xfail-XPG3/sys/sem.h/conform = yes
162 test-xfail-XPG3/sys/shm.h/conform = yes
163 test-xfail-XPG3/sys/stat.h/conform = yes
164 test-xfail-XPG3/sys/types.h/conform = yes
165 test-xfail-XPG3/sys/wait.h/conform = yes
166 test-xfail-XPG3/termios.h/conform = yes
167 test-xfail-XPG3/time.h/conform = yes
168 test-xfail-XPG3/unistd.h/conform = yes
169 test-xfail-XPG4/arpa/inet.h/conform = yes
170 test-xfail-XPG4/fcntl.h/conform = yes
171 test-xfail-XPG4/langinfo.h/conform = yes
172 test-xfail-XPG4/netdb.h/conform = yes
173 test-xfail-XPG4/netinet/in.h/conform = yes
174 test-xfail-XPG4/signal.h/conform = yes
175 test-xfail-XPG4/stdio.h/conform = yes
176 test-xfail-XPG4/stdlib.h/conform = yes
177 test-xfail-XPG4/stropts.h/conform = yes
178 test-xfail-XPG4/sys/ipc.h/conform = yes
179 test-xfail-XPG4/sys/msg.h/conform = yes
180 test-xfail-XPG4/sys/sem.h/conform = yes
181 test-xfail-XPG4/sys/shm.h/conform = yes
182 test-xfail-XPG4/sys/socket.h/conform = yes
183 test-xfail-XPG4/sys/stat.h/conform = yes
184 test-xfail-XPG4/sys/time.h/conform = yes
185 test-xfail-XPG4/sys/types.h/conform = yes
186 test-xfail-XPG4/sys/wait.h/conform = yes
187 test-xfail-XPG4/termios.h/conform = yes
188 test-xfail-XPG4/ucontext.h/conform = yes
189 test-xfail-XPG4/unistd.h/conform = yes
190 test-xfail-XPG4/utmpx.h/conform = yes
191 test-xfail-UNIX98/arpa/inet.h/conform = yes
192 test-xfail-UNIX98/fcntl.h/conform = yes
193 test-xfail-UNIX98/langinfo.h/conform = yes
194 test-xfail-UNIX98/netdb.h/conform = yes
195 test-xfail-UNIX98/netinet/in.h/conform = yes
196 test-xfail-UNIX98/signal.h/conform = yes
197 test-xfail-UNIX98/stdio.h/conform = yes
198 test-xfail-UNIX98/stdlib.h/conform = yes
199 test-xfail-UNIX98/stropts.h/conform = yes
200 test-xfail-UNIX98/sys/ipc.h/conform = yes
201 test-xfail-UNIX98/sys/msg.h/conform = yes
202 test-xfail-UNIX98/sys/sem.h/conform = yes
203 test-xfail-UNIX98/sys/shm.h/conform = yes
204 test-xfail-UNIX98/sys/socket.h/conform = yes
205 test-xfail-UNIX98/sys/time.h/conform = yes
206 test-xfail-UNIX98/sys/wait.h/conform = yes
207 test-xfail-UNIX98/ucontext.h/conform = yes
208 test-xfail-UNIX98/unistd.h/conform = yes
209 test-xfail-UNIX98/utmpx.h/conform = yes
210 test-xfail-XOPEN2K/aio.h/conform = yes
211 test-xfail-XOPEN2K/arpa/inet.h/conform = yes
212 test-xfail-XOPEN2K/fcntl.h/conform = yes
213 test-xfail-XOPEN2K/langinfo.h/conform = yes
214 test-xfail-XOPEN2K/math.h/conform = yes
215 test-xfail-XOPEN2K/mqueue.h/conform = yes
216 test-xfail-XOPEN2K/netdb.h/conform = yes
217 test-xfail-XOPEN2K/netinet/in.h/conform = yes
218 test-xfail-XOPEN2K/semaphore.h/conform = yes
219 test-xfail-XOPEN2K/signal.h/conform = yes
220 test-xfail-XOPEN2K/stdarg.h/conform = yes
221 test-xfail-XOPEN2K/stdio.h/conform = yes
222 test-xfail-XOPEN2K/stropts.h/conform = yes
223 test-xfail-XOPEN2K/sys/ipc.h/conform = yes
224 test-xfail-XOPEN2K/sys/msg.h/conform = yes
225 test-xfail-XOPEN2K/sys/sem.h/conform = yes
226 test-xfail-XOPEN2K/sys/shm.h/conform = yes
227 test-xfail-XOPEN2K/sys/socket.h/conform = yes
228 test-xfail-XOPEN2K/sys/wait.h/conform = yes
229 test-xfail-XOPEN2K/termios.h/conform = yes
230 test-xfail-XOPEN2K/tgmath.h/conform = yes
231 test-xfail-XOPEN2K/ucontext.h/conform = yes
232 test-xfail-XOPEN2K/utmpx.h/conform = yes
233 test-xfail-POSIX2008/arpa/inet.h/conform = yes
234 test-xfail-POSIX2008/fcntl.h/conform = yes
235 test-xfail-POSIX2008/netdb.h/conform = yes
236 test-xfail-POSIX2008/netinet/in.h/conform = yes
237 test-xfail-POSIX2008/signal.h/conform = yes
238 test-xfail-POSIX2008/stropts.h/conform = yes
239 test-xfail-POSIX2008/sys/socket.h/conform = yes
240 test-xfail-POSIX2008/sys/wait.h/conform = yes
241 test-xfail-XOPEN2K8/arpa/inet.h/conform = yes
242 test-xfail-XOPEN2K8/fcntl.h/conform = yes
243 test-xfail-XOPEN2K8/limits.h/conform = yes
244 test-xfail-XOPEN2K8/math.h/conform = yes
245 test-xfail-XOPEN2K8/netdb.h/conform = yes
246 test-xfail-XOPEN2K8/netinet/in.h/conform = yes
247 test-xfail-XOPEN2K8/signal.h/conform = yes
248 test-xfail-XOPEN2K8/stdio.h/conform = yes
249 test-xfail-XOPEN2K8/stropts.h/conform = yes
250 test-xfail-XOPEN2K8/sys/ipc.h/conform = yes
251 test-xfail-XOPEN2K8/sys/msg.h/conform = yes
252 test-xfail-XOPEN2K8/sys/select.h/conform = yes
253 test-xfail-XOPEN2K8/sys/sem.h/conform = yes
254 test-xfail-XOPEN2K8/sys/shm.h/conform = yes
255 test-xfail-XOPEN2K8/sys/socket.h/conform = yes
256 test-xfail-XOPEN2K8/sys/time.h/conform = yes
257 test-xfail-XOPEN2K8/sys/wait.h/conform = yes
258 test-xfail-XOPEN2K8/termios.h/conform = yes
259 test-xfail-XOPEN2K8/tgmath.h/conform = yes
260 test-xfail-XOPEN2K8/utmpx.h/conform = yes
262 conformtest-cc-flags = -I../include $(+sysdep-includes) $(sysincludes) -I..
263 $(conformtest-header-tests): $(objpfx)%/conform.out: \
264 conformtest.pl $(conformtest-headers-data)
265 (set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
266 mkdir -p $(@D)/scratch; \
267 $(PERL) conformtest.pl --tmpdir=$(@D)/scratch --cc='$(CC)' \
268 --flags='$(conformtest-cc-flags)' --standard=$$std \
269 --headers=$$hdr > $@); \
270 $(evaluate-test)