386 lines · plain
1# Helper function to set up dependencies if they exist.2function(add_macro_header name)3 cmake_parse_arguments(4 "MACRO_HEADER"5 "" # Optional arguments6 "HDR" # Single value arguments7 "DEPENDS" # Multi-value arguments8 ${ARGN}9 )10 if(TARGET libc.include.llvm-libc-macros.${LIBC_TARGET_OS}.${name})11 add_header(12 ${name}13 HDR14 ${MACRO_HEADER_HDR}15 DEPENDS16 .${LIBC_TARGET_OS}.${name}17 ${MACRO_HEADER_DEPENDS}18 )19 else()20 add_header(21 ${name}22 HDR23 ${MACRO_HEADER_HDR}24 DEPENDS25 ${MACRO_HEADER_DEPENDS}26 )27 endif()28endfunction(add_macro_header)29 30if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})31 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})32endif()33 34add_macro_header(35 annex_k_macros36 HDR37 annex-k-macros.h38)39 40add_macro_header(41 assert_macros42 HDR43 assert-macros.h44)45 46add_macro_header(47 error_number_macros48 HDR49 error-number-macros.h50)51 52add_macro_header(53 generic_error_number_macros54 HDR55 generic-error-number-macros.h56)57 58add_macro_header(59 null_macro60 HDR61 null-macro.h62)63 64add_macro_header(65 fcntl_macros66 HDR67 fcntl-macros.h68)69 70add_macro_header(71 cfloat128_macros72 HDR73 cfloat128-macros.h74)75 76add_macro_header(77 cfloat16_macros78 HDR79 cfloat16-macros.h80)81 82add_macro_header(83 complex_macros84 HDR85 complex-macros.h86 DEPENDS87 .cfloat128_macros88 .cfloat16_macros89)90 91add_macro_header(92 features_macros93 HDR94 features-macros.h95)96 97add_macro_header(98 fenv_macros99 HDR100 fenv-macros.h101)102 103add_macro_header(104 file_seek_macros105 HDR106 file-seek-macros.h107)108 109add_macro_header(110 stdint_macros111 HDR112 stdint-macros.h113)114 115add_macro_header(116 float_macros117 HDR118 float-macros.h119)120 121add_macro_header(122 float16_macros123 HDR124 float16-macros.h125)126 127add_macro_header(128 limits_macros129 HDR130 limits-macros.h131)132 133add_macro_header(134 link_macros135 HDR136 link-macros.h137)138 139add_macro_header(140 malloc_macros141 HDR142 malloc-macros.h143)144 145add_macro_header(146 math_macros147 HDR148 math-macros.h149 DEPENDS150 .limits_macros151)152 153add_macro_header(154 math_function_macros155 HDR156 math-function-macros.h157 DEPENDS158 .math_macros159)160 161add_macro_header(162 netinet_in_macros163 HDR164 netinet-in-macros.h165)166 167add_macro_header(168 offsetof_macro169 HDR170 offsetof-macro.h171)172 173add_macro_header(174 containerof_macro175 HDR176 containerof-macro.h177 DEPENDS178 .offsetof_macro179)180 181add_macro_header(182 sched_macros183 HDR184 sched-macros.h185)186 187add_macro_header(188 signal_macros189 HDR190 signal-macros.h191)192 193add_macro_header(194 stdbit_macros195 HDR196 stdbit-macros.h197)198 199add_macro_header(200 stdio_macros201 HDR202 stdio-macros.h203)204 205add_macro_header(206 stdlib_macros207 HDR208 stdlib-macros.h209)210 211add_macro_header(212 sys_auxv_macros213 HDR214 sys-auxv-macros.h215)216 217add_macro_header(218 sys_epoll_macros219 HDR220 sys-epoll-macros.h221)222 223add_macro_header(224 sys_ioctl_macros225 HDR226 sys-ioctl-macros.h227)228 229add_macro_header(230 sys_stat_macros231 HDR232 sys-stat-macros.h233)234 235add_macro_header(236 sys_mman_macros237 HDR238 sys-mman-macros.h239)240 241add_macro_header(242 sys_queue_macros243 HDR244 sys-queue-macros.h245 DEPENDS246 .null_macro247 .containerof_macro248)249 250add_macro_header(251 sys_random_macros252 HDR253 sys-random-macros.h254)255 256add_macro_header(257 sys_resource_macros258 HDR259 sys-resource-macros.h260)261 262add_macro_header(263 sys_select_macros264 HDR265 sys-select-macros.h266)267 268add_macro_header(269 sys_socket_macros270 HDR271 sys-socket-macros.h272)273 274add_macro_header(275 sys_time_macros276 HDR277 sys-time-macros.h278)279 280add_macro_header(281 sys_wait_macros282 HDR283 sys-wait-macros.h284)285 286add_macro_header(287 termios_macros288 HDR289 termios-macros.h290)291 292add_macro_header(293 time_macros294 HDR295 time-macros.h296)297 298add_macro_header(299 unistd_macros300 HDR301 unistd-macros.h302)303 304add_macro_header(305 wchar_macros306 HDR307 wchar-macros.h308)309 310add_macro_header(311 inttypes_macros312 HDR313 inttypes-macros.h314)315 316add_macro_header(317 stdfix_macros318 HDR319 stdfix-macros.h320)321 322add_macro_header(323 stdckdint_macros324 HDR325 stdckdint-macros.h326)327 328add_macro_header(329 dlfcn_macros330 HDR331 dlfcn-macros.h332)333 334add_macro_header(335 elf_macros336 HDR337 elf-macros.h338)339 340add_macro_header(341 endian_macros342 HDR343 endian-macros.h344 DEPENDS345 .stdint_macros346)347 348add_macro_header(349 locale_macros350 HDR351 locale-macros.h352)353 354add_macro_header(355 nl_types_macros356 HDR357 nl-types-macros.h358)359 360add_macro_header(361 pthread_macros362 HDR363 pthread-macros.h364 DEPENDS365 .null_macro366)367 368add_macro_header(369 poll-macros370 HDR371 poll-macros.h372)373 374add_macro_header(375 EFIAPI_macros376 HDR377 EFIAPI-macros.h378)379 380add_macro_header(381 sysexits_macros382 HDR383 sysexits-macros.h384)385 386