1function(add_proxy_header_library target_name) 2 cmake_parse_arguments( 3 "ADD_PROXY_HEADER" 4 "" # Optional arguments 5 "" # Single value arguments 6 "DEPENDS;FULL_BUILD_DEPENDS" # Multi-value arguments 7 ${ARGN} 8 ) 9 10 set(deps "") 11 if(ADD_PROXY_HEADER_DEPENDS) 12 list(APPEND deps ${ADD_PROXY_HEADER_DEPENDS}) 13 endif() 14 15 if(LLVM_LIBC_FULL_BUILD AND ADD_PROXY_HEADER_FULL_BUILD_DEPENDS) 16 list(APPEND deps ${ADD_PROXY_HEADER_FULL_BUILD_DEPENDS}) 17 endif() 18 19 add_header_library( 20 ${target_name} 21 ${ADD_PROXY_HEADER_UNPARSED_ARGUMENTS} 22 DEPENDS ${deps} 23 ) 24endfunction() 25 26add_proxy_header_library( 27 math_macros 28 HDRS 29 math_macros.h 30 FULL_BUILD_DEPENDS 31 libc.include.llvm-libc-macros.math_macros 32 libc.include.math 33) 34 35add_proxy_header_library( 36 math_function_macros 37 HDRS 38 math_function_macros.h 39 FULL_BUILD_DEPENDS 40 libc.include.llvm-libc-macros.math_function_macros 41 libc.include.math 42) 43 44add_proxy_header_library( 45 errno_macros 46 HDRS 47 errno_macros.h 48 FULL_BUILD_DEPENDS 49 libc.include.errno 50 libc.include.llvm-libc-macros.error_number_macros 51 libc.include.llvm-libc-macros.generic_error_number_macros 52) 53 54add_header_library(fcntl_overlay HDRS fcntl_overlay.h) 55add_proxy_header_library( 56 fcntl_macros 57 HDRS 58 fcntl_macros.h 59 DEPENDS 60 .fcntl_overlay 61 FULL_BUILD_DEPENDS 62 libc.include.llvm-libc-macros.fcntl_macros 63 libc.include.fcntl 64) 65 66add_proxy_header_library( 67 fenv_macros 68 HDRS 69 fenv_macros.h 70 FULL_BUILD_DEPENDS 71 libc.include.llvm-libc-macros.fenv_macros 72 libc.include.fenv 73) 74 75add_proxy_header_library( 76 signal_macros 77 HDRS 78 signal_macros.h 79 FULL_BUILD_DEPENDS 80 libc.include.llvm-libc-macros.signal_macros 81 libc.include.signal 82) 83 84add_header_library(stdlib_overlay HDRS stdlib_overlay.h) 85 86add_proxy_header_library( 87 stdlib_macros 88 HDRS 89 stdlib_macros.h 90 DEPENDS 91 .stdlib_overlay 92 FULL_BUILD_DEPENDS 93 libc.include.stdlib 94 libc.include.llvm-libc-macros.stdlib_macros 95) 96 97add_header_library(stdio_overlay HDRS stdio_overlay.h) 98 99add_proxy_header_library( 100 stdio_macros 101 HDRS 102 stdio_macros.h 103 DEPENDS 104 .stdio_overlay 105 FULL_BUILD_DEPENDS 106 libc.include.stdio 107 libc.include.llvm-libc-macros.stdio_macros 108 libc.include.llvm-libc-macros.file_seek_macros 109) 110 111add_proxy_header_library( 112 sys_epoll_macros 113 HDRS 114 sys_epoll_macros.h 115 FULL_BUILD_DEPENDS 116 libc.include.sys_epoll 117 libc.include.llvm-libc-macros.sys_epoll_macros 118) 119 120add_proxy_header_library( 121 sys_stat_macros 122 HDRS 123 sys_stat_macros.h 124 FULL_BUILD_DEPENDS 125 libc.include.sys_stat 126 libc.include.llvm-libc-macros.sys_stat_macros 127) 128 129add_header_library(unistd_overlay HDRS unistd_overlay.h) 130add_proxy_header_library( 131 unistd_macros 132 HDRS 133 unistd_macros.h 134 DEPENDS 135 .unistd_overlay 136 FULL_BUILD_DEPENDS 137 libc.include.unistd 138 libc.include.llvm-libc-macros.unistd_macros 139) 140 141if (WIN32) 142 set(windows_addtional_time_macros libc.include.llvm-libc-macros.windows.time_macros_ext) 143else() 144 set(windows_addtional_time_macros "") 145endif() 146 147add_proxy_header_library( 148 time_macros 149 HDRS 150 time_macros.h 151 DEPENDS 152 ${windows_addtional_time_macros} 153 FULL_BUILD_DEPENDS 154 libc.include.time 155 libc.include.llvm-libc-macros.time_macros 156) 157 158add_proxy_header_library( 159 float_macros 160 HDRS 161 float_macros.h 162 DEPENDS 163 libc.include.llvm-libc-macros.float_macros 164 FULL_BUILD_DEPENDS 165 libc.include.float 166) 167 168add_proxy_header_library( 169 limits_macros 170 HDRS 171 limits_macros.h 172 FULL_BUILD_DEPENDS 173 libc.include.limits 174 libc.include.llvm-libc-macros.limits_macros 175) 176 177add_proxy_header_library( 178 link_macros 179 HDRS 180 link_macros.h 181 FULL_BUILD_DEPENDS 182 libc.include.llvm-libc-macros.link_macros 183 libc.include.link 184) 185 186add_proxy_header_library( 187 sys_auxv_macros 188 HDRS 189 sys_auxv_macros.h 190 FULL_BUILD_DEPENDS 191 libc.include.llvm-libc-macros.sys_auxv_macros 192 libc.include.sys_auxv 193) 194 195add_header_library(wchar_overlay HDRS wchar_overlay.h) 196 197add_proxy_header_library( 198 wchar_macros 199 HDRS 200 wchar_macros.h 201 DEPENDS 202 .wchar_overlay 203 FULL_BUILD_DEPENDS 204 libc.include.llvm-libc-macros.wchar_macros 205 libc.include.wchar 206) 207 208add_subdirectory(types) 209add_subdirectory(func) 210