xref: /freebsd/lib/clang/headers/Makefile (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
173ff7384SDimitry Andric.include <bsd.init.mk>
2986e05bcSDimitry Andric.include "../clang.pre.mk"
3986e05bcSDimitry Andric
4986e05bcSDimitry Andric.PATH:		${CLANG_SRCS}/lib/Headers
5986e05bcSDimitry Andric
64542f901SDimitry AndricINCSGROUPS+=	INCS
7*0fca6ea1SDimitry AndricINCSDIR=	${LIBDIR}/clang/19/include
809bfd043SDimitry AndricINCS+=		__clang_cuda_builtin_vars.h
9986e05bcSDimitry AndricINCS+=		__clang_cuda_cmath.h
1009bfd043SDimitry AndricINCS+=		__clang_cuda_complex_builtins.h
11611d080eSDimitry AndricINCS+=		__clang_cuda_device_functions.h
12986e05bcSDimitry AndricINCS+=		__clang_cuda_intrinsics.h
13611d080eSDimitry AndricINCS+=		__clang_cuda_libdevice_declares.h
1448aaf27bSDimitry AndricINCS+=		__clang_cuda_math.h
15986e05bcSDimitry AndricINCS+=		__clang_cuda_math_forward_declares.h
16986e05bcSDimitry AndricINCS+=		__clang_cuda_runtime_wrapper.h
175e801ac6SDimitry AndricINCS+=		__clang_cuda_texture_intrinsics.h
18e8d8bef9SDimitry AndricINCS+=		__clang_hip_cmath.h
1948aaf27bSDimitry AndricINCS+=		__clang_hip_libdevice_declares.h
2048aaf27bSDimitry AndricINCS+=		__clang_hip_math.h
2148aaf27bSDimitry AndricINCS+=		__clang_hip_runtime_wrapper.h
22bdd1243dSDimitry AndricINCS+=		__clang_hip_stdlib.h
235f757f3fSDimitry AndricINCS+=		__stdarg___gnuc_va_list.h
245f757f3fSDimitry AndricINCS+=		__stdarg___va_copy.h
25*0fca6ea1SDimitry AndricINCS+=		__stdarg_header_macro.h
265f757f3fSDimitry AndricINCS+=		__stdarg_va_arg.h
275f757f3fSDimitry AndricINCS+=		__stdarg_va_copy.h
285f757f3fSDimitry AndricINCS+=		__stdarg_va_list.h
29*0fca6ea1SDimitry AndricINCS+=		__stddef_header_macro.h
30986e05bcSDimitry AndricINCS+=		__stddef_max_align_t.h
315f757f3fSDimitry AndricINCS+=		__stddef_null.h
325f757f3fSDimitry AndricINCS+=		__stddef_nullptr_t.h
335f757f3fSDimitry AndricINCS+=		__stddef_offsetof.h
345f757f3fSDimitry AndricINCS+=		__stddef_ptrdiff_t.h
355f757f3fSDimitry AndricINCS+=		__stddef_rsize_t.h
365f757f3fSDimitry AndricINCS+=		__stddef_size_t.h
375f757f3fSDimitry AndricINCS+=		__stddef_unreachable.h
385f757f3fSDimitry AndricINCS+=		__stddef_wchar_t.h
395f757f3fSDimitry AndricINCS+=		__stddef_wint_t.h
40986e05bcSDimitry AndricINCS+=		__wmmintrin_aes.h
41986e05bcSDimitry AndricINCS+=		__wmmintrin_pclmul.h
42cb14a3feSDimitry AndricINCS+=		adcintrin.h
43986e05bcSDimitry AndricINCS+=		adxintrin.h
44986e05bcSDimitry AndricINCS+=		altivec.h
45986e05bcSDimitry AndricINCS+=		ammintrin.h
4606c3fb27SDimitry AndricINCS+=		amxcomplexintrin.h
47bdd1243dSDimitry AndricINCS+=		amxfp16intrin.h
4848aaf27bSDimitry AndricINCS+=		amxintrin.h
49cd8e0f1fSDimitry AndricINCS+=		arm64intr.h
50986e05bcSDimitry AndricINCS+=		arm_acle.h
510b37c159SDimitry AndricINCS+=		arm_cmse.h
5204eeddc0SDimitry AndricINCS+=		arm_neon_sve_bridge.h
5309bfd043SDimitry AndricINCS+=		armintr.h
54986e05bcSDimitry AndricINCS+=		avx2intrin.h
552f3724e6SDimitry AndricINCS+=		avx512bf16intrin.h
56fe4fed2eSDimitry AndricINCS+=		avx512bitalgintrin.h
57986e05bcSDimitry AndricINCS+=		avx512bwintrin.h
58986e05bcSDimitry AndricINCS+=		avx512cdintrin.h
59986e05bcSDimitry AndricINCS+=		avx512dqintrin.h
60986e05bcSDimitry AndricINCS+=		avx512fintrin.h
615e801ac6SDimitry AndricINCS+=		avx512fp16intrin.h
62986e05bcSDimitry AndricINCS+=		avx512ifmaintrin.h
63986e05bcSDimitry AndricINCS+=		avx512ifmavlintrin.h
64fe4fed2eSDimitry AndricINCS+=		avx512vbmi2intrin.h
65986e05bcSDimitry AndricINCS+=		avx512vbmiintrin.h
66986e05bcSDimitry AndricINCS+=		avx512vbmivlintrin.h
672f3724e6SDimitry AndricINCS+=		avx512vlbf16intrin.h
68fe4fed2eSDimitry AndricINCS+=		avx512vlbitalgintrin.h
69986e05bcSDimitry AndricINCS+=		avx512vlbwintrin.h
70986e05bcSDimitry AndricINCS+=		avx512vlcdintrin.h
71986e05bcSDimitry AndricINCS+=		avx512vldqintrin.h
725e801ac6SDimitry AndricINCS+=		avx512vlfp16intrin.h
73986e05bcSDimitry AndricINCS+=		avx512vlintrin.h
74fe4fed2eSDimitry AndricINCS+=		avx512vlvbmi2intrin.h
75fe4fed2eSDimitry AndricINCS+=		avx512vlvnniintrin.h
762f3724e6SDimitry AndricINCS+=		avx512vlvp2intersectintrin.h
77fe4fed2eSDimitry AndricINCS+=		avx512vnniintrin.h
782f3724e6SDimitry AndricINCS+=		avx512vp2intersectintrin.h
79302affcbSDimitry AndricINCS+=		avx512vpopcntdqintrin.h
80cd8e0f1fSDimitry AndricINCS+=		avx512vpopcntdqvlintrin.h
81bdd1243dSDimitry AndricINCS+=		avxifmaintrin.h
82986e05bcSDimitry AndricINCS+=		avxintrin.h
83bdd1243dSDimitry AndricINCS+=		avxneconvertintrin.h
8406c3fb27SDimitry AndricINCS+=		avxvnniint16intrin.h
85bdd1243dSDimitry AndricINCS+=		avxvnniint8intrin.h
86e8d8bef9SDimitry AndricINCS+=		avxvnniintrin.h
87986e05bcSDimitry AndricINCS+=		bmi2intrin.h
88986e05bcSDimitry AndricINCS+=		bmiintrin.h
89fe6060f1SDimitry AndricINCS+=		builtins.h
9048aaf27bSDimitry AndricINCS+=		cet.h
91cd8e0f1fSDimitry AndricINCS+=		cetintrin.h
92611d080eSDimitry AndricINCS+=		cldemoteintrin.h
93986e05bcSDimitry AndricINCS+=		clflushoptintrin.h
94cd8e0f1fSDimitry AndricINCS+=		clwbintrin.h
95f849be8aSDimitry AndricINCS+=		clzerointrin.h
96bdd1243dSDimitry AndricINCS+=		cmpccxaddintrin.h
97986e05bcSDimitry AndricINCS+=		cpuid.h
985e801ac6SDimitry AndricINCS+=		crc32intrin.h
99986e05bcSDimitry AndricINCS+=		emmintrin.h
1002f3724e6SDimitry AndricINCS+=		enqcmdintrin.h
101986e05bcSDimitry AndricINCS+=		f16cintrin.h
102986e05bcSDimitry AndricINCS+=		fma4intrin.h
103986e05bcSDimitry AndricINCS+=		fmaintrin.h
104986e05bcSDimitry AndricINCS+=		fxsrintrin.h
105fe4fed2eSDimitry AndricINCS+=		gfniintrin.h
106fe6060f1SDimitry AndricINCS+=		hexagon_circ_brev_intrinsics.h
107fe6060f1SDimitry AndricINCS+=		hexagon_protos.h
108fe6060f1SDimitry AndricINCS+=		hexagon_types.h
10981ad6265SDimitry AndricINCS+=		hlsl.h
110e8d8bef9SDimitry AndricINCS+=		hresetintrin.h
111986e05bcSDimitry AndricINCS+=		htmintrin.h
112986e05bcSDimitry AndricINCS+=		htmxlintrin.h
113fe6060f1SDimitry AndricINCS+=		hvx_hexagon_protos.h
114986e05bcSDimitry AndricINCS+=		ia32intrin.h
115986e05bcSDimitry AndricINCS+=		immintrin.h
116611d080eSDimitry AndricINCS+=		invpcidintrin.h
117e8d8bef9SDimitry AndricINCS+=		keylockerintrin.h
118bdd1243dSDimitry AndricINCS+=		larchintrin.h
1195f757f3fSDimitry AndricINCS+=		lasxintrin.h
1205f757f3fSDimitry AndricINCS+=		lsxintrin.h
12168e19318SDimitry AndricINCS+=		lwpintrin.h
122986e05bcSDimitry AndricINCS+=		lzcntintrin.h
123986e05bcSDimitry AndricINCS+=		mm3dnow.h
124986e05bcSDimitry AndricINCS+=		mm_malloc.h
125986e05bcSDimitry AndricINCS+=		mmintrin.h
126986e05bcSDimitry AndricINCS+=		module.modulemap
127611d080eSDimitry AndricINCS+=		movdirintrin.h
1285042637bSDimitry AndricINCS+=		msa.h
129986e05bcSDimitry AndricINCS+=		mwaitxintrin.h
130986e05bcSDimitry AndricINCS+=		nmmintrin.h
1312f3724e6SDimitry AndricINCS+=		opencl-c-base.h
132986e05bcSDimitry AndricINCS+=		opencl-c.h
133611d080eSDimitry AndricINCS+=		pconfigintrin.h
134986e05bcSDimitry AndricINCS+=		pkuintrin.h
135986e05bcSDimitry AndricINCS+=		pmmintrin.h
136986e05bcSDimitry AndricINCS+=		popcntintrin.h
137bdd1243dSDimitry AndricINCS+=		prfchiintrin.h
138986e05bcSDimitry AndricINCS+=		prfchwintrin.h
139*0fca6ea1SDimitry AndricINCS+=		ptrauth.h
140611d080eSDimitry AndricINCS+=		ptwriteintrin.h
141bdd1243dSDimitry AndricINCS+=		raointintrin.h
142753f127fSDimitry AndricINCS+=		rdpruintrin.h
143986e05bcSDimitry AndricINCS+=		rdseedintrin.h
1445f757f3fSDimitry AndricINCS+=		riscv_bitmanip.h
1455f757f3fSDimitry AndricINCS+=		riscv_crypto.h
14606c3fb27SDimitry AndricINCS+=		riscv_ntlh.h
147986e05bcSDimitry AndricINCS+=		rtmintrin.h
148986e05bcSDimitry AndricINCS+=		s390intrin.h
14948aaf27bSDimitry AndricINCS+=		serializeintrin.h
150611d080eSDimitry AndricINCS+=		sgxintrin.h
15106c3fb27SDimitry AndricINCS+=		sha512intrin.h
152986e05bcSDimitry AndricINCS+=		shaintrin.h
15306c3fb27SDimitry AndricINCS+=		sifive_vector.h
15406c3fb27SDimitry AndricINCS+=		sm3intrin.h
15506c3fb27SDimitry AndricINCS+=		sm4intrin.h
156986e05bcSDimitry AndricINCS+=		smmintrin.h
1575f757f3fSDimitry AndricINCS+=		stdckdint.h
158986e05bcSDimitry AndricINCS+=		tbmintrin.h
159986e05bcSDimitry AndricINCS+=		tmmintrin.h
16048aaf27bSDimitry AndricINCS+=		tsxldtrkintrin.h
161e8d8bef9SDimitry AndricINCS+=		uintrintrin.h
1625f757f3fSDimitry AndricINCS+=		usermsrintrin.h
163986e05bcSDimitry AndricINCS+=		vadefs.h
164fe4fed2eSDimitry AndricINCS+=		vaesintrin.h
165986e05bcSDimitry AndricINCS+=		vecintrin.h
16681ad6265SDimitry AndricINCS+=		velintrin.h
16781ad6265SDimitry AndricINCS+=		velintrin_approx.h
16881ad6265SDimitry AndricINCS+=		velintrin_gen.h
169fe4fed2eSDimitry AndricINCS+=		vpclmulqdqintrin.h
170611d080eSDimitry AndricINCS+=		waitpkgintrin.h
17148aaf27bSDimitry AndricINCS+=		wasm_simd128.h
172611d080eSDimitry AndricINCS+=		wbnoinvdintrin.h
173986e05bcSDimitry AndricINCS+=		wmmintrin.h
174e8d8bef9SDimitry AndricINCS+=		x86gprintrin.h
175986e05bcSDimitry AndricINCS+=		x86intrin.h
176986e05bcSDimitry AndricINCS+=		xmmintrin.h
177986e05bcSDimitry AndricINCS+=		xopintrin.h
178986e05bcSDimitry AndricINCS+=		xsavecintrin.h
179986e05bcSDimitry AndricINCS+=		xsaveintrin.h
180986e05bcSDimitry AndricINCS+=		xsaveoptintrin.h
181986e05bcSDimitry AndricINCS+=		xsavesintrin.h
182986e05bcSDimitry AndricINCS+=		xtestintrin.h
183*0fca6ea1SDimitry AndricINCS+=		yvals_core.h
184986e05bcSDimitry AndricINCS+=		${GENINCS}
185986e05bcSDimitry Andric
18668e19318SDimitry Andric# Headers which possibly conflict with our own versions:
18748aaf27bSDimitry Andric.ifdef INSTALL_CONFLICTING_CLANG_HEADERS
18868e19318SDimitry AndricINCS+=		float.h
18968e19318SDimitry AndricINCS+=		intrin.h
190*0fca6ea1SDimitry AndricINCS+=		intrin0.h
19168e19318SDimitry AndricINCS+=		inttypes.h
19268e19318SDimitry AndricINCS+=		iso646.h
19368e19318SDimitry AndricINCS+=		limits.h
19468e19318SDimitry AndricINCS+=		stdalign.h
19568e19318SDimitry AndricINCS+=		stdarg.h
19668e19318SDimitry AndricINCS+=		stdatomic.h
19768e19318SDimitry AndricINCS+=		stdbool.h
19868e19318SDimitry AndricINCS+=		stddef.h
19968e19318SDimitry AndricINCS+=		stdint.h
20068e19318SDimitry AndricINCS+=		stdnoreturn.h
20168e19318SDimitry AndricINCS+=		tgmath.h
20248aaf27bSDimitry AndricINCS+=		unwind.h
20368e19318SDimitry AndricINCS+=		varargs.h
20448aaf27bSDimitry Andric.endif # INSTALL_CONFLICTING_CLANG_HEADERS
20568e19318SDimitry Andric
2064542f901SDimitry AndricINCSGROUPS+=	CUDA
2074542f901SDimitry AndricCUDADIR=	${INCSDIR}/cuda_wrappers
2082f3724e6SDimitry AndricCUDA+=		cuda_wrappers/algorithm
209bdd1243dSDimitry AndricCUDA+=		cuda_wrappers/cmath
2102f3724e6SDimitry AndricCUDA+=		cuda_wrappers/complex
2112f3724e6SDimitry AndricCUDA+=		cuda_wrappers/new
2122f3724e6SDimitry Andric
2134542f901SDimitry AndricINCSGROUPS+=	CUDB
2144542f901SDimitry AndricCUDBDIR=	${INCSDIR}/cuda_wrappers/bits
2154542f901SDimitry AndricCUDB+=		cuda_wrappers/bits/basic_string.h
2164542f901SDimitry AndricCUDB+=		cuda_wrappers/bits/basic_string.tcc
2174542f901SDimitry AndricCUDB+=		cuda_wrappers/bits/shared_ptr_base.h
2184542f901SDimitry Andric
2194542f901SDimitry AndricINCSGROUPS+=	HLSL
2204542f901SDimitry AndricHLSLDIR=	${INCSDIR}/hlsl
22181ad6265SDimitry AndricHLSL+=		hlsl/hlsl_basic_types.h
22281ad6265SDimitry AndricHLSL+=		hlsl/hlsl_intrinsics.h
22381ad6265SDimitry Andric
2244542f901SDimitry AndricINCSGROUPS+=	OMP
2254542f901SDimitry AndricOMPDIR=		${INCSDIR}/openmp_wrappers
22648aaf27bSDimitry AndricOMP+=		openmp_wrappers/__clang_openmp_device_functions.h
2272f3724e6SDimitry AndricOMP+=		openmp_wrappers/cmath
22848aaf27bSDimitry AndricOMP+=		openmp_wrappers/complex
22948aaf27bSDimitry AndricOMP+=		openmp_wrappers/complex.h
230e8d8bef9SDimitry AndricOMP+=		openmp_wrappers/complex_cmath.h
2312f3724e6SDimitry AndricOMP+=		openmp_wrappers/math.h
23248aaf27bSDimitry AndricOMP+=		openmp_wrappers/new
2332f3724e6SDimitry Andric
2344542f901SDimitry AndricINCSGROUPS+=	PPC
2354542f901SDimitry AndricPPCDIR=		${INCSDIR}/ppc_wrappers
23681ad6265SDimitry AndricPPC+=		ppc_wrappers/bmi2intrin.h
23781ad6265SDimitry AndricPPC+=		ppc_wrappers/bmiintrin.h
2382f3724e6SDimitry AndricPPC+=		ppc_wrappers/emmintrin.h
23981ad6265SDimitry AndricPPC+=		ppc_wrappers/immintrin.h
2402f3724e6SDimitry AndricPPC+=		ppc_wrappers/mm_malloc.h
2412f3724e6SDimitry AndricPPC+=		ppc_wrappers/mmintrin.h
2425f757f3fSDimitry AndricPPC+=		ppc_wrappers/nmmintrin.h
2430b37c159SDimitry AndricPPC+=		ppc_wrappers/pmmintrin.h
2440b37c159SDimitry AndricPPC+=		ppc_wrappers/smmintrin.h
2450b37c159SDimitry AndricPPC+=		ppc_wrappers/tmmintrin.h
24681ad6265SDimitry AndricPPC+=		ppc_wrappers/x86gprintrin.h
24781ad6265SDimitry AndricPPC+=		ppc_wrappers/x86intrin.h
2482f3724e6SDimitry AndricPPC+=		ppc_wrappers/xmmintrin.h
2492f3724e6SDimitry Andric
2509a282b3eSDimitry Andric.for hdr in bf16/bf16 cde/cde-header fp16/fp16 mve/mve-header neon/neon \
251*0fca6ea1SDimitry Andric	sme/sme-header sve/sve-header
25248aaf27bSDimitry Andricarm_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
253d8ed7fa3SDimitry Andric	${CLANG_TBLGEN} -gen-arm-${hdr:T} \
254d8ed7fa3SDimitry Andric	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
255d8ed7fa3SDimitry Andric	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
25648aaf27bSDimitry AndricGENINCS+=	arm_${hdr:H}.h
25748aaf27bSDimitry Andric.endfor
258986e05bcSDimitry Andric
2595f757f3fSDimitry Andricarm_vector_types.h: ${CLANG_SRCS}/include/clang/Basic/arm_sme.td
2605f757f3fSDimitry Andric	${CLANG_TBLGEN} -gen-arm-vector-type \
2615f757f3fSDimitry Andric	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
2625f757f3fSDimitry Andric	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
2635f757f3fSDimitry AndricGENINCS+=	arm_vector_types.h
2645f757f3fSDimitry Andric
265fe6060f1SDimitry Andric.for hdr in vector/vector-header
266fe6060f1SDimitry Andricriscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
267d8ed7fa3SDimitry Andric	${CLANG_TBLGEN} -gen-riscv-${hdr:T} \
268d8ed7fa3SDimitry Andric	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
269d8ed7fa3SDimitry Andric	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
270fe6060f1SDimitry AndricGENINCS+=	riscv_${hdr:H}.h
271fe6060f1SDimitry Andric.endfor
272fe6060f1SDimitry Andric
273986e05bcSDimitry AndricCLEANFILES=	${GENINCS} ${GENINCS:C/$/.d/}
274986e05bcSDimitry Andric
275986e05bcSDimitry Andric.include <bsd.prog.mk>
276