xref: /freebsd/lib/clang/headers/Makefile (revision 770cf0a5f02dc8983a89c6568d741fbc25baa999)
1.include <bsd.init.mk>
2.include "../clang.pre.mk"
3
4.PATH:		${CLANG_SRCS}/lib/Headers
5
6INCSGROUPS+=	INCS
7INCSDIR=	${LIBDIR}/clang/21/include
8INCS+=		__clang_cuda_builtin_vars.h
9INCS+=		__clang_cuda_cmath.h
10INCS+=		__clang_cuda_complex_builtins.h
11INCS+=		__clang_cuda_device_functions.h
12INCS+=		__clang_cuda_intrinsics.h
13INCS+=		__clang_cuda_libdevice_declares.h
14INCS+=		__clang_cuda_math.h
15INCS+=		__clang_cuda_math_forward_declares.h
16INCS+=		__clang_cuda_runtime_wrapper.h
17INCS+=		__clang_cuda_texture_intrinsics.h
18INCS+=		__clang_hip_cmath.h
19INCS+=		__clang_hip_libdevice_declares.h
20INCS+=		__clang_hip_math.h
21INCS+=		__clang_hip_runtime_wrapper.h
22INCS+=		__clang_hip_stdlib.h
23INCS+=		__clang_spirv_builtins.h
24INCS+=		__stdarg___gnuc_va_list.h
25INCS+=		__stdarg___va_copy.h
26INCS+=		__stdarg_header_macro.h
27INCS+=		__stdarg_va_arg.h
28INCS+=		__stdarg_va_copy.h
29INCS+=		__stdarg_va_list.h
30INCS+=		__stddef_header_macro.h
31INCS+=		__stddef_max_align_t.h
32INCS+=		__stddef_null.h
33INCS+=		__stddef_nullptr_t.h
34INCS+=		__stddef_offsetof.h
35INCS+=		__stddef_ptrdiff_t.h
36INCS+=		__stddef_rsize_t.h
37INCS+=		__stddef_size_t.h
38INCS+=		__stddef_unreachable.h
39INCS+=		__stddef_wchar_t.h
40INCS+=		__stddef_wint_t.h
41INCS+=		__wmmintrin_aes.h
42INCS+=		__wmmintrin_pclmul.h
43INCS+=		adcintrin.h
44INCS+=		adxintrin.h
45INCS+=		altivec.h
46INCS+=		amdgpuintrin.h
47INCS+=		ammintrin.h
48INCS+=		amxavx512intrin.h
49INCS+=		amxbf16transposeintrin.h
50INCS+=		amxcomplexintrin.h
51INCS+=		amxcomplextransposeintrin.h
52INCS+=		amxfp16intrin.h
53INCS+=		amxfp16transposeintrin.h
54INCS+=		amxfp8intrin.h
55INCS+=		amxintrin.h
56INCS+=		amxmovrsintrin.h
57INCS+=		amxmovrstransposeintrin.h
58INCS+=		amxtf32intrin.h
59INCS+=		amxtf32transposeintrin.h
60INCS+=		amxtransposeintrin.h
61INCS+=		andes_vector.h
62INCS+=		arm64intr.h
63INCS+=		arm_acle.h
64INCS+=		arm_cmse.h
65INCS+=		arm_neon_sve_bridge.h
66INCS+=		armintr.h
67INCS+=		avx10_2_512bf16intrin.h
68INCS+=		avx10_2_512convertintrin.h
69INCS+=		avx10_2_512minmaxintrin.h
70INCS+=		avx10_2_512niintrin.h
71INCS+=		avx10_2_512satcvtdsintrin.h
72INCS+=		avx10_2_512satcvtintrin.h
73INCS+=		avx10_2bf16intrin.h
74INCS+=		avx10_2convertintrin.h
75INCS+=		avx10_2copyintrin.h
76INCS+=		avx10_2minmaxintrin.h
77INCS+=		avx10_2niintrin.h
78INCS+=		avx10_2satcvtdsintrin.h
79INCS+=		avx10_2satcvtintrin.h
80INCS+=		avx2intrin.h
81INCS+=		avx512bf16intrin.h
82INCS+=		avx512bitalgintrin.h
83INCS+=		avx512bwintrin.h
84INCS+=		avx512cdintrin.h
85INCS+=		avx512dqintrin.h
86INCS+=		avx512fintrin.h
87INCS+=		avx512fp16intrin.h
88INCS+=		avx512ifmaintrin.h
89INCS+=		avx512ifmavlintrin.h
90INCS+=		avx512vbmi2intrin.h
91INCS+=		avx512vbmiintrin.h
92INCS+=		avx512vbmivlintrin.h
93INCS+=		avx512vlbf16intrin.h
94INCS+=		avx512vlbitalgintrin.h
95INCS+=		avx512vlbwintrin.h
96INCS+=		avx512vlcdintrin.h
97INCS+=		avx512vldqintrin.h
98INCS+=		avx512vlfp16intrin.h
99INCS+=		avx512vlintrin.h
100INCS+=		avx512vlvbmi2intrin.h
101INCS+=		avx512vlvnniintrin.h
102INCS+=		avx512vlvp2intersectintrin.h
103INCS+=		avx512vnniintrin.h
104INCS+=		avx512vp2intersectintrin.h
105INCS+=		avx512vpopcntdqintrin.h
106INCS+=		avx512vpopcntdqvlintrin.h
107INCS+=		avxifmaintrin.h
108INCS+=		avxintrin.h
109INCS+=		avxneconvertintrin.h
110INCS+=		avxvnniint16intrin.h
111INCS+=		avxvnniint8intrin.h
112INCS+=		avxvnniintrin.h
113INCS+=		bmi2intrin.h
114INCS+=		bmiintrin.h
115INCS+=		builtins.h
116INCS+=		cet.h
117INCS+=		cetintrin.h
118INCS+=		cldemoteintrin.h
119INCS+=		clflushoptintrin.h
120INCS+=		clwbintrin.h
121INCS+=		clzerointrin.h
122INCS+=		cmpccxaddintrin.h
123INCS+=		cpuid.h
124INCS+=		crc32intrin.h
125INCS+=		emmintrin.h
126INCS+=		enqcmdintrin.h
127INCS+=		f16cintrin.h
128INCS+=		fma4intrin.h
129INCS+=		fmaintrin.h
130INCS+=		fxsrintrin.h
131INCS+=		gfniintrin.h
132INCS+=		gpuintrin.h
133INCS+=		hexagon_circ_brev_intrinsics.h
134INCS+=		hexagon_protos.h
135INCS+=		hexagon_types.h
136INCS+=		hlsl.h
137INCS+=		hresetintrin.h
138INCS+=		htmintrin.h
139INCS+=		htmxlintrin.h
140INCS+=		hvx_hexagon_protos.h
141INCS+=		ia32intrin.h
142INCS+=		immintrin.h
143INCS+=		invpcidintrin.h
144INCS+=		keylockerintrin.h
145INCS+=		larchintrin.h
146INCS+=		lasxintrin.h
147INCS+=		lsxintrin.h
148INCS+=		lwpintrin.h
149INCS+=		lzcntintrin.h
150INCS+=		mm3dnow.h
151INCS+=		mm_malloc.h
152INCS+=		mmintrin.h
153INCS+=		module.modulemap
154INCS+=		movdirintrin.h
155INCS+=		movrs_avx10_2_512intrin.h
156INCS+=		movrs_avx10_2intrin.h
157INCS+=		movrsintrin.h
158INCS+=		msa.h
159INCS+=		mwaitxintrin.h
160INCS+=		nmmintrin.h
161INCS+=		nvptxintrin.h
162INCS+=		opencl-c-base.h
163INCS+=		opencl-c.h
164INCS+=		pconfigintrin.h
165INCS+=		pkuintrin.h
166INCS+=		pmmintrin.h
167INCS+=		popcntintrin.h
168INCS+=		prfchiintrin.h
169INCS+=		prfchwintrin.h
170INCS+=		ptrauth.h
171INCS+=		ptwriteintrin.h
172INCS+=		raointintrin.h
173INCS+=		rdpruintrin.h
174INCS+=		rdseedintrin.h
175INCS+=		riscv_bitmanip.h
176INCS+=		riscv_corev_alu.h
177INCS+=		riscv_crypto.h
178INCS+=		riscv_ntlh.h
179INCS+=		rtmintrin.h
180INCS+=		s390intrin.h
181INCS+=		serializeintrin.h
182INCS+=		sgxintrin.h
183INCS+=		sha512intrin.h
184INCS+=		shaintrin.h
185INCS+=		sifive_vector.h
186INCS+=		sm3intrin.h
187INCS+=		sm4evexintrin.h
188INCS+=		sm4intrin.h
189INCS+=		smmintrin.h
190INCS+=		stdckdint.h
191INCS+=		stdcountof.h
192INCS+=		tbmintrin.h
193INCS+=		tmmintrin.h
194INCS+=		tsxldtrkintrin.h
195INCS+=		uintrintrin.h
196INCS+=		usermsrintrin.h
197INCS+=		vadefs.h
198INCS+=		vaesintrin.h
199INCS+=		vecintrin.h
200INCS+=		velintrin.h
201INCS+=		velintrin_approx.h
202INCS+=		velintrin_gen.h
203INCS+=		vpclmulqdqintrin.h
204INCS+=		waitpkgintrin.h
205INCS+=		wasm_simd128.h
206INCS+=		wbnoinvdintrin.h
207INCS+=		wmmintrin.h
208INCS+=		x86gprintrin.h
209INCS+=		x86intrin.h
210INCS+=		xmmintrin.h
211INCS+=		xopintrin.h
212INCS+=		xsavecintrin.h
213INCS+=		xsaveintrin.h
214INCS+=		xsaveoptintrin.h
215INCS+=		xsavesintrin.h
216INCS+=		xtestintrin.h
217INCS+=		yvals_core.h
218INCS+=		${GENINCS}
219
220# Headers which possibly conflict with our own versions:
221.ifdef INSTALL_CONFLICTING_CLANG_HEADERS
222INCS+=		float.h
223INCS+=		intrin.h
224INCS+=		intrin0.h
225INCS+=		inttypes.h
226INCS+=		iso646.h
227INCS+=		limits.h
228INCS+=		stdalign.h
229INCS+=		stdarg.h
230INCS+=		stdatomic.h
231INCS+=		stdbool.h
232INCS+=		stddef.h
233INCS+=		stdint.h
234INCS+=		stdnoreturn.h
235INCS+=		tgmath.h
236INCS+=		unwind.h
237INCS+=		varargs.h
238.endif # INSTALL_CONFLICTING_CLANG_HEADERS
239
240INCSGROUPS+=	CUDA
241CUDADIR=	${INCSDIR}/cuda_wrappers
242CUDA+=		cuda_wrappers/algorithm
243CUDA+=		cuda_wrappers/cmath
244CUDA+=		cuda_wrappers/complex
245CUDA+=		cuda_wrappers/new
246
247INCSGROUPS+=	CUDB
248CUDBDIR=	${INCSDIR}/cuda_wrappers/bits
249CUDB+=		cuda_wrappers/bits/basic_string.h
250CUDB+=		cuda_wrappers/bits/basic_string.tcc
251CUDB+=		cuda_wrappers/bits/c++config.h
252CUDB+=		cuda_wrappers/bits/shared_ptr_base.h
253
254INCSGROUPS+=	HLSL
255HLSLDIR=	${INCSDIR}/hlsl
256HLSL+=		hlsl/hlsl_alias_intrinsics.h
257HLSL+=		hlsl/hlsl_basic_types.h
258HLSL+=		hlsl/hlsl_compat_overloads.h
259HLSL+=		hlsl/hlsl_detail.h
260HLSL+=		hlsl/hlsl_intrinsic_helpers.h
261HLSL+=		hlsl/hlsl_intrinsics.h
262HLSL+=		hlsl/hlsl_spirv.h
263
264INCSGROUPS+=	OMP
265OMPDIR=		${INCSDIR}/openmp_wrappers
266OMP+=		openmp_wrappers/__clang_openmp_device_functions.h
267OMP+=		openmp_wrappers/cmath
268OMP+=		openmp_wrappers/complex
269OMP+=		openmp_wrappers/complex.h
270OMP+=		openmp_wrappers/complex_cmath.h
271OMP+=		openmp_wrappers/math.h
272OMP+=		openmp_wrappers/new
273OMP+=		openmp_wrappers/stdlib.h
274OMP+=		openmp_wrappers/time.h
275
276INCSGROUPS+=	PPC
277PPCDIR=		${INCSDIR}/ppc_wrappers
278PPC+=		ppc_wrappers/bmi2intrin.h
279PPC+=		ppc_wrappers/bmiintrin.h
280PPC+=		ppc_wrappers/emmintrin.h
281PPC+=		ppc_wrappers/immintrin.h
282PPC+=		ppc_wrappers/mm_malloc.h
283PPC+=		ppc_wrappers/mmintrin.h
284PPC+=		ppc_wrappers/nmmintrin.h
285PPC+=		ppc_wrappers/pmmintrin.h
286PPC+=		ppc_wrappers/smmintrin.h
287PPC+=		ppc_wrappers/tmmintrin.h
288PPC+=		ppc_wrappers/x86gprintrin.h
289PPC+=		ppc_wrappers/x86intrin.h
290PPC+=		ppc_wrappers/xmmintrin.h
291
292.for hdr in bf16/bf16 cde/cde-header fp16/fp16 mve/mve-header neon/neon \
293	sme/sme-header sve/sve-header
294arm_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
295	${CLANG_TBLGEN} -gen-arm-${hdr:T} \
296	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
297	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
298GENINCS+=	arm_${hdr:H}.h
299.endfor
300
301arm_vector_types.h: ${CLANG_SRCS}/include/clang/Basic/arm_sme.td
302	${CLANG_TBLGEN} -gen-arm-vector-type \
303	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
304	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
305GENINCS+=	arm_vector_types.h
306
307.for hdr in vector/vector-header
308riscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
309	${CLANG_TBLGEN} -gen-riscv-${hdr:T} \
310	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
311	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
312GENINCS+=	riscv_${hdr:H}.h
313.endfor
314
315CLEANFILES=	${GENINCS} ${GENINCS:C/$/.d/}
316
317.include <bsd.prog.mk>
318