Skip to content

Commit 648b823

Browse files
committed
[stdlib] Get rid of the single bridging header for ELF platforms like linux
1 parent 5998816 commit 648b823

File tree

3 files changed

+120
-125
lines changed

3 files changed

+120
-125
lines changed

stdlib/public/Platform/CMakeLists.txt

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -147,33 +147,21 @@ foreach(sdk ${SWIFT_SDKS})
147147

148148
list(APPEND glibc_modulemap_target_list ${glibc_modulemap_target})
149149

150-
set(glibc_header_out "${module_dir}/SwiftGlibc.h")
151-
set(glibc_header_out_static "${module_dir_static}/SwiftGlibc.h")
152-
handle_gyb_source_single(glibc_header_target
153-
SOURCE "SwiftGlibc.h.gyb"
154-
OUTPUT "${glibc_header_out}"
155-
FLAGS "-DCMAKE_SDK=${sdk}")
156-
list(APPEND glibc_modulemap_target_list ${glibc_header_target})
157-
158150
if(SWIFT_BUILD_STATIC_STDLIB)
159151
add_custom_command_target(
160-
copy_glibc_modulemap_header_static
152+
copy_glibc_modulemap_static
161153
COMMAND
162154
"${CMAKE_COMMAND}" "-E" "make_directory" ${module_dir_static}
163155
COMMAND
164156
"${CMAKE_COMMAND}" "-E" "copy"
165157
${glibc_modulemap_out} ${glibc_modulemap_out_static}
166-
COMMAND
167-
"${CMAKE_COMMAND}" "-E" "copy"
168-
${glibc_header_out} ${glibc_header_out_static}
169-
OUTPUT ${glibc_modulemap_out_static} ${glibc_header_out_static}
158+
OUTPUT ${glibc_modulemap_out_static}
170159
DEPENDS
171160
"${glibc_modulemap_target}"
172-
"${glibc_header_target}"
173-
COMMENT "Copying Glibc modulemap and header to static resources")
161+
COMMENT "Copying Glibc modulemap to static resources")
174162

175163
list(APPEND glibc_modulemap_target_list
176-
${copy_glibc_modulemap_header_static})
164+
${copy_glibc_modulemap_static})
177165
endif()
178166

179167
# If this SDK is a target for a non-native host, except if it's for Android

stdlib/public/Platform/SwiftGlibc.h.gyb

Lines changed: 0 additions & 108 deletions
This file was deleted.

stdlib/public/Platform/glibc.modulemap.gyb

Lines changed: 116 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,122 @@ module SwiftGlibc [system] {
4141
link "execinfo"
4242
% end
4343

44-
header "SwiftGlibc.h"
44+
% if CMAKE_SDK not in ["ANDROID"]:
45+
header "stdc-predef.h"
46+
header "features.h"
47+
% end
48+
49+
// C standard library
50+
header "complex.h"
51+
header "ctype.h"
52+
header "errno.h"
53+
header "fenv.h"
54+
header "float.h"
55+
header "inttypes.h"
56+
header "iso646.h"
57+
% if CMAKE_SDK not in ["LINUX", "ANDROID"]:
58+
header "libutil.h"
59+
% end
60+
header "limits.h"
61+
header "locale.h"
62+
header "math.h"
63+
header "pty.h"
64+
header "setjmp.h"
65+
header "signal.h"
66+
header "stdarg.h"
67+
header "stdbool.h"
68+
header "stddef.h"
69+
header "stdint.h"
70+
header "stdio.h"
71+
header "stdlib.h"
72+
header "string.h"
73+
header "tgmath.h"
74+
header "time.h"
75+
% if CMAKE_SDK in ["OPENBSD"]:
76+
header "util.h"
77+
% end
78+
header "utmp.h"
79+
80+
// POSIX
81+
% if CMAKE_SDK not in ["ANDROID"]:
82+
header "aio.h"
83+
% end
84+
header "arpa/inet.h"
85+
% if CMAKE_SDK not in ["LINUX", "ANDROID"]:
86+
header "bsd/ifaddrs.h"
87+
header "bsd/pty.h"
88+
% end
89+
header "cpio.h"
90+
header "dirent.h"
91+
header "dlfcn.h"
92+
header "fcntl.h"
93+
% if CMAKE_SDK not in ["ANDROID"]:
94+
header "fmtmsg.h"
95+
% end
96+
header "fnmatch.h"
97+
header "ftw.h"
98+
header "glob.h"
99+
header "grp.h"
100+
header "iconv.h"
101+
header "ifaddrs.h"
102+
header "langinfo.h"
103+
header "libgen.h"
104+
header "link.h"
105+
% if CMAKE_SDK not in ["ANDROID"]:
106+
header "monetary.h"
107+
% end
108+
header "net/if.h"
109+
header "netdb.h"
110+
header "netinet/in.h"
111+
header "netinet/tcp.h"
112+
header "nl_types.h"
113+
header "poll.h"
114+
header "pthread.h"
115+
header "pwd.h"
116+
header "regex.h"
117+
header "sched.h"
118+
header "search.h"
119+
header "semaphore.h"
120+
header "spawn.h"
121+
header "strings.h"
122+
% if CMAKE_SDK not in ["LINUX", "ANDROID"]:
123+
header "sys/event.h"
124+
% end
125+
header "sys/file.h"
126+
header "sys/inotify.h"
127+
header "sys/ioctl.h"
128+
header "sys/ipc.h"
129+
header "sys/mman.h"
130+
header "sys/mount.h"
131+
header "sys/msg.h"
132+
header "sys/resource.h"
133+
header "sys/select.h"
134+
header "sys/sem.h"
135+
header "sys/sendfile.h"
136+
header "sys/shm.h"
137+
header "sys/socket.h"
138+
header "sys/stat.h"
139+
header "sys/statvfs.h"
140+
header "sys/time.h"
141+
header "sys/times.h"
142+
header "sys/types.h"
143+
header "sys/uio.h"
144+
header "sys/un.h"
145+
header "sys/user.h"
146+
header "sys/utsname.h"
147+
header "sys/wait.h"
148+
header "sysexits.h"
149+
header "syslog.h"
150+
header "tar.h"
151+
header "termios.h"
152+
header "unistd.h"
153+
header "utime.h"
154+
header "wait.h"
155+
% if CMAKE_SDK not in ["ANDROID"]:
156+
header "ulimit.h"
157+
header "utmpx.h"
158+
header "wordexp.h"
159+
% end
45160

46161
// <assert.h>'s use of NDEBUG requires textual inclusion.
47162
textual header "assert.h"

0 commit comments

Comments
 (0)