]> git.ipfire.org Git - thirdparty/glibc.git/blame - io/Makefile
io: Fix record locking contants for powerpc64 with __USE_FILE_OFFSET64
[thirdparty/glibc.git] / io / Makefile
CommitLineData
6d7e8eda 1# Copyright (C) 1992-2023 Free Software Foundation, Inc.
28f540f4
RM
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
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.
28f540f4
RM
8
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
41bdb6e2 12# Lesser General Public License for more details.
28f540f4 13
41bdb6e2 14# You should have received a copy of the GNU Lesser General Public
59ba27a6 15# License along with the GNU C Library; if not, see
5a82c748 16# <https://www.gnu.org/licenses/>.
28f540f4
RM
17
18#
19# Sub-makefile for I/O portion of the library.
20#
15125996 21subdir := io
28f540f4 22
a5f891ac
JM
23include ../Makeconfig
24
a118dc31
AZ
25headers := \
26 bits/fcntl.h \
27 bits/fcntl2.h \
28 bits/poll.h \
29 bits/poll2.h \
30 bits/stat.h \
31 bits/statfs.h \
32 bits/statvfs.h \
33 bits/statx-generic.h \
34 bits/statx.h \
35 bits/types/struct_statx.h \
36 bits/types/struct_statx_timestamp.h \
37 fcntl.h \
38 fts.h \
39 ftw.h \
40 poll.h \
41 sys/fcntl.h \
42 sys/poll.h \
43 sys/sendfile.h \
44 sys/stat.h \
45 sys/statfs.h \
46 sys/statvfs.h \
47 sys/vfs.h \
48 utime.h \
49 # headers
50
51routines := \
52 access \
53 chdir \
54 chmod \
55 chown \
56 close \
57 close_range \
58 closefrom \
59 copy_file_range \
60 creat \
61 creat64 \
62 dup \
63 dup2 \
64 dup3 \
65 euidaccess \
66 faccessat \
67 fchdir \
68 fchmod \
69 fchmodat \
70 fchown \
71 fchownat \
72 fcntl \
73 fcntl64 \
74 file_change_detection \
75 flock \
76 fstat \
77 fstat64 \
78 fstatat \
79 fstatat64 \
80 fstatfs \
81 fstatfs64 \
82 fstatvfs \
83 fstatvfs64 \
84 fts \
85 fts64 \
86 fts64-time64 \
87 ftw \
88 ftw64 \
89 ftw64-time64 \
90 futimens \
91 getcwd \
92 getdirname \
93 getwd \
94 isatty \
95 lchmod \
96 lchown \
97 link \
98 linkat \
99 lockf \
100 lockf64 \
101 lseek \
102 lseek64 \
103 lstat \
104 lstat64 \
105 mkdir \
106 mkdirat \
107 mkfifo \
108 mkfifoat \
109 mknod \
110 mknodat \
111 open \
112 open64 \
113 open64_2 \
114 open_2 \
115 openat \
116 openat64 \
117 openat64_2 \
118 openat_2 \
119 pipe \
120 pipe2 \
121 poll \
122 posix_fadvise \
123 posix_fadvise64 \
124 posix_fallocate \
125 posix_fallocate64 \
126 ppoll \
127 read \
128 readlink \
129 readlinkat \
130 rmdir \
131 sendfile \
132 sendfile64 \
133 stat \
134 stat64 \
135 statfs \
136 statfs64 \
137 statvfs \
138 statvfs64 \
139 statx \
140 symlink \
141 symlinkat \
142 ttyname \
143 ttyname_r \
144 umask \
145 unlink \
146 unlinkat \
147 utime \
148 utimensat \
149 write \
150 # routines
151
20c894d2
FB
152# Exclude fortified routines from being built with _FORTIFY_SOURCE
153routines_no_fortify += \
154 getcwd \
155 getwd \
156 open \
157 open64 \
158 openat \
159 openat64 \
160 poll \
161 ppoll \
162 read \
163 readlink \
164 readlinkat \
165 ttyname_r \
166 # routines_no_fortify
167
a118dc31
AZ
168others := \
169 pwd \
170 # others
171
172test-srcs := \
173 ftwtest \
174 ftwtest-time64 \
175 # test-srcs
176
177tests := \
178 bug-ftw1 \
179 bug-ftw2 \
180 bug-ftw3 \
181 bug-ftw4 \
182 bug-ftw5 \
183 test-lfs \
184 test-stat \
185 test-stat2 \
186 test-utime \
187 tst-close_range \
188 tst-closefrom \
189 tst-copy_file_range \
190 tst-faccessat \
191 tst-fchmodat \
192 tst-fchownat \
193 tst-fcntl \
4d0fe291 194 tst-fcntl-lock \
434bf72a 195 tst-fcntl-lock-lfs \
a118dc31
AZ
196 tst-fstatat \
197 tst-fts \
198 tst-fts-lfs \
199 tst-ftw-bz26353 \
200 tst-ftw-bz28126 \
201 tst-ftw-lnk \
202 tst-futimens \
203 tst-futimes \
204 tst-futimesat \
205 tst-getcwd \
206 tst-getcwd-abspath \
207 tst-lchmod \
208 tst-linkat \
209 tst-lockf \
210 tst-lutimes \
211 tst-mkdirat \
212 tst-mkfifoat \
213 tst-mknodat \
214 tst-open-tmpfile \
215 tst-openat \
216 tst-posix_fallocate \
217 tst-posix_fallocate64 \
218 tst-readlinkat \
219 tst-renameat \
220 tst-stat \
221 tst-stat-lfs \
222 tst-statvfs \
223 tst-symlinkat \
224 tst-ttyname_r \
225 tst-unlinkat \
226 tst-utime \
227 tst-utimensat \
228 tst-utimes \
229 # tests
bad7a0c8 230
088d3291 231tests-time64 := \
118a2aee
AZ
232 tst-fcntl-time64 \
233 tst-fts-time64 \
088d3291
AZ
234 tst-futimens-time64 \
235 tst-futimes-time64\
118a2aee
AZ
236 tst-futimesat-time64 \
237 tst-lchmod-time64 \
088d3291
AZ
238 tst-lutimes-time64 \
239 tst-stat-time64 \
088d3291
AZ
240 tst-utime-time64 \
241 tst-utimensat-time64 \
242 tst-utimes-time64 \
8a40aff8 243 # tests-time64
088d3291 244
fd70af45 245# Likewise for statx, but we do not need static linking here.
a118dc31
AZ
246tests-internal += \
247 tst-file_change_detection \
248 tst-statx \
249 # tests-internal
250
251tests-static += \
252 tst-statx \
253 # tests-static
fd70af45 254
f214606a 255ifeq ($(run-built-tests),yes)
a118dc31
AZ
256tests-special += \
257 $(objpfx)ftwtest-time64.out \
258 $(objpfx)ftwtest.out \
259 # tests-special
f214606a
JM
260endif
261
28f540f4 262include ../Rules
0793d348 263
8d98c7c0
AZ
264CFLAGS-open.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
265CFLAGS-openat.c += $(config-cflags-wno-ignored-attributes)
36975e8e
L
266CFLAGS-open64.c += -fexceptions -fasynchronous-unwind-tables
267CFLAGS-creat.c += -fexceptions -fasynchronous-unwind-tables
268CFLAGS-creat64.c += -fexceptions -fasynchronous-unwind-tables
8d98c7c0
AZ
269CFLAGS-fcntl.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
270CFLAGS-fcntl64.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
36975e8e
L
271CFLAGS-poll.c += -fexceptions -fasynchronous-unwind-tables
272CFLAGS-ppoll.c += -fexceptions -fasynchronous-unwind-tables
addff78f 273CFLAGS-lockf.c += -fexceptions -fasynchronous-unwind-tables
8d98c7c0 274CFLAGS-lockf64.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
36975e8e
L
275CFLAGS-statfs.c += -fexceptions
276CFLAGS-fstatfs.c += -fexceptions
8d98c7c0
AZ
277CFLAGS-statvfs.c += -fexceptions $(config-cflags-wno-ignored-attributes)
278CFLAGS-fstatvfs.c += -fexceptions $(config-cflags-wno-ignored-attributes)
36975e8e
L
279CFLAGS-fts.c += -Wno-uninitialized $(uses-callbacks) -fexceptions
280CFLAGS-fts64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions
70961aee 281CFLAGS-fts64-time64.c += -Wno-uninitialized $(uses-callbacks) -fexceptions
36975e8e
L
282CFLAGS-ftw.c += $(uses-callbacks) -fexceptions
283CFLAGS-ftw64.c += $(uses-callbacks) -fexceptions
19873b18 284CFLAGS-ftw64-time64.c += $(uses-callbacks) -fexceptions
36975e8e
L
285CFLAGS-posix_fallocate.c += -fexceptions
286CFLAGS-posix_fallocate64.c += -fexceptions
287CFLAGS-fallocate.c += -fexceptions
288CFLAGS-fallocate64.c += -fexceptions
8d98c7c0
AZ
289CFLAGS-read.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
290CFLAGS-write.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
bdfed2e2 291CFLAGS-close.c += -fexceptions -fasynchronous-unwind-tables
8d98c7c0 292CFLAGS-lseek64.c += $(config-cflags-wno-ignored-attributes)
36975e8e
L
293
294CFLAGS-test-stat.c += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
295CFLAGS-test-lfs.c += -D_LARGEFILE64_SOURCE
118a2aee 296CFLAGS-tst-lchmod.c += -D_FILE_OFFSET_BITS=64
d951286f 297
25851835
UD
298test-stat2-ARGS = Makefile . $(objpfx)test-stat2
299
a14f121d
UD
300tst-statvfs-ARGS = $(objpfx)tst-statvfs tst-statvfs.c /tmp
301
95511aab
JM
302tst-open-tmpfile-ARGS = --test-dir=$(objpfx)
303
088d3291
AZ
304CFLAGS-ftwtest-time64.c += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64
305
03ac099f 306ifeq ($(run-built-tests),yes)
89f1c388 307$(objpfx)ftwtest.out: ftwtest-sh $(objpfx)ftwtest
f0881698
JM
308 $(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@; \
309 $(evaluate-test)
088d3291
AZ
310
311$(objpfx)ftwtest-time64.out: ftwtest-sh $(objpfx)ftwtest-time64
312 $(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@; \
313 $(evaluate-test)
e7a95dc6 314endif