1*67e74705SXin Liset(files 2*67e74705SXin Li adxintrin.h 3*67e74705SXin Li altivec.h 4*67e74705SXin Li ammintrin.h 5*67e74705SXin Li arm_acle.h 6*67e74705SXin Li avx2intrin.h 7*67e74705SXin Li avx512bwintrin.h 8*67e74705SXin Li avx512cdintrin.h 9*67e74705SXin Li avx512dqintrin.h 10*67e74705SXin Li avx512erintrin.h 11*67e74705SXin Li avx512fintrin.h 12*67e74705SXin Li avx512ifmaintrin.h 13*67e74705SXin Li avx512ifmavlintrin.h 14*67e74705SXin Li avx512pfintrin.h 15*67e74705SXin Li avx512vbmiintrin.h 16*67e74705SXin Li avx512vbmivlintrin.h 17*67e74705SXin Li avx512vlbwintrin.h 18*67e74705SXin Li avx512vlcdintrin.h 19*67e74705SXin Li avx512vldqintrin.h 20*67e74705SXin Li avx512vlintrin.h 21*67e74705SXin Li avxintrin.h 22*67e74705SXin Li bmi2intrin.h 23*67e74705SXin Li bmiintrin.h 24*67e74705SXin Li __clang_cuda_cmath.h 25*67e74705SXin Li __clang_cuda_intrinsics.h 26*67e74705SXin Li __clang_cuda_math_forward_declares.h 27*67e74705SXin Li __clang_cuda_runtime_wrapper.h 28*67e74705SXin Li cpuid.h 29*67e74705SXin Li cuda_builtin_vars.h 30*67e74705SXin Li clflushoptintrin.h 31*67e74705SXin Li emmintrin.h 32*67e74705SXin Li f16cintrin.h 33*67e74705SXin Li float.h 34*67e74705SXin Li fma4intrin.h 35*67e74705SXin Li fmaintrin.h 36*67e74705SXin Li fxsrintrin.h 37*67e74705SXin Li htmintrin.h 38*67e74705SXin Li htmxlintrin.h 39*67e74705SXin Li ia32intrin.h 40*67e74705SXin Li immintrin.h 41*67e74705SXin Li intrin.h 42*67e74705SXin Li inttypes.h 43*67e74705SXin Li iso646.h 44*67e74705SXin Li limits.h 45*67e74705SXin Li lzcntintrin.h 46*67e74705SXin Li mm3dnow.h 47*67e74705SXin Li mmintrin.h 48*67e74705SXin Li mm_malloc.h 49*67e74705SXin Li module.modulemap 50*67e74705SXin Li mwaitxintrin.h 51*67e74705SXin Li nmmintrin.h 52*67e74705SXin Li opencl-c.h 53*67e74705SXin Li pkuintrin.h 54*67e74705SXin Li pmmintrin.h 55*67e74705SXin Li popcntintrin.h 56*67e74705SXin Li prfchwintrin.h 57*67e74705SXin Li rdseedintrin.h 58*67e74705SXin Li rtmintrin.h 59*67e74705SXin Li s390intrin.h 60*67e74705SXin Li shaintrin.h 61*67e74705SXin Li smmintrin.h 62*67e74705SXin Li stdalign.h 63*67e74705SXin Li stdarg.h 64*67e74705SXin Li stdatomic.h 65*67e74705SXin Li stdbool.h 66*67e74705SXin Li stddef.h 67*67e74705SXin Li __stddef_max_align_t.h 68*67e74705SXin Li stdint.h 69*67e74705SXin Li stdnoreturn.h 70*67e74705SXin Li tbmintrin.h 71*67e74705SXin Li tgmath.h 72*67e74705SXin Li tmmintrin.h 73*67e74705SXin Li unwind.h 74*67e74705SXin Li vadefs.h 75*67e74705SXin Li varargs.h 76*67e74705SXin Li vecintrin.h 77*67e74705SXin Li wmmintrin.h 78*67e74705SXin Li __wmmintrin_aes.h 79*67e74705SXin Li __wmmintrin_pclmul.h 80*67e74705SXin Li x86intrin.h 81*67e74705SXin Li xmmintrin.h 82*67e74705SXin Li xopintrin.h 83*67e74705SXin Li xsavecintrin.h 84*67e74705SXin Li xsaveintrin.h 85*67e74705SXin Li xsaveoptintrin.h 86*67e74705SXin Li xsavesintrin.h 87*67e74705SXin Li xtestintrin.h 88*67e74705SXin Li ) 89*67e74705SXin Li 90*67e74705SXin Liset(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include) 91*67e74705SXin Li 92*67e74705SXin Li# Generate arm_neon.h 93*67e74705SXin Liclang_tablegen(arm_neon.h -gen-arm-neon 94*67e74705SXin Li SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td) 95*67e74705SXin Li 96*67e74705SXin Liset(out_files) 97*67e74705SXin Liforeach( f ${files} ) 98*67e74705SXin Li set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} ) 99*67e74705SXin Li set( dst ${output_dir}/${f} ) 100*67e74705SXin Li add_custom_command(OUTPUT ${dst} 101*67e74705SXin Li DEPENDS ${src} 102*67e74705SXin Li COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst} 103*67e74705SXin Li COMMENT "Copying clang's ${f}...") 104*67e74705SXin Li list(APPEND out_files ${dst}) 105*67e74705SXin Liendforeach( f ) 106*67e74705SXin Li 107*67e74705SXin Liadd_custom_command(OUTPUT ${output_dir}/arm_neon.h 108*67e74705SXin Li DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h 109*67e74705SXin Li COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h 110*67e74705SXin Li COMMENT "Copying clang's arm_neon.h...") 111*67e74705SXin Lilist(APPEND out_files ${output_dir}/arm_neon.h) 112*67e74705SXin Li 113*67e74705SXin Liadd_custom_target(clang-headers ALL DEPENDS ${out_files}) 114*67e74705SXin Liset_target_properties(clang-headers PROPERTIES FOLDER "Misc") 115*67e74705SXin Li 116*67e74705SXin Liinstall( 117*67e74705SXin Li FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h 118*67e74705SXin Li COMPONENT clang-headers 119*67e74705SXin Li PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 120*67e74705SXin Li DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) 121*67e74705SXin Li 122*67e74705SXin Liif (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's. 123*67e74705SXin Li add_custom_target(install-clang-headers 124*67e74705SXin Li DEPENDS clang-headers 125*67e74705SXin Li COMMAND "${CMAKE_COMMAND}" 126*67e74705SXin Li -DCMAKE_INSTALL_COMPONENT=clang-headers 127*67e74705SXin Li -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") 128*67e74705SXin Liendif() 129