blob: ff852ef8748217984a752e2d26c2783367a64f81 [file] [log] [blame]
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +00001set(files
Robert Khasanov83c419b2014-09-19 10:17:06 +00002 adxintrin.h
Chris Lattnerdad40622010-04-14 03:54:58 +00003 altivec.h
Benjamin Kramer1ab16ba2012-05-29 19:36:17 +00004 ammintrin.h
Yi Konga44c4d72014-06-27 21:25:42 +00005 arm_acle.h
Craig Topperdec792e2011-12-19 05:04:33 +00006 avx2intrin.h
Robert Khasanov33e76852014-10-08 17:37:51 +00007 avx512bwintrin.h
Asaf Badouha45b7ca2015-06-29 12:51:53 +00008 avx512cdintrin.h
Elena Demikhovskybd1a49b2014-07-22 12:08:25 +00009 avx512erintrin.h
Hans Wennborg752b7892014-10-14 23:15:43 +000010 avx512fintrin.h
Robert Khasanov33e76852014-10-08 17:37:51 +000011 avx512vlbwintrin.h
12 avx512vlintrin.h
Elena Demikhovskye7d4c2e2015-04-30 09:24:29 +000013 avx512dqintrin.h
14 avx512vldqintrin.h
Michael Zuckerman9f338482016-03-07 17:04:11 +000015 avx512vbmiintrin.h
16 avx512vbmivlintrin.h
Asaf Badouha9d1e182015-12-31 14:14:07 +000017 pkuintrin.h
Hans Wennborg752b7892014-10-14 23:15:43 +000018 avxintrin.h
NAKAMURA Takumi9a3f2992011-12-26 03:20:06 +000019 bmi2intrin.h
Hans Wennborg752b7892014-10-14 23:15:43 +000020 bmiintrin.h
Artem Belevichc5f41a32016-01-26 23:37:29 +000021 __clang_cuda_cmath.h
Justin Lebar0cda7642016-03-30 23:30:14 +000022 __clang_cuda_math_forward_declares.h
Artem Belevich7fda3c92015-12-16 18:51:59 +000023 __clang_cuda_runtime_wrapper.h
Hans Wennborg752b7892014-10-14 23:15:43 +000024 cpuid.h
Artem Belevich4e192df2015-04-21 22:14:13 +000025 cuda_builtin_vars.h
Oscar Fuentes64015232011-02-27 13:33:31 +000026 emmintrin.h
NAKAMURA Takumi16ff8fd2012-10-11 01:10:04 +000027 f16cintrin.h
Oscar Fuentes64015232011-02-27 13:33:31 +000028 float.h
NAKAMURA Takumi96d77daa2011-12-30 10:38:16 +000029 fma4intrin.h
Craig Topper2b1eda32012-06-04 03:42:47 +000030 fmaintrin.h
Michael Kupersteina3c7b742015-06-30 09:45:38 +000031 fxsrintrin.h
Ulrich Weigandcc673442015-04-01 14:15:35 +000032 htmintrin.h
33 htmxlintrin.h
Argyrios Kyrtzidis7ffeea42014-03-04 06:28:23 +000034 ia32intrin.h
Benjamin Kramer65b9f7b2010-08-20 18:04:07 +000035 immintrin.h
Eric Christophere276f882013-09-06 20:11:28 +000036 Intrin.h
Nico Weberac64b972015-06-26 00:19:32 +000037 inttypes.h
Hans Wennborg752b7892014-10-14 23:15:43 +000038 iso646.h
Oscar Fuentes64015232011-02-27 13:33:31 +000039 limits.h
NAKAMURA Takumidceeeb82011-12-25 12:47:46 +000040 lzcntintrin.h
Michael J. Spencer1737c9e2011-04-15 15:11:21 +000041 mm3dnow.h
Oscar Fuentes64015232011-02-27 13:33:31 +000042 mmintrin.h
43 mm_malloc.h
Hans Wennborg752b7892014-10-14 23:15:43 +000044 module.modulemap
Oscar Fuentes64015232011-02-27 13:33:31 +000045 nmmintrin.h
46 pmmintrin.h
Richard Smith6b751dc2011-12-29 21:42:29 +000047 popcntintrin.h
Michael Liao74f4eaf2013-03-26 17:52:08 +000048 prfchwintrin.h
Michael Liaoffaae352013-03-29 05:17:55 +000049 rdseedintrin.h
Michael Liao625a8752012-11-10 05:17:46 +000050 rtmintrin.h
Ulrich Weigandcc673442015-04-01 14:15:35 +000051 s390intrin.h
Ben Langmuir58078d02013-09-19 13:22:04 +000052 shaintrin.h
Chris Lattner1b55b752010-08-20 17:24:02 +000053 smmintrin.h
Peter Collingbourne2f3cf4b2011-09-29 18:04:28 +000054 stdalign.h
Oscar Fuentes64015232011-02-27 13:33:31 +000055 stdarg.h
Hal Finkel6970ac82014-10-03 04:29:40 +000056 stdatomic.h
Oscar Fuentes64015232011-02-27 13:33:31 +000057 stdbool.h
58 stddef.h
Richard Smithef99e4d2014-10-03 00:31:35 +000059 __stddef_max_align_t.h
Oscar Fuentes64015232011-02-27 13:33:31 +000060 stdint.h
Richard Smith0015f092013-01-17 22:16:11 +000061 stdnoreturn.h
Yunzhong Gaof4e0b102013-09-30 17:25:14 +000062 tbmintrin.h
Douglas Gregore1839932009-06-07 07:09:23 +000063 tgmath.h
64 tmmintrin.h
Hans Wennborg752b7892014-10-14 23:15:43 +000065 unwind.h
Hans Wennborgadfd7f62014-10-14 22:35:42 +000066 vadefs.h
Hans Wennborg752b7892014-10-14 23:15:43 +000067 varargs.h
Ulrich Weigandca256432015-07-30 14:10:43 +000068 vecintrin.h
Douglas Gregordc779ab2012-11-05 23:30:26 +000069 __wmmintrin_aes.h
Hans Wennborg752b7892014-10-14 23:15:43 +000070 wmmintrin.h
Douglas Gregordc779ab2012-11-05 23:30:26 +000071 __wmmintrin_pclmul.h
Oscar Fuentes64015232011-02-27 13:33:31 +000072 x86intrin.h
73 xmmintrin.h
Craig Topper33b6d5e2012-06-10 00:39:38 +000074 xopintrin.h
Amjad Aboud2b9b8a52015-10-13 12:29:35 +000075 xsaveintrin.h
76 xsaveoptintrin.h
77 xsavecintrin.h
78 xsavesintrin.h
Eric Christopher3d920ee2015-06-17 18:42:07 +000079 xtestintrin.h
Michael Zuckerman0190c652016-03-07 09:55:55 +000080 avx512ifmaintrin.h
81 avx512ifmavlintrin.h
Oscar Fuentes64015232011-02-27 13:33:31 +000082 )
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +000083
NAKAMURA Takumic28a9a22014-01-19 13:00:01 +000084set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
Douglas Gregor274a6b42009-06-16 20:13:51 +000085
Douglas Gregor1f1be082010-05-28 04:22:06 +000086# Generate arm_neon.h
NAKAMURA Takumi38b8c932013-12-21 01:56:00 +000087clang_tablegen(arm_neon.h -gen-arm-neon
Oscar Fuentes6f725402011-02-20 22:06:32 +000088 SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
Douglas Gregor1f1be082010-05-28 04:22:06 +000089
Douglas Gregorbd829982010-10-11 23:17:59 +000090set(out_files)
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +000091foreach( f ${files} )
92 set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
93 set( dst ${output_dir}/${f} )
94 add_custom_command(OUTPUT ${dst}
95 DEPENDS ${src}
96 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
97 COMMENT "Copying clang's ${f}...")
Douglas Gregorbd829982010-10-11 23:17:59 +000098 list(APPEND out_files ${dst})
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +000099endforeach( f )
100
Douglas Gregorbd829982010-10-11 23:17:59 +0000101add_custom_command(OUTPUT ${output_dir}/arm_neon.h
NAKAMURA Takumi38b8c932013-12-21 01:56:00 +0000102 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
103 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
Douglas Gregorbd829982010-10-11 23:17:59 +0000104 COMMENT "Copying clang's arm_neon.h...")
105list(APPEND out_files ${output_dir}/arm_neon.h)
106
Douglas Gregorbd829982010-10-11 23:17:59 +0000107add_custom_target(clang-headers ALL DEPENDS ${out_files})
Oscar Fuentes15fe1902011-02-20 22:06:44 +0000108set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +0000109
NAKAMURA Takumi38b8c932013-12-21 01:56:00 +0000110install(
111 FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
Argyrios Kyrtzidisdcb56532015-11-20 02:24:03 +0000112 COMPONENT clang-headers
Oscar Fuentes07d9f9a2008-10-26 00:56:18 +0000113 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
Oscar Fuentes843c8282009-10-27 21:15:21 +0000114 DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
Argyrios Kyrtzidisdcb56532015-11-20 02:24:03 +0000115
116if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
117 add_custom_target(install-clang-headers
Chris Bieneman2c6c01a2016-02-25 18:39:19 +0000118 DEPENDS clang-headers
Argyrios Kyrtzidisdcb56532015-11-20 02:24:03 +0000119 COMMAND "${CMAKE_COMMAND}"
120 -DCMAKE_INSTALL_COMPONENT=clang-headers
121 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
122endif()