• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_proxy_header_library(
130  unistd_macros
131  HDRS
132    unistd_macros.h
133  FULL_BUILD_DEPENDS
134    libc.include.unistd
135    libc.include.llvm-libc-macros.unistd_macros
136)
137
138add_proxy_header_library(
139  time_macros
140  HDRS
141    time_macros.h
142  FULL_BUILD_DEPENDS
143    libc.include.time
144    libc.include.llvm-libc-macros.time_macros
145)
146
147add_proxy_header_library(
148  float_macros
149  HDRS
150    float_macros.h
151  DEPENDS
152    libc.include.llvm-libc-macros.float_macros
153  FULL_BUILD_DEPENDS
154    libc.include.float
155)
156
157add_proxy_header_library(
158  limits_macros
159  HDRS
160    limits_macros.h
161  FULL_BUILD_DEPENDS
162    libc.include.limits
163    libc.include.llvm-libc-macros.limits_macros
164)
165
166add_proxy_header_library(
167  link_macros
168  HDRS
169    link_macros.h
170  FULL_BUILD_DEPENDS
171    libc.include.llvm-libc-macros.link_macros
172    libc.include.link
173)
174
175add_proxy_header_library(
176  sys_auxv_macros
177  HDRS
178    sys_auxv_macros.h
179  FULL_BUILD_DEPENDS
180    libc.include.llvm-libc-macros.sys_auxv_macros
181    libc.include.sys_auxv
182)
183
184add_header_library(wchar_overlay HDRS wchar_overlay.h)
185
186add_proxy_header_library(
187  wchar_macros
188  HDRS
189    wchar_macros.h
190  DEPENDS
191    .wchar_overlay
192  FULL_BUILD_DEPENDS
193    libc.include.llvm-libc-macros.wchar_macros
194    libc.include.wchar
195)
196
197add_subdirectory(types)
198add_subdirectory(func)
199