1 # Makefile for the D runtime library.
2 # Copyright (C) 2012-2020 Free Software Foundation, Inc.
4 # GCC is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3, or (at your option)
9 # GCC is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with GCC; see the file COPYING3. If not see
16 # <http://www.gnu.org/licenses/>.
18 # Include D build rules
19 include $(top_srcdir)/d_rules.am
21 # Make sure GDC can find libdruntime include files
22 D_EXTRA_DFLAGS=-nostdinc -I $(srcdir) -I .
24 # D flags for compilation
26 $(phobos_compiler_pic_flag) \
27 $(WARN_DFLAGS) $(CHECKING_DFLAGS)
29 # Install all D and DI files
30 ALL_DRUNTIME_INSTALL_DSOURCES = $(DRUNTIME_DSOURCES) \
31 $(DRUNTIME_DSOURCES_BIONIC) $(DRUNTIME_DSOURCES_DARWIN) \
32 $(DRUNTIME_DSOURCES_DRAGONFLYBSD) $(DRUNTIME_DSOURCES_FREEBSD) \
33 $(DRUNTIME_DSOURCES_LINUX) $(DRUNTIME_DSOURCES_NETBSD) \
34 $(DRUNTIME_DSOURCES_OPENBSD) $(DRUNTIME_DSOURCES_POSIX) \
35 $(DRUNTIME_DSOURCES_SOLARIS) $(DRUNTIME_DSOURCES_WINDOWS) \
36 $(DRUNTIME_DSOURCES_GENERATED) $(DRUNTIME_DISOURCES) \
37 $(DRUNTIME_DSOURCES_STDCXX)
39 # Setup source files depending on configure
40 DRUNTIME_SOURCES_CONFIGURED =
44 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_POSIX)
47 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_DARWIN)
49 if DRUNTIME_OS_DRAGONFLYBSD
50 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_DRAGONFLYBSD)
52 if DRUNTIME_OS_ANDROID
53 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_BIONIC)
55 if DRUNTIME_OS_FREEBSD
56 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_FREEBSD)
59 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_NETBSD)
61 if DRUNTIME_OS_OPENBSD
62 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_OPENBSD)
65 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_LINUX)
68 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_WINDOWS)
70 if DRUNTIME_OS_SOLARIS
71 DRUNTIME_SOURCES_CONFIGURED += $(DRUNTIME_DSOURCES_SOLARIS)
73 # CPU specific sources
74 if DRUNTIME_CPU_AARCH64
75 DRUNTIME_SOURCES_CONFIGURED += config/aarch64/switchcontext.S
78 DRUNTIME_SOURCES_CONFIGURED += config/arm/switchcontext.S
81 DRUNTIME_SOURCES_CONFIGURED += config/mips/switchcontext.S
83 if DRUNTIME_CPU_POWERPC
84 DRUNTIME_SOURCES_CONFIGURED += config/powerpc/switchcontext.S
86 if DRUNTIME_CPU_POWERPC64
87 DRUNTIME_SOURCES_CONFIGURED += config/powerpc64/callwithstack.S
91 DRUNTIME_SOURCES_CONFIGURED += config/mingw/switchcontext.S
93 DRUNTIME_SOURCES_CONFIGURED += config/x86/switchcontext.S
96 if DRUNTIME_CPU_SYSTEMZ
97 DRUNTIME_SOURCES_CONFIGURED += config/systemz/get_tls_offset.S
100 DRUNTIME_SOURCES_CONFIGURED += config/s390/get_tls_offset.S
103 # Provide __start_minfo, __stop_minfo if linker doesn't.
104 if !DRUNTIME_OS_MINFO_BRACKETING
105 DRTSTUFF = gcc/drtbegin.o gcc/drtend.o
107 toolexeclib_DATA = $(DRTSTUFF)
109 gcc/drtbegin.o: gcc/drtstuff.c
110 $(COMPILE) -DDRT_BEGIN -c -o $@ $<
112 gcc/drtend.o: gcc/drtstuff.c
113 $(COMPILE) -DDRT_END -c -o $@ $<
116 # Generated by configure
117 DRUNTIME_DSOURCES_GENERATED = gcc/config.d gcc/libbacktrace.d
119 ALL_DRUNTIME_SOURCES = $(DRUNTIME_DSOURCES) $(DRUNTIME_CSOURCES) \
120 $(DRUNTIME_SOURCES_CONFIGURED) $(DRUNTIME_DSOURCES_GENERATED)
122 # Need this library to both be part of libgphobos.a, and installed separately.
123 # 1) separate libgdruntime.la
124 toolexeclib_LTLIBRARIES = libgdruntime.la
125 libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
126 libgdruntime_la_LIBTOOLFLAGS =
127 libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
128 -version-info $(libtool_VERSION)
129 libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
130 libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
131 # Also override library link commands: This is not strictly
132 # required, but we want to record additional dependencies such
133 # as pthread in the library
134 libgdruntime_la_LINK = $(LIBTOOL) --tag=D $(AM_LIBTOOLFLAGS) \
135 $(LIBTOOLFLAGS) --mode=link $(GDC) $(AM_CFLAGS) $(CFLAGS) \
136 $(libgdruntime_la_LDFLAGS) $(LDFLAGS) -o $@
138 # 2) integrated libgdruntime_convenience.la that is to be part of libgphobos.a
139 noinst_LTLIBRARIES = libgdruntime_convenience.la
140 libgdruntime_convenience_la_SOURCES = $(libgdruntime_la_SOURCES)
141 libgdruntime_convenience_la_LIBTOOLFLAGS = $(libgdruntime_la_LIBTOOLFLAGS)
142 libgdruntime_convenience_la_LDFLAGS = $(libgdruntime_la_LDFLAGS)
143 libgdruntime_convenience_la_LIBADD = $(libgdruntime_la_LIBADD)
144 libgdruntime_convenience_la_DEPENDENCIES = $(libgdruntime_la_DEPENDENCIES)
145 libgdruntime_convenience_la_LINK = $(libgdruntime_la_LINK)
147 # Handles generated files as well
149 for file in $(ALL_DRUNTIME_INSTALL_DSOURCES); do \
150 $(MKDIR_P) `dirname $(DESTDIR)$(gdc_include_dir)/$$file` ; \
151 if test -f $$file; then \
152 $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
154 $(INSTALL_HEADER) $(srcdir)/$$file \
155 $(DESTDIR)$(gdc_include_dir)/$$file ; \
159 # Source file definitions. Boring stuff, auto-generated with
160 # https://gist.github.com/jpf91/8ad1dbc9902d6ad876313f134c6527d1
161 # Can't use wildcards here:
162 # https://www.gnu.org/software/automake/manual/html_node/Wildcards.html
164 DRUNTIME_CSOURCES = core/stdc/errno_.c
166 DRUNTIME_DSOURCES = core/atomic.d core/attribute.d core/bitop.d \
167 core/checkedint.d core/cpuid.d core/demangle.d core/exception.d \
168 core/internal/abort.d core/internal/arrayop.d core/internal/convert.d \
169 core/internal/hash.d core/internal/spinlock.d core/internal/string.d \
170 core/internal/traits.d core/math.d core/memory.d core/runtime.d \
171 core/simd.d core/stdc/assert_.d core/stdc/complex.d core/stdc/config.d \
172 core/stdc/ctype.d core/stdc/errno.d core/stdc/fenv.d \
173 core/stdc/float_.d core/stdc/inttypes.d core/stdc/limits.d \
174 core/stdc/locale.d core/stdc/math.d core/stdc/signal.d \
175 core/stdc/stdarg.d core/stdc/stddef.d core/stdc/stdint.d \
176 core/stdc/stdio.d core/stdc/stdlib.d core/stdc/string.d \
177 core/stdc/tgmath.d core/stdc/time.d core/stdc/wchar_.d \
178 core/stdc/wctype.d core/sync/barrier.d core/sync/condition.d \
179 core/sync/config.d core/sync/exception.d core/sync/mutex.d \
180 core/sync/rwmutex.d core/sync/semaphore.d core/thread.d core/time.d \
181 core/vararg.d gc/bits.d gc/config.d gc/gcinterface.d \
182 gc/impl/conservative/gc.d gc/impl/manual/gc.d gc/os.d gc/pooltable.d \
183 gc/proxy.d gcc/attribute.d gcc/backtrace.d gcc/builtins.d gcc/deh.d \
184 gcc/emutls.d gcc/gthread.d gcc/sections/android.d \
185 gcc/sections/elf_shared.d gcc/sections/osx.d gcc/sections/package.d \
186 gcc/sections/win32.d gcc/sections/win64.d gcc/unwind/arm.d \
187 gcc/unwind/arm_common.d gcc/unwind/c6x.d gcc/unwind/generic.d \
188 gcc/unwind/package.d gcc/unwind/pe.d object.d rt/aApply.d rt/aApplyR.d \
189 rt/aaA.d rt/adi.d rt/arrayassign.d rt/arraycast.d rt/arraycat.d \
190 rt/cast_.d rt/config.d rt/critical_.d rt/deh.d rt/dmain2.d \
191 rt/invariant.d rt/lifetime.d rt/memory.d rt/minfo.d rt/monitor_.d \
192 rt/obj.d rt/qsort.d rt/sections.d rt/switch_.d rt/tlsgc.d \
193 rt/typeinfo/ti_Acdouble.d rt/typeinfo/ti_Acfloat.d \
194 rt/typeinfo/ti_Acreal.d rt/typeinfo/ti_Adouble.d \
195 rt/typeinfo/ti_Afloat.d rt/typeinfo/ti_Ag.d rt/typeinfo/ti_Aint.d \
196 rt/typeinfo/ti_Along.d rt/typeinfo/ti_Areal.d rt/typeinfo/ti_Ashort.d \
197 rt/typeinfo/ti_C.d rt/typeinfo/ti_byte.d rt/typeinfo/ti_cdouble.d \
198 rt/typeinfo/ti_cent.d rt/typeinfo/ti_cfloat.d rt/typeinfo/ti_char.d \
199 rt/typeinfo/ti_creal.d rt/typeinfo/ti_dchar.d \
200 rt/typeinfo/ti_delegate.d rt/typeinfo/ti_double.d \
201 rt/typeinfo/ti_float.d rt/typeinfo/ti_idouble.d \
202 rt/typeinfo/ti_ifloat.d rt/typeinfo/ti_int.d rt/typeinfo/ti_ireal.d \
203 rt/typeinfo/ti_long.d rt/typeinfo/ti_n.d rt/typeinfo/ti_ptr.d \
204 rt/typeinfo/ti_real.d rt/typeinfo/ti_short.d rt/typeinfo/ti_ubyte.d \
205 rt/typeinfo/ti_ucent.d rt/typeinfo/ti_uint.d rt/typeinfo/ti_ulong.d \
206 rt/typeinfo/ti_ushort.d rt/typeinfo/ti_void.d rt/typeinfo/ti_wchar.d \
207 rt/util/array.d rt/util/container/array.d rt/util/container/common.d \
208 rt/util/container/hashtab.d rt/util/container/treap.d rt/util/random.d \
209 rt/util/typeinfo.d rt/util/utf.d
211 DRUNTIME_DSOURCES_STDCXX = core/stdcpp/exception.d \
212 core/stdcpp/typeinfo.d
214 DRUNTIME_DSOURCES_BIONIC = core/sys/bionic/fcntl.d \
215 core/sys/bionic/string.d core/sys/bionic/unistd.d
217 DRUNTIME_DSOURCES_DARWIN = core/sys/darwin/crt_externs.d \
218 core/sys/darwin/dlfcn.d core/sys/darwin/execinfo.d \
219 core/sys/darwin/mach/dyld.d core/sys/darwin/mach/getsect.d \
220 core/sys/darwin/mach/kern_return.d core/sys/darwin/mach/loader.d \
221 core/sys/darwin/mach/port.d core/sys/darwin/mach/semaphore.d \
222 core/sys/darwin/mach/thread_act.d core/sys/darwin/netinet/in_.d \
223 core/sys/darwin/pthread.d core/sys/darwin/string.d \
224 core/sys/darwin/sys/cdefs.d core/sys/darwin/sys/event.d \
225 core/sys/darwin/sys/mman.d
227 DRUNTIME_DSOURCES_DRAGONFLYBSD = core/sys/dragonflybsd/dlfcn.d \
228 core/sys/dragonflybsd/execinfo.d core/sys/dragonflybsd/netinet/in_.d \
229 core/sys/dragonflybsd/pthread_np.d core/sys/dragonflybsd/string.d \
230 core/sys/dragonflybsd/sys/_bitset.d \
231 core/sys/dragonflybsd/sys/_cpuset.d core/sys/dragonflybsd/sys/cdefs.d \
232 core/sys/dragonflybsd/sys/elf.d core/sys/dragonflybsd/sys/elf32.d \
233 core/sys/dragonflybsd/sys/elf64.d \
234 core/sys/dragonflybsd/sys/elf_common.d \
235 core/sys/dragonflybsd/sys/event.d core/sys/dragonflybsd/sys/link_elf.d \
236 core/sys/dragonflybsd/sys/mman.d core/sys/dragonflybsd/sys/socket.d \
237 core/sys/dragonflybsd/time.d
239 DRUNTIME_DSOURCES_FREEBSD = core/sys/freebsd/dlfcn.d \
240 core/sys/freebsd/execinfo.d core/sys/freebsd/netinet/in_.d \
241 core/sys/freebsd/pthread_np.d core/sys/freebsd/string.d \
242 core/sys/freebsd/sys/_bitset.d core/sys/freebsd/sys/_cpuset.d \
243 core/sys/freebsd/sys/cdefs.d core/sys/freebsd/sys/elf.d \
244 core/sys/freebsd/sys/elf32.d core/sys/freebsd/sys/elf64.d \
245 core/sys/freebsd/sys/elf_common.d core/sys/freebsd/sys/event.d \
246 core/sys/freebsd/sys/link_elf.d core/sys/freebsd/sys/mman.d \
247 core/sys/freebsd/sys/mount.d core/sys/freebsd/time.d \
248 core/sys/freebsd/unistd.d
250 DRUNTIME_DSOURCES_LINUX = core/sys/linux/config.d \
251 core/sys/linux/dlfcn.d core/sys/linux/elf.d core/sys/linux/epoll.d \
252 core/sys/linux/errno.d core/sys/linux/execinfo.d \
253 core/sys/linux/fcntl.d core/sys/linux/ifaddrs.d core/sys/linux/link.d \
254 core/sys/linux/netinet/in_.d core/sys/linux/netinet/tcp.d \
255 core/sys/linux/sched.d core/sys/linux/stdio.d core/sys/linux/string.d \
256 core/sys/linux/sys/auxv.d core/sys/linux/sys/eventfd.d \
257 core/sys/linux/sys/file.d core/sys/linux/sys/inotify.d \
258 core/sys/linux/sys/mman.d core/sys/linux/sys/netinet/tcp.d \
259 core/sys/linux/sys/prctl.d core/sys/linux/sys/signalfd.d \
260 core/sys/linux/sys/socket.d core/sys/linux/sys/sysinfo.d \
261 core/sys/linux/sys/time.d core/sys/linux/sys/xattr.d \
262 core/sys/linux/termios.d core/sys/linux/time.d \
263 core/sys/linux/timerfd.d core/sys/linux/tipc.d core/sys/linux/unistd.d
265 DRUNTIME_DSOURCES_NETBSD = core/sys/netbsd/dlfcn.d \
266 core/sys/netbsd/execinfo.d core/sys/netbsd/string.d \
267 core/sys/netbsd/sys/elf.d core/sys/netbsd/sys/elf32.d \
268 core/sys/netbsd/sys/elf64.d core/sys/netbsd/sys/elf_common.d \
269 core/sys/netbsd/sys/event.d core/sys/netbsd/sys/featuretest.d \
270 core/sys/netbsd/sys/link_elf.d core/sys/netbsd/sys/mman.d \
271 core/sys/netbsd/time.d
273 DRUNTIME_DSOURCES_OPENBSD = core/sys/openbsd/dlfcn.d \
274 core/sys/openbsd/string.d core/sys/openbsd/sys/cdefs.d \
275 core/sys/openbsd/sys/elf.d core/sys/openbsd/sys/elf32.d \
276 core/sys/openbsd/sys/elf64.d core/sys/openbsd/sys/elf_common.d \
277 core/sys/openbsd/sys/link_elf.d core/sys/openbsd/sys/mman.d \
278 core/sys/openbsd/time.d
280 DRUNTIME_DSOURCES_POSIX = core/sys/posix/aio.d \
281 core/sys/posix/arpa/inet.d core/sys/posix/config.d \
282 core/sys/posix/dirent.d core/sys/posix/dlfcn.d core/sys/posix/fcntl.d \
283 core/sys/posix/grp.d core/sys/posix/iconv.d core/sys/posix/inttypes.d \
284 core/sys/posix/libgen.d core/sys/posix/mqueue.d \
285 core/sys/posix/net/if_.d core/sys/posix/netdb.d \
286 core/sys/posix/netinet/in_.d core/sys/posix/netinet/tcp.d \
287 core/sys/posix/poll.d core/sys/posix/pthread.d core/sys/posix/pwd.d \
288 core/sys/posix/sched.d core/sys/posix/semaphore.d \
289 core/sys/posix/setjmp.d core/sys/posix/signal.d core/sys/posix/spawn.d \
290 core/sys/posix/stdio.d core/sys/posix/stdlib.d \
291 core/sys/posix/sys/filio.d core/sys/posix/sys/ioccom.d \
292 core/sys/posix/sys/ioctl.d core/sys/posix/sys/ipc.d \
293 core/sys/posix/sys/mman.d core/sys/posix/sys/msg.d \
294 core/sys/posix/sys/resource.d core/sys/posix/sys/select.d \
295 core/sys/posix/sys/shm.d core/sys/posix/sys/socket.d \
296 core/sys/posix/sys/stat.d core/sys/posix/sys/statvfs.d \
297 core/sys/posix/sys/time.d core/sys/posix/sys/ttycom.d \
298 core/sys/posix/sys/types.d core/sys/posix/sys/uio.d \
299 core/sys/posix/sys/un.d core/sys/posix/sys/utsname.d \
300 core/sys/posix/sys/wait.d core/sys/posix/syslog.d \
301 core/sys/posix/termios.d core/sys/posix/time.d \
302 core/sys/posix/ucontext.d core/sys/posix/unistd.d \
303 core/sys/posix/utime.d
305 DRUNTIME_DSOURCES_SOLARIS = core/sys/solaris/dlfcn.d \
306 core/sys/solaris/elf.d core/sys/solaris/execinfo.d \
307 core/sys/solaris/libelf.d core/sys/solaris/link.d \
308 core/sys/solaris/sys/elf.d core/sys/solaris/sys/elf_386.d \
309 core/sys/solaris/sys/elf_SPARC.d core/sys/solaris/sys/elf_amd64.d \
310 core/sys/solaris/sys/elf_notes.d core/sys/solaris/sys/elftypes.d \
311 core/sys/solaris/sys/link.d core/sys/solaris/sys/priocntl.d \
312 core/sys/solaris/sys/procset.d core/sys/solaris/sys/types.d \
313 core/sys/solaris/time.d
315 DRUNTIME_DSOURCES_WINDOWS = core/sys/windows/accctrl.d \
316 core/sys/windows/aclapi.d core/sys/windows/aclui.d \
317 core/sys/windows/basetsd.d core/sys/windows/basetyps.d \
318 core/sys/windows/cderr.d core/sys/windows/cguid.d \
319 core/sys/windows/com.d core/sys/windows/comcat.d \
320 core/sys/windows/commctrl.d core/sys/windows/commdlg.d \
321 core/sys/windows/core.d core/sys/windows/cpl.d \
322 core/sys/windows/cplext.d core/sys/windows/custcntl.d \
323 core/sys/windows/dbghelp.d core/sys/windows/dbghelp_types.d \
324 core/sys/windows/dbt.d core/sys/windows/dde.d core/sys/windows/ddeml.d \
325 core/sys/windows/dhcpcsdk.d core/sys/windows/dlgs.d \
326 core/sys/windows/dll.d core/sys/windows/docobj.d \
327 core/sys/windows/errorrep.d core/sys/windows/exdisp.d \
328 core/sys/windows/exdispid.d core/sys/windows/httpext.d \
329 core/sys/windows/idispids.d core/sys/windows/imagehlp.d \
330 core/sys/windows/imm.d core/sys/windows/intshcut.d \
331 core/sys/windows/ipexport.d core/sys/windows/iphlpapi.d \
332 core/sys/windows/ipifcons.d core/sys/windows/iprtrmib.d \
333 core/sys/windows/iptypes.d core/sys/windows/isguids.d \
334 core/sys/windows/lm.d core/sys/windows/lmaccess.d \
335 core/sys/windows/lmalert.d core/sys/windows/lmapibuf.d \
336 core/sys/windows/lmat.d core/sys/windows/lmaudit.d \
337 core/sys/windows/lmbrowsr.d core/sys/windows/lmchdev.d \
338 core/sys/windows/lmconfig.d core/sys/windows/lmcons.d \
339 core/sys/windows/lmerr.d core/sys/windows/lmerrlog.d \
340 core/sys/windows/lmmsg.d core/sys/windows/lmremutl.d \
341 core/sys/windows/lmrepl.d core/sys/windows/lmserver.d \
342 core/sys/windows/lmshare.d core/sys/windows/lmsname.d \
343 core/sys/windows/lmstats.d core/sys/windows/lmsvc.d \
344 core/sys/windows/lmuse.d core/sys/windows/lmuseflg.d \
345 core/sys/windows/lmwksta.d core/sys/windows/lzexpand.d \
346 core/sys/windows/mapi.d core/sys/windows/mciavi.d \
347 core/sys/windows/mcx.d core/sys/windows/mgmtapi.d \
348 core/sys/windows/mmsystem.d core/sys/windows/msacm.d \
349 core/sys/windows/mshtml.d core/sys/windows/mswsock.d \
350 core/sys/windows/nb30.d core/sys/windows/nddeapi.d \
351 core/sys/windows/nspapi.d core/sys/windows/ntdef.d \
352 core/sys/windows/ntdll.d core/sys/windows/ntldap.d \
353 core/sys/windows/ntsecapi.d core/sys/windows/ntsecpkg.d \
354 core/sys/windows/oaidl.d core/sys/windows/objbase.d \
355 core/sys/windows/objfwd.d core/sys/windows/objidl.d \
356 core/sys/windows/objsafe.d core/sys/windows/ocidl.d \
357 core/sys/windows/odbcinst.d core/sys/windows/ole.d \
358 core/sys/windows/ole2.d core/sys/windows/ole2ver.d \
359 core/sys/windows/oleacc.d core/sys/windows/oleauto.d \
360 core/sys/windows/olectl.d core/sys/windows/olectlid.d \
361 core/sys/windows/oledlg.d core/sys/windows/oleidl.d \
362 core/sys/windows/pbt.d core/sys/windows/powrprof.d \
363 core/sys/windows/prsht.d core/sys/windows/psapi.d \
364 core/sys/windows/rapi.d core/sys/windows/ras.d \
365 core/sys/windows/rasdlg.d core/sys/windows/raserror.d \
366 core/sys/windows/rassapi.d core/sys/windows/reason.d \
367 core/sys/windows/regstr.d core/sys/windows/richedit.d \
368 core/sys/windows/richole.d core/sys/windows/rpc.d \
369 core/sys/windows/rpcdce.d core/sys/windows/rpcdce2.d \
370 core/sys/windows/rpcdcep.d core/sys/windows/rpcndr.d \
371 core/sys/windows/rpcnsi.d core/sys/windows/rpcnsip.d \
372 core/sys/windows/rpcnterr.d core/sys/windows/schannel.d \
373 core/sys/windows/secext.d core/sys/windows/security.d \
374 core/sys/windows/servprov.d core/sys/windows/setupapi.d \
375 core/sys/windows/shellapi.d core/sys/windows/shldisp.d \
376 core/sys/windows/shlguid.d core/sys/windows/shlobj.d \
377 core/sys/windows/shlwapi.d core/sys/windows/snmp.d \
378 core/sys/windows/sql.d core/sys/windows/sqlext.d \
379 core/sys/windows/sqltypes.d core/sys/windows/sqlucode.d \
380 core/sys/windows/sspi.d core/sys/windows/stacktrace.d \
381 core/sys/windows/stat.d core/sys/windows/subauth.d \
382 core/sys/windows/threadaux.d core/sys/windows/tlhelp32.d \
383 core/sys/windows/tmschema.d core/sys/windows/unknwn.d \
384 core/sys/windows/uuid.d core/sys/windows/vfw.d \
385 core/sys/windows/w32api.d core/sys/windows/winbase.d \
386 core/sys/windows/winber.d core/sys/windows/wincon.d \
387 core/sys/windows/wincrypt.d core/sys/windows/windef.d \
388 core/sys/windows/windows.d core/sys/windows/winerror.d \
389 core/sys/windows/wingdi.d core/sys/windows/winhttp.d \
390 core/sys/windows/wininet.d core/sys/windows/winioctl.d \
391 core/sys/windows/winldap.d core/sys/windows/winnetwk.d \
392 core/sys/windows/winnls.d core/sys/windows/winnt.d \
393 core/sys/windows/winperf.d core/sys/windows/winreg.d \
394 core/sys/windows/winsock2.d core/sys/windows/winspool.d \
395 core/sys/windows/winsvc.d core/sys/windows/winuser.d \
396 core/sys/windows/winver.d core/sys/windows/wtsapi32.d \
397 core/sys/windows/wtypes.d
399 DRUNTIME_DISOURCES = __entrypoint.di __main.di