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