VirtualBox

source: vbox/trunk/src/VBox/Runtime/Makefile.kmk@ 79949

Last change on this file since 79949 was 79949, checked in by vboxsync, 6 years ago

Runtime: bugref:8231 Starting on defining and implementing a new RTIoQueue API to replace RTFileAio mid term.

The RTIoQueue API is meant to be more efficient as it doesn't require allocation
of request structures and is only meant as a thin layer around host dependent APIs.
It will support mutiple providers for different handle types and the best suited provider
supported on a particular host can be selected. This allows multiple implementations
to coexist for the same host in an easy manner.
The providers currently being implemented are (in various stages of the implementation):

  • ioqueue-stdfile-provider.cpp:

A fallback provider if nothing else is available using the synchronous RTFile* APIs
emulating asynchronous behavior by using a dedicated worker thread.

  • ioqueue-aiofile-provider.cpp:

Uses the current RTFileAio* API, will get replaced by dedicated provider implementations for
each host later on.

  • ioqueue-iouringfile-provider.cpp:

Uses the recently added io_uring interface for Linux kernels 5.1 and newer. The new interface
is a great improvement over the old aio interface which is cumbersome to use and has various
restrictions. If not available on a host the code can fall back to one of the other providers.

The I/O queue interface is also meant to be suitable for sockets which can be implemented later.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 131.3 KB
Line 
1# $Id: Makefile.kmk 79949 2019-07-24 11:05:45Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT.
4#
5
6#
7# Copyright (C) 2006-2019 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17# The contents of this file may alternatively be used under the terms
18# of the Common Development and Distribution License Version 1.0
19# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20# VirtualBox OSE distribution, in which case the provisions of the
21# CDDL are applicable instead of those of the GPL.
22#
23# You may elect to license modified versions of this file under the
24# terms and conditions of either the GPL or the CDDL or both.
25#
26
27SUB_DEPTH = ../../..
28include $(KBUILD_PATH)/subheader.kmk
29
30ifdef VBOX_ONLY_ADDITIONS
31 #
32 # Only build the additions, sort out the legacy names first.
33 #
34 LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared
35 LIBRARIES.win.amd64 += RuntimeGuestR3-x86 RuntimeGuestR3Shared-x86
36 ifdef VBOX_WITH_ADDITION_DRIVERS
37 LIBRARIES += RuntimeGuestR0
38 #LIBRARIES.os2 += RuntimeGuestR0OS2Warp3
39 endif
40 ifndef VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER
41 LIBRARIES += RuntimeBldProg
42 include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
43 endif
44
45else ifdef VBOX_ONLY_VALIDATIONKIT
46 #
47 # Only build the Validation Kit.
48 #
49 LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared RuntimeR3 RuntimeR0 RuntimeBldProg
50 LIBRARIES.solaris += RuntimeR0Stub
51 LIBRARIES.win += RuntimeR0Stub
52 LIBRARIES.win.x86 += RuntimeR3VccTricks
53 include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
54
55else ifdef VBOX_ONLY_DOCS
56 #
57 # Build docs only - need just regular R3 runtime.
58 #
59 LIBRARIES += RuntimeR3 RuntimeBldProg
60 include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
61
62else ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
63 #
64 # Build extension packs using import libraries as much as possible (VBoxDTrace
65 # needs Ring-0 IPRT, though).
66 #
67 LIBRARIES += RuntimeBldProg RuntimeR0
68 LIBRARIES.solaris += RuntimeR0Stub
69 LIBRARIES.win += RuntimeR0Stub RuntimeRCStub
70 include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
71
72else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_VALIDATIONKIT && !VBOX_ONLY_DOCS
73
74 #
75 # Normal build.
76 #
77 ifndef VBOX_ONLY_EXTPACKS
78 include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
79 endif
80 include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
81
82 BLDPROGS += uniread
83 LIBRARIES += RuntimeR3 RuntimeBldProg RuntimeR0 RuntimeEFCPP RuntimeR3NoCRTGCC
84 LIBRARIES.solaris += RuntimeR0Stub
85 LIBRARIES.win += RuntimeR0Stub
86 LIBRARIES.win.amd64 += RuntimeR3-x86
87 ifdef VBOX_WITH_RAW_MODE
88 LIBRARIES += RuntimeRC
89 LIBRARIES.win += RuntimeRCStub
90 endif
91 ifdef VBOX_WITH_VBOXDRV
92 LIBRARIES += RuntimeR0Drv
93 endif
94 ifdef VBOX_WITH_ADDITIONS
95 LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared
96 LIBRARIES.win.amd64 += RuntimeGuestR3-x86 RuntimeGuestR3Shared-x86
97 ifdef VBOX_WITH_ADDITION_DRIVERS
98 LIBRARIES += RuntimeGuestR0
99 endif
100 #LIBRARIES.os2 += RuntimeGuestR0OS2Warp3
101 endif # VBOX_WITH_ADDITIONS
102 LIBRARIES.win.x86 += RuntimeR3VccTricks
103 DLLS += VBoxRT
104 ifdef VBOX_WITH_32_ON_64_MAIN_API
105 DLLS += VBoxRT-x86
106 endif
107endif
108
109
110# Always build the ntdll import libraries on windows.
111LIBRARIES.win += RuntimeR3NtDll-x86
112if1of (amd64, $(KBUILD_TARGET_ARCH) $(KBUILD_HOST_ARCH))
113 LIBRARIES.win += RuntimeR3NtDll-amd64
114endif
115
116
117# Always build the import library.
118IMPORT_LIBS += VBoxRTImp
119
120
121# Where the generated stuff goes.
122IPRT_OUT_DIR := $(PATH_TARGET)/Runtime
123BLDDIRS += $(IPRT_OUT_DIR)
124OTHER_CLEAN += \
125 $(IPRT_OUT_DIR)/errmsgdata.h \
126 $(IPRT_OUT_DIR)/errmsgcomdata.h \
127 $(IPRT_OUT_DIR)/errmsgvboxcomdata.h \
128 $(IPRT_OUT_DIR)/errmsgvboxcomdata.h.ts \
129 $(IPRT_OUT_DIR)/odi2name.h \
130 $(IPRT_OUT_DIR)/odi2name.h.ts \
131 $(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt \
132 $(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt.dep \
133 $(IPRT_DOXYFILE_OUTPUT)/docs.iprt
134
135
136#
137# Globals
138#
139VBOX_PATH_RUNTIME_SRC := $(PATH_SUB_CURRENT)
140
141
142#
143# Set the defines that buildconfig.cpp needs. Its used by several targets.
144#
145common/misc/buildconfig.cpp_DEFS = \
146 IPRT_BLDCFG_SCM_REV=$(VBOX_SVN_REV) \
147 IPRT_BLDCFG_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" \
148 IPRT_BLDCFG_VERSION_MAJOR=$(VBOX_VERSION_MAJOR) \
149 IPRT_BLDCFG_VERSION_MINOR=$(VBOX_VERSION_MINOR) \
150 IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD) \
151 IPRT_BLDCFG_TARGET=\"$(KBUILD_TARGET)\" \
152 IPRT_BLDCFG_TARGET_ARCH=\"$(KBUILD_TARGET_ARCH)\" \
153 IPRT_BLDCFG_TYPE=\"$(KBUILD_TYPE)\"
154
155#
156# OID to C table conversion program.
157#
158BLDPROGS += oiddb2c
159oiddb2c_TEMPLATE = VBoxBldProg
160oiddb2c_SOURCES = common/asn1/oiddb2c.cpp
161common/asn1/asn1-dump.cpp_DEPS = $(IPRT_OUT_DIR)/oiddb.h
162common/asn1/asn1-dump.cpp_INCS = $(IPRT_OUT_DIR)
163
164$(IPRT_OUT_DIR)/oiddb.h.ts +| $(IPRT_OUT_DIR)/oiddb.h: \
165 $(VBOX_PATH_RUNTIME_SRC)/common/asn1/oiddb.cfg \
166 $(VBOX_EXTRA_OID_CFG_FILES) \
167 $$(oiddb2c_1_TARGET) \
168 | $$(dir $$@)
169 $(call MSG_GENERATE,,$@,$(filter %.xidl,$^))
170 $(QUIET)$(oiddb2c_1_TARGET) "$@" $(filter %.cfg,$^)
171 $(QUIET)$(CP) --changed -fv "$@" "$(IPRT_OUT_DIR)/oiddb.h"
172
173
174#
175# Unicode Specification reader used to regenerate unidata-*.cpp.
176#
177uniread_TEMPLATE = VBoxBldProg
178uniread_SOURCES = common/string/uniread.cpp
179uniread_INCS = include
180
181#
182# Win64 assembly sources.
183#
184RuntimeWin64ASM_SOURCES = \
185 win/amd64/ASMAtomicBitClear.asm \
186 win/amd64/ASMAtomicBitTestAndToggle.asm \
187 win/amd64/ASMAtomicBitToggle.asm \
188 win/amd64/ASMAtomicReadU64.asm \
189 win/amd64/ASMAtomicXchgU8.asm \
190 win/amd64/ASMGetCS.asm \
191 win/amd64/ASMGetDS.asm \
192 win/amd64/ASMGetES.asm \
193 common/asm/ASMGetFlags.asm \
194 win/amd64/ASMGetFS.asm \
195 win/amd64/ASMGetGS.asm \
196 win/amd64/ASMGetSS.asm \
197 win/amd64/ASMProbeReadByte.asm \
198 common/asm/ASMSetFlags.asm \
199 win/amd64/ASMGetDR0.asm \
200 win/amd64/ASMGetDR1.asm \
201 win/amd64/ASMGetDR2.asm \
202 win/amd64/ASMGetDR3.asm \
203 win/amd64/ASMGetDR6.asm \
204 win/amd64/ASMGetDR7.asm \
205 common/asm/ASMAtomicCmpXchgU8.asm \
206 common/asm/ASMAtomicCmpXchgU16.asm \
207 common/asm/ASMAtomicXchgU16.asm \
208 common/asm/ASMBitFirstClear.asm \
209 common/asm/ASMBitFirstSet.asm \
210 common/asm/ASMBitNextClear.asm \
211 common/asm/ASMBitNextSet.asm \
212 common/asm/ASMMultU32ByU32DivByU32.asm \
213 common/asm/ASMMultU64ByU32DivByU32.asm \
214 common/asm/ASMCpuId_Idx_ECX.asm \
215 common/asm/ASMNopPause.asm \
216 common/asm/ASMGetIDTR.asm \
217 common/asm/ASMGetIdtrLimit.asm \
218 common/asm/ASMSetIDTR.asm \
219 common/asm/ASMGetGDTR.asm \
220 common/asm/ASMSetGDTR.asm \
221 common/asm/ASMGetLDTR.asm \
222 common/asm/ASMGetSegAttr.asm \
223 common/asm/ASMGetTR.asm
224
225#
226# Win32 assembly sources.
227#
228RuntimeWin32ASM_SOURCES = \
229 common/asm/ASMAtomicCmpXchgU8.asm \
230 common/asm/ASMAtomicCmpXchgU16.asm \
231 common/asm/ASMAtomicXchgU16.asm \
232 common/asm/ASMMultU32ByU32DivByU32.asm \
233 common/asm/ASMMultU64ByU32DivByU32.asm \
234 common/asm/ASMCpuId_Idx_ECX.asm \
235 common/asm/ASMGetSegAttr.asm
236
237#
238# NoCRT sources (minus math stuff).
239#
240if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
241RuntimeNoCrt_SOURCES = \
242 common/misc/setjmp.asm \
243 common/string/bzero.asm \
244 common/string/memchr.asm \
245 common/string/memcmp.asm \
246 common/string/memcpy.asm \
247 common/string/mempcpy.asm \
248 common/string/memmove.asm \
249 common/string/memset.asm \
250 common/string/strchr.asm \
251 common/string/strcpy.asm \
252 common/string/strncpy.asm \
253 common/string/strcmp.asm \
254 common/string/strlen.asm
255endif
256
257
258#
259# RuntimeR3 - Static Runtime for Ring-3 executables.
260#
261RuntimeR3_TEMPLATE = VBoxR3Static
262RuntimeR3_SDKS = VBOX_LIBXML2
263RuntimeR3_SDKS.win = $(VBOX_WINPSDK) $(VBOX_WINDDK)
264RuntimeR3_DEFS = \
265 IN_RT_R3 \
266 LDR_WITH_NATIVE \
267 LDR_WITH_ELF32 \
268 LDR_WITH_LX \
269 LDR_WITH_MACHO \
270 LDR_WITH_PE \
271 RT_WITH_VBOX \
272 RT_NO_GIP \
273 RT_WITHOUT_NOCRT_WRAPPERS \
274 NOFILEID
275if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
276 RuntimeR3_DEFS += \
277 IN_SUP_R3
278endif
279#RuntimeR3_DEFS += RTMEM_WRAP_TO_EF_APIS
280ifdef IPRT_WITH_LZJB
281 RuntimeR3_DEFS += RTZIP_USE_LZJB
282endif
283ifdef IPRT_WITH_LZO
284 RuntimeR3_DEFS += RTZIP_USE_LZO
285endif
286ifn1of ($(KBUILD_TARGET), win)
287 RuntimeR3_DEFS += RT_WITH_ICONV_CACHE
288endif
289ifdef IPRT_WITH_FUTEX_BASED_SEMS
290 RuntimeR3_DEFS.linux += IPRT_WITH_FUTEX_BASED_SEMS
291endif
292RuntimeR3_INCS = \
293 include \
294 $(SDK_VBOX_ZLIB_INCS)
295RuntimeR3_INCS += \
296 $(PATH_ROOT)/src/libs/liblzf-3.4
297
298# RuntimeR3_INCS.solaris = \
299# /usr/include
300
301RuntimeR3_SOURCES = \
302 common/alloc/alloc.cpp \
303 common/alloc/heapsimple.cpp \
304 common/alloc/heapoffset.cpp \
305 common/alloc/memcache.cpp \
306 common/alloc/memtracker.cpp \
307 common/asn1/asn1-basics.cpp \
308 common/asn1/asn1-cursor.cpp \
309 common/asn1/asn1-default-allocator.cpp \
310 common/asn1/asn1-efence-allocator.cpp \
311 common/asn1/asn1-safer-allocator.cpp \
312 common/asn1/asn1-dump.cpp \
313 common/asn1/asn1-encode.cpp \
314 common/asn1/asn1-ut-bitstring.cpp \
315 common/asn1/asn1-ut-bitstring-decode.cpp \
316 common/asn1/asn1-ut-boolean.cpp \
317 common/asn1/asn1-ut-boolean-decode.cpp \
318 common/asn1/asn1-ut-core.cpp \
319 common/asn1/asn1-ut-core-decode.cpp \
320 common/asn1/asn1-ut-dyntype.cpp \
321 common/asn1/asn1-ut-dyntype-decode.cpp \
322 common/asn1/asn1-ut-integer.cpp \
323 common/asn1/asn1-ut-integer-decode.cpp \
324 common/asn1/asn1-ut-null.cpp \
325 common/asn1/asn1-ut-null-decode.cpp \
326 common/asn1/asn1-ut-objid.cpp \
327 common/asn1/asn1-ut-objid-decode.cpp \
328 common/asn1/asn1-ut-octetstring.cpp \
329 common/asn1/asn1-ut-octetstring-decode.cpp \
330 common/asn1/asn1-ut-string.cpp \
331 common/asn1/asn1-ut-string-decode.cpp \
332 common/asn1/asn1-ut-time.cpp \
333 common/asn1/asn1-ut-time-decode.cpp \
334 common/checksum/adler32.cpp \
335 common/checksum/crc32.cpp \
336 common/checksum/crc32c.cpp \
337 common/checksum/crc64.cpp \
338 common/checksum/crc16ccitt.cpp \
339 common/checksum/alt-md2.cpp \
340 common/checksum/alt-md4.cpp \
341 common/checksum/alt-md5.cpp \
342 common/checksum/alt-sha1.cpp \
343 common/checksum/alt-sha256.cpp \
344 common/checksum/alt-sha512.cpp \
345 common/checksum/md2str.cpp \
346 common/checksum/md4str.cpp \
347 common/checksum/md5str.cpp \
348 common/checksum/ipv4.cpp \
349 common/checksum/ipv6.cpp \
350 common/checksum/manifest.cpp \
351 common/checksum/manifest2.cpp \
352 common/checksum/manifest3.cpp \
353 common/checksum/manifest-file.cpp \
354 common/checksum/RTSha1Digest.cpp \
355 common/checksum/RTSha256Digest.cpp \
356 common/checksum/sha1str.cpp \
357 common/checksum/sha224str.cpp \
358 common/checksum/sha256str.cpp \
359 common/checksum/sha384str.cpp \
360 common/checksum/sha512str.cpp \
361 common/checksum/sha512t224str.cpp \
362 common/checksum/sha512t256str.cpp \
363 common/crypto/cipher-openssl.cpp \
364 common/crypto/digest-core.cpp \
365 common/crypto/digest-builtin.cpp \
366 common/crypto/digest-vfs.cpp \
367 common/crypto/iprt-openssl.cpp \
368 common/crypto/key.cpp \
369 common/crypto/key-file.cpp \
370 common/crypto/key-openssl.cpp \
371 common/crypto/key-create-rsa-openssl.cpp \
372 common/crypto/rc4-openssl.cpp \
373 common/crypto/rsa-asn1-decoder.cpp \
374 common/crypto/rsa-core.cpp \
375 common/crypto/rsa-init.cpp \
376 common/crypto/rsa-sanity.cpp \
377 common/crypto/pemfile.cpp \
378 common/crypto/pkcs7-asn1-decoder.cpp \
379 common/crypto/pkcs7-core.cpp \
380 common/crypto/pkcs7-init.cpp \
381 common/crypto/pkcs7-sanity.cpp \
382 common/crypto/pkcs7-verify.cpp \
383 common/crypto/pkix-sign.cpp \
384 common/crypto/pkix-signature-builtin.cpp \
385 common/crypto/pkix-signature-core.cpp \
386 common/crypto/pkix-signature-rsa.cpp \
387 common/crypto/pkix-util.cpp \
388 common/crypto/pkix-verify.cpp \
389 common/crypto/spc-asn1-decoder.cpp \
390 common/crypto/spc-core.cpp \
391 common/crypto/spc-init.cpp \
392 common/crypto/spc-sanity.cpp \
393 common/crypto/ssl-openssl.cpp \
394 common/crypto/x509-asn1-decoder.cpp \
395 common/crypto/x509-certpaths.cpp \
396 common/crypto/x509-core.cpp \
397 common/crypto/x509-file.cpp \
398 common/crypto/x509-init.cpp \
399 common/crypto/x509-sanity.cpp \
400 common/crypto/x509-verify.cpp \
401 common/crypto/taf-asn1-decoder.cpp \
402 common/crypto/taf-core.cpp \
403 common/crypto/taf-init.cpp \
404 common/crypto/taf-sanity.cpp \
405 common/crypto/tsp-asn1-decoder.cpp \
406 common/crypto/tsp-core.cpp \
407 common/crypto/tsp-init.cpp \
408 common/crypto/tsp-sanity.cpp \
409 common/crypto/store.cpp \
410 common/crypto/store-inmem.cpp \
411 common/crypto/store-cert-add-basic.cpp \
412 common/crypto/RTCrPkcs5Pbkdf2Hmac-openssl.cpp \
413 common/crypto/RTCrRandBytes-openssl.cpp \
414 common/crypto/RTCrStoreCertAddFromJavaKeyStore.cpp \
415 common/crypto/RTCrStoreCertAddWantedFromFishingExpedition.cpp \
416 common/crypto/RTCrStoreCertExportAsPem.cpp \
417 common/crypto/RTCrStoreCreateSnapshotOfUserAndSystemTrustedCAsAndCerts.cpp \
418 common/dbg/dbg.cpp \
419 common/dbg/dbgas.cpp \
420 common/dbg/dbgcfg.cpp \
421 common/dbg/dbgmod.cpp \
422 common/dbg/dbgmodldr.cpp \
423 common/dbg/dbgmodcontainer.cpp \
424 common/dbg/dbgmoddeferred.cpp \
425 common/dbg/dbgmodexports.cpp \
426 common/dbg/dbgmodcodeview.cpp \
427 common/dbg/dbgmoddwarf.cpp \
428 common/dbg/dbgmodmapsym.cpp \
429 common/dbg/dbgmodnm.cpp \
430 common/dvm/dvm.cpp \
431 common/dvm/dvmbsdlabel.cpp \
432 common/dvm/dvmgpt.cpp \
433 common/dvm/dvmmbr.cpp \
434 common/dvm/dvmvfs.cpp \
435 common/err/errinfo.cpp \
436 common/err/errinfolog.cpp \
437 common/err/errinfo-alloc.cpp \
438 common/err/errmsg.cpp \
439 common/err/RTErrConvertFromErrno.cpp \
440 common/err/RTErrConvertToErrno.cpp \
441 common/fs/extvfs.cpp \
442 common/fs/fatvfs.cpp \
443 common/fs/isovfs.cpp \
444 common/fs/isomaker.cpp \
445 common/fs/isomakercmd.cpp \
446 common/fs/isomakerimport.cpp \
447 common/fs/ntfsvfs.cpp \
448 common/fs/RTFsCmdLs.cpp \
449 common/ioqueue/ioqueuebase.cpp \
450 common/ioqueue/ioqueue-aiofile-provider.cpp \
451 common/ioqueue/ioqueue-stdfile-provider.cpp \
452 common/ldr/ldr.cpp \
453 common/ldr/ldrELF.cpp \
454 common/ldr/ldrEx.cpp \
455 common/ldr/ldrFile.cpp \
456 common/ldr/ldrVfsFile.cpp \
457 common/ldr/ldrLX.cpp \
458 common/ldr/ldrMachO.cpp \
459 common/ldr/ldrMemory.cpp \
460 common/ldr/ldrNative.cpp \
461 common/ldr/ldrPE.cpp \
462 common/log/log.cpp \
463 common/log/logellipsis.cpp \
464 common/log/logrel.cpp \
465 common/log/logrelellipsis.cpp \
466 common/log/logcom.cpp \
467 common/log/logformat.cpp \
468 common/log/tracebuf.cpp \
469 common/log/tracedefault.cpp \
470 common/log/tracelogreader.cpp \
471 common/log/tracelogwriter.cpp \
472 common/math/bignum.cpp \
473 common/misc/RTAssertMsg1Weak.cpp \
474 common/misc/RTAssertMsg2.cpp \
475 common/misc/RTAssertMsg2Add.cpp \
476 common/misc/RTAssertMsg2AddWeak.cpp \
477 common/misc/RTAssertMsg2AddWeakV.cpp \
478 common/misc/RTAssertMsg2Weak.cpp \
479 common/misc/RTAssertMsg2WeakV.cpp \
480 common/misc/RTFileModeToFlags.cpp \
481 common/misc/RTFileOpenF.cpp \
482 common/misc/RTFileOpenV.cpp \
483 common/misc/RTMemWipeThoroughly.cpp \
484 common/misc/assert.cpp \
485 common/misc/buildconfig.cpp \
486 common/misc/cidr.cpp \
487 common/misc/getopt.cpp \
488 common/misc/getoptargv.cpp \
489 common/misc/handle.cpp \
490 common/misc/handletable.cpp \
491 common/misc/handletablectx.cpp \
492 common/misc/handletablesimple.cpp \
493 common/misc/inifile.cpp \
494 common/misc/json.cpp \
495 common/misc/lockvalidator.cpp \
496 common/misc/message.cpp \
497 common/misc/messagerefentry.cpp \
498 common/misc/once.cpp \
499 common/misc/req.cpp \
500 common/misc/reqpool.cpp \
501 common/misc/reqqueue.cpp \
502 common/misc/sanity-c.c \
503 common/misc/sanity-cpp.cpp \
504 common/misc/semspingpong.cpp \
505 common/misc/sg.cpp \
506 common/misc/circbuf.cpp \
507 common/misc/thread.cpp \
508 common/misc/term.cpp \
509 common/misc/uri.cpp \
510 common/misc/zero.asm \
511 common/net/netaddrstr2.cpp \
512 common/net/macstr.cpp \
513 common/path/rtPathRootSpecLen.cpp \
514 common/path/rtPathVolumeSpecLen.cpp \
515 common/path/RTPathAbsDup.cpp \
516 common/path/RTPathAbsEx.cpp \
517 common/path/RTPathAbsExDup.cpp \
518 common/path/RTPathAppend.cpp \
519 common/path/RTPathAppendEx.cpp \
520 common/path/RTPathCalcRelative.cpp \
521 common/path/RTPathChangeToDosSlashes.cpp \
522 common/path/RTPathChangeToUnixSlashes.cpp \
523 common/path/RTPathCopyComponents.cpp \
524 common/path/RTPathCountComponents.cpp \
525 common/path/RTPathEnsureTrailingSeparator.cpp \
526 common/path/RTPathExt.cpp \
527 common/path/RTPathFilename.cpp \
528 common/path/RTPathFilenameUtf16.cpp \
529 common/path/RTPathGlob.cpp \
530 common/path/RTPathHasExt.cpp \
531 common/path/RTPathHasPath.cpp \
532 common/path/RTPathJoin.cpp \
533 common/path/RTPathJoinA.cpp \
534 common/path/RTPathJoinEx.cpp \
535 common/path/RTPathParentLength.cpp \
536 common/path/RTPathParse.cpp \
537 common/path/RTPathParsedReassemble.cpp \
538 common/path/RTPathParseSimple.cpp \
539 common/path/RTPathPurgeFilename.cpp \
540 common/path/RTPathRealDup.cpp \
541 common/path/RTPathRmCmd.cpp \
542 common/path/RTPathSkipRootSpec.cpp \
543 common/path/RTPathSplit.cpp \
544 common/path/RTPathSplitA.cpp \
545 common/path/RTPathSplitReassemble.cpp \
546 common/path/RTPathStartsWithRoot.cpp \
547 common/path/RTPathStripExt.cpp \
548 common/path/RTPathStripFilename.cpp \
549 common/path/RTPathStripTrailingSlash.cpp \
550 common/path/RTPathTraverseList.cpp \
551 common/path/comparepaths.cpp \
552 common/rand/rand.cpp \
553 common/rand/randadv.cpp \
554 common/rand/randparkmiller.cpp \
555 common/sort/RTSortIsSorted.cpp \
556 common/sort/RTSortApvIsSorted.cpp \
557 common/sort/shellsort.cpp \
558 common/string/RTStrCat.cpp \
559 common/string/RTStrCatEx.cpp \
560 common/string/RTStrCatP.cpp \
561 common/string/RTStrCatPEx.cpp \
562 common/string/RTStrCmp.cpp \
563 common/string/RTStrCopy.cpp \
564 common/string/RTStrCopyEx.cpp \
565 common/string/RTStrCopyP.cpp \
566 common/string/RTStrCopyPEx.cpp \
567 common/string/RTStrNCmp.cpp \
568 common/string/RTStrNLen.cpp \
569 common/string/RTStrNLenEx.cpp \
570 common/string/RTStrPrintHexBytes.cpp \
571 common/string/RTStrStartsWith.cpp \
572 common/string/RTStrIStartsWith.cpp \
573 common/string/RTStrICmpAscii.cpp \
574 common/string/RTStrNICmpAscii.cpp \
575 common/string/RTStrStr.cpp \
576 common/string/RTUtf16Copy.cpp \
577 common/string/RTUtf16CopyAscii.cpp \
578 common/string/RTUtf16CopyEx.cpp \
579 common/string/RTUtf16Cat.cpp \
580 common/string/RTUtf16CatAscii.cpp \
581 common/string/RTUtf16Chr.cpp \
582 common/string/RTUtf16CmpAscii.cpp \
583 common/string/RTUtf16ICmpAscii.cpp \
584 common/string/RTUtf16End.cpp \
585 common/string/RTUtf16NCmpAscii.cpp \
586 common/string/RTUtf16NICmpAscii.cpp \
587 common/string/RTUtf16NLen.cpp \
588 common/string/RTUtf16NLenEx.cpp \
589 common/string/RTUtf16PrintHexBytes.cpp \
590 common/string/base64.cpp \
591 common/string/simplepattern.cpp \
592 common/string/straprintf.cpp \
593 common/string/strformat.cpp \
594 common/string/strformatnum.cpp \
595 common/string/strformatrt.cpp \
596 common/string/strformattype.cpp \
597 common/string/strhash1.cpp \
598 common/string/stringalloc.cpp \
599 common/string/strprintf.cpp \
600 common/string/strprintf2.cpp \
601 common/string/strcache.cpp \
602 common/string/strspace.cpp \
603 common/string/strstrip.cpp \
604 common/string/strtonum.cpp \
605 common/string/strversion.cpp \
606 common/string/uni.cpp \
607 common/string/unidata-flags.cpp \
608 common/string/unidata-lower.cpp \
609 common/string/unidata-upper.cpp \
610 common/string/utf-16.cpp \
611 common/string/utf-16-case.cpp \
612 common/string/utf-16-latin-1.cpp \
613 common/string/utf-8.cpp \
614 common/string/utf-8-case.cpp \
615 common/string/utf-8-case2.cpp \
616 common/string/ministring.cpp \
617 common/table/avlgcptr.cpp \
618 common/table/avlhcphys.cpp \
619 common/table/avlgcphys.cpp \
620 common/table/avllu32.cpp \
621 common/table/avlou32.cpp \
622 common/table/avlogcphys.cpp \
623 common/table/avlogcptr.cpp \
624 common/table/avlohcphys.cpp \
625 common/table/avloioport.cpp \
626 common/table/avlpv.cpp \
627 common/table/avlrgcptr.cpp \
628 common/table/avlrogcphys.cpp \
629 common/table/avlrogcptr.cpp \
630 common/table/avlroioport.cpp \
631 common/table/avlroogcptr.cpp \
632 common/table/avlrpv.cpp \
633 common/table/avlruintptr.cpp \
634 common/table/avlrfoff.cpp \
635 common/table/avlru64.cpp \
636 common/table/avlu32.cpp \
637 common/table/avlu64.cpp \
638 common/table/avluintptr.cpp \
639 common/table/avlul.cpp \
640 common/table/table.cpp \
641 common/time/time.cpp \
642 common/time/timeprog.cpp \
643 common/time/timesup.cpp \
644 common/time/timezoneinfo.cpp \
645 common/vfs/vfsbase.cpp \
646 common/vfs/vfschain.cpp \
647 common/vfs/vfsfss2dir.cpp \
648 common/vfs/vfsiosmisc.cpp \
649 common/vfs/vfsmemory.cpp \
650 common/vfs/vfsmisc.cpp \
651 common/vfs/vfsmount.cpp \
652 common/vfs/vfsmsg.cpp \
653 common/vfs/vfsprogress.cpp \
654 common/vfs/vfsreadahead.cpp \
655 common/vfs/vfsstddir.cpp \
656 common/vfs/vfsstdfile.cpp \
657 common/vfs/vfsstdpipe.cpp \
658 common/zip/tar.cpp \
659 common/zip/tarcmd.cpp \
660 common/zip/tarvfs.cpp \
661 common/zip/tarvfswriter.cpp \
662 common/zip/gzipvfs.cpp \
663 common/zip/gzipcmd.cpp \
664 common/zip/pkzip.cpp \
665 common/zip/pkzipvfs.cpp \
666 common/zip/unzipcmd.cpp \
667 common/zip/zip.cpp \
668 generic/createtemp-generic.cpp \
669 generic/critsect-generic.cpp \
670 generic/critsectrw-generic.cpp \
671 generic/env-generic.cpp \
672 generic/RTDirCreateUniqueNumbered-generic.cpp \
673 generic/RTEnvDupEx-generic.cpp \
674 generic/RTFileCopy-generic.cpp \
675 generic/RTFileCopyAttributes-generic.cpp \
676 generic/RTFileCopyEx-generic.cpp \
677 generic/RTFileCopyByHandlesEx-generic.cpp \
678 generic/RTFileCopyPart-generic.cpp \
679 generic/RTFileQuerySize-generic.cpp \
680 generic/RTFileReadAll-generic.cpp \
681 generic/RTFileReadAllEx-generic.cpp \
682 generic/RTFileReadAllByHandle-generic.cpp \
683 generic/RTFileReadAllByHandleEx-generic.cpp \
684 generic/RTFileReadAllFree-generic.cpp \
685 generic/RTLogWriteStdErr-generic.cpp \
686 generic/RTLogWriteStdOut-generic.cpp \
687 generic/RTLogWriteUser-generic.cpp \
688 generic/RTPathGetCurrentDrive-generic.cpp \
689 generic/RTPathIsSame-generic.cpp \
690 generic/RTTimerLRCreate-generic.cpp \
691 generic/rtStrFormatKernelAddress-generic.cpp \
692 generic/mempool-generic.cpp \
693 generic/semfastmutex-generic.cpp \
694 generic/semxroads-generic.cpp \
695 generic/spinlock-generic.cpp \
696 generic/timerlr-generic.cpp \
697 r3/alloc-ef.cpp \
698 r3/alloc.cpp \
699 r3/allocex.cpp \
700 r3/dir.cpp \
701 r3/dir2.cpp \
702 r3/fileio.cpp \
703 r3/fs.cpp \
704 r3/init.cpp \
705 r3/memsafer-r3.cpp \
706 r3/path.cpp \
707 r3/poll.cpp \
708 r3/process.cpp \
709 r3/socket.cpp \
710 r3/stream.cpp \
711 r3/test.cpp \
712 r3/testi.cpp \
713 r3/tcp.cpp \
714 r3/udp.cpp \
715 r3/generic/semspinmutex-r3-generic.cpp \
716 r3/xml.cpp \
717 common/zip/xarvfs.cpp
718
719
720#if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
721# RuntimeR3_SOURCES += common/time/timesupA.asm
722#else
723 RuntimeR3_SOURCES += common/time/timesupref.cpp
724#endif
725
726RuntimeR3_SOURCES.x86 += \
727 generic/RTMpGetDescription-generic.cpp \
728 common/misc/RTSystemIsInsideVM-amd64-x86.cpp
729RuntimeR3_SOURCES.amd64 += \
730 generic/RTMpGetDescription-generic.cpp \
731 common/misc/RTSystemIsInsideVM-amd64-x86.cpp
732RuntimeR3_SOURCES.sparc32 += \
733 generic/RTMpGetDescription-generic-stub.cpp \
734 generic/RTSystemIsInsideVM-generic.cpp \
735 common/asm/asm-fake.cpp
736RuntimeR3_SOURCES.sparc64 += \
737 generic/RTMpGetDescription-generic-stub.cpp \
738 generic/RTSystemIsInsideVM-generic.cpp \
739 common/asm/asm-fake.cpp
740
741ifdef IPRT_WITH_LZJB
742 RuntimeR3_SOURCES += common/misc/lzjb.c
743endif
744
745# AMD64 / x86 assembly code.
746RuntimeR3_SOURCES.x86 += \
747 common/asm/ASMCpuIdExSlow.asm \
748 common/asm/ASMAtomicUoAndU64.asm \
749 common/asm/ASMAtomicUoAndU32.asm \
750 common/asm/ASMAtomicUoDecU32.asm \
751 common/asm/ASMAtomicUoIncU32.asm \
752 common/asm/ASMAtomicUoOrU64.asm \
753 common/asm/ASMAtomicUoOrU32.asm \
754 common/asm/ASMMemFirstMismatchingU8.asm \
755 common/asm/ASMRdMsrEx.asm \
756 common/asm/ASMWrMsrEx.asm \
757 common/asm/ASMGetXcr0.asm \
758 common/asm/ASMSetXcr0.asm \
759 common/asm/ASMXSave.asm \
760 common/asm/ASMXRstor.asm \
761 common/asm/ASMFxSave.asm \
762 common/asm/ASMFxRstor.asm \
763 common/asm/ASMSerializeInstruction-cpuid.asm \
764 common/asm/ASMSerializeInstruction-iret.asm \
765 common/asm/ASMSerializeInstruction-rdtscp.asm \
766 common/dbg/dbgstackdumpself.cpp \
767 common/dbg/dbgstackdumpself-amd64-x86.asm \
768 common/math/bignum-amd64-x86.asm
769RuntimeR3_SOURCES.amd64 += \
770 common/asm/ASMCpuIdExSlow.asm \
771 common/asm/ASMAtomicUoAndU64.asm \
772 common/asm/ASMAtomicUoAndU32.asm \
773 common/asm/ASMAtomicUoDecU32.asm \
774 common/asm/ASMAtomicUoIncU32.asm \
775 common/asm/ASMAtomicUoOrU64.asm \
776 common/asm/ASMAtomicUoOrU32.asm \
777 common/asm/ASMMemFirstMismatchingU8.asm \
778 common/asm/ASMRdMsrEx.asm \
779 common/asm/ASMWrMsrEx.asm \
780 common/asm/ASMGetXcr0.asm \
781 common/asm/ASMSetXcr0.asm \
782 common/asm/ASMXSave.asm \
783 common/asm/ASMXRstor.asm \
784 common/asm/ASMFxSave.asm \
785 common/asm/ASMFxRstor.asm \
786 common/asm/ASMSerializeInstruction-cpuid.asm \
787 common/asm/ASMSerializeInstruction-iret.asm \
788 common/asm/ASMSerializeInstruction-rdtscp.asm \
789 common/dbg/dbgstackdumpself.cpp \
790 common/dbg/dbgstackdumpself-amd64-x86.asm \
791 common/math/bignum-amd64-x86.asm \
792 common/math/RTUInt128MulByU64.asm
793
794# Some versions of GCC might require this.
795RuntimeR3_SOURCES.x86 += \
796 common/asm/ASMAtomicXchgU64.asm \
797 common/asm/ASMAtomicCmpXchgU64.asm \
798 common/asm/ASMAtomicCmpXchgExU64.asm \
799 common/asm/ASMAtomicReadU64.asm \
800 common/asm/ASMAtomicUoReadU64.asm
801
802
803# VBox specific stuff.
804RuntimeR3_SOURCES += \
805 VBox/RTAssertShouldPanic-vbox.cpp \
806 VBox/log-vbox.cpp
807ifneq ($(KBUILD_TARGET),win)
808RuntimeR3_SOURCES += \
809 common/err/errmsgxpcom.cpp
810endif
811if1of ($(KBUILD_TARGET),freebsd linux netbsd openbsd solaris)
812RuntimeR3_SOURCES += \
813 $(if $(VBOX_WITH_DBUS),VBox/dbus.cpp,)
814endif
815
816if1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)
817RuntimeR3_SOURCES := \
818 $(filter-out common/misc/zero.asm, $(RuntimeR3_SOURCES)) \
819 common/misc/zero.cpp
820endif
821
822VBOX_WITH_NT_DIRENUM = 1
823RuntimeR3_SOURCES.win = \
824 common/dbg/dbgmoddbghelp.cpp \
825 generic/cdrom-generic.cpp \
826 generic/RTDirExists-generic.cpp \
827 generic/RTDirSetMode-generic.cpp \
828 generic/RTDirSetTimes-generic.cpp \
829 generic/fileio-sg-generic.cpp \
830 generic/fileio-sg-at-generic.cpp \
831 generic/RTFileCopyPartEx-generic.cpp \
832 generic/RTFileExists-generic.cpp \
833 generic/RTFileSetAllocationSize-generic.cpp \
834 generic/RTMpGetCurFrequency-generic.cpp \
835 generic/RTMpGetMaxFrequency-generic.cpp \
836 generic/RTRandAdvCreateSystemFaster-generic.cpp \
837 generic/RTRandAdvCreateSystemTruer-generic.cpp \
838 generic/RTSemEventWait-generic.cpp \
839 generic/RTSemEventMultiWait-2-ex-generic.cpp \
840 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
841 generic/RTSemMutexRequest-generic.cpp \
842 generic/RTSemMutexRequestDebug-generic.cpp \
843 generic/RTThreadSetAffinityToCpu-generic.cpp \
844 generic/mppresent-generic-online.cpp \
845 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
846 generic/uuid-generic.cpp \
847 generic/RTProcDaemonize-generic.cpp \
848 generic/RTProcIsRunningByName-generic.cpp \
849 generic/RTThreadGetNativeState-generic.cpp \
850 nt/RTErrConvertFromNtStatus.cpp \
851 nt/RTNtPathExpand8dot3Path.cpp \
852 nt/RTNtPathExpand8dot3PathA.cpp \
853 nt/RTNtPathFindPossible8dot3Name.cpp \
854 nt/fileioutils-nt.cpp \
855 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
856 r3/nt/dirrel-r3-nt.cpp \
857 r3/nt/fs-nt.cpp \
858 r3/nt/pathint-nt.cpp \
859 r3/nt/RTFileQueryFsSizes-nt.cpp \
860 r3/nt/RTFileSetMode-r3-nt.cpp \
861 r3/nt/RTPathQueryInfo-nt.cpp \
862 r3/nt/RTPathSetMode-r3-nt.cpp \
863 r3/nt/RTProcQueryParent-r3-nt.cpp \
864 r3/win/env-win.cpp \
865 r3/win/RTCrStoreCreateSnapshotById-win.cpp \
866 r3/win/RTHandleGetStandard-win.cpp \
867 r3/win/RTLocaleQueryNormalizedBaseLocaleName-win.cpp \
868 r3/win/RTLocaleQueryUserCountryCode-win.cpp \
869 r3/win/RTSystemQueryOSInfo-win.cpp \
870 r3/win/RTSystemShutdown-win.cpp \
871 r3/win/RTSystemQueryDmiString-win.cpp \
872 r3/win/RTSystemQueryTotalRam-win.cpp \
873 r3/win/RTTimeZoneGetCurrent-win.cpp \
874 r3/win/alloc-win.cpp \
875 r3/win/allocex-win.cpp \
876 r3/win/dir-win.cpp \
877 $(if-expr defined(VBOX_WITH_NT_DIRENUM),r3/nt/direnum-r3-nt.cpp,r3/win/direnum-win.cpp generic/RTDirQueryInfo-generic.cpp) \
878 r3/win/errvars-win.cpp \
879 r3/win/fileio-win.cpp \
880 r3/win/init-win.cpp \
881 r3/win/krnlmod-win.cpp \
882 r3/win/ldrNative-win.cpp \
883 r3/win/localipc-win.cpp \
884 r3/win/mp-win.cpp \
885 r3/win/path-win.cpp \
886 r3/win/pathint-win.cpp \
887 r3/win/pipe-win.cpp \
888 r3/win/process-win.cpp \
889 r3/win/RTLogWriteDebugger-win.cpp \
890 r3/win/rtProcInitExePath-win.cpp \
891 r3/win/sched-win.cpp \
892 r3/win/semevent-win.cpp \
893 r3/win/semeventmulti-win.cpp \
894 r3/win/semmutex-win.cpp \
895 r3/win/serialport-win.cpp \
896 r3/win/shmem-win.cpp \
897 r3/win/symlink-win.cpp \
898 r3/win/thread-win.cpp \
899 r3/win/thread2-win.cpp \
900 $(if-expr 1,r3/win/time-win.cpp,r3/nt/time-nt.cpp) \
901 r3/win/time2-win.cpp \
902 r3/win/timer-win.cpp \
903 r3/win/tls-win.cpp \
904 r3/win/utf16locale-win.cpp \
905 r3/win/utf8-win.cpp \
906 r3/win/RTUuidCreate-win.cpp \
907 win/errmsgwin.cpp \
908 win/RTErrConvertFromWin32.cpp \
909 common/string/mempcpy.asm
910
911RuntimeR3_SOURCES.win.amd64 := \
912 $(RuntimeWin64ASM_SOURCES) \
913 common/string/memrchr.asm
914RuntimeR3_SOURCES.win.x86 := \
915 $(RuntimeWin32ASM_SOURCES) \
916 common/string/memrchr.asm
917
918RuntimeR3_SOURCES.linux = \
919 generic/cdrom-generic.cpp \
920 generic/RTCrStoreCreateSnapshotById-generic.cpp \
921 generic/RTDirQueryInfo-generic.cpp \
922 generic/RTDirSetMode-generic.cpp \
923 generic/RTDirSetTimes-generic.cpp \
924 generic/RTFileMove-generic.cpp \
925 generic/RTLogWriteDebugger-generic.cpp \
926 generic/RTPathGetCurrentOnDrive-generic.cpp \
927 generic/RTProcDaemonize-generic.cpp \
928 generic/RTSemEventMultiWait-2-ex-generic.cpp \
929 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
930 generic/RTTimeLocalNow-generic.cpp \
931 generic/RTTimerCreate-generic.cpp \
932 generic/RTThreadSetAffinityToCpu-generic.cpp \
933 generic/RTUuidCreate-generic.cpp \
934 generic/mppresent-generic.cpp \
935 generic/utf16locale-generic.cpp \
936 generic/uuid-generic.cpp \
937 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
938 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
939 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
940 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
941 r3/generic/dirrel-r3-generic.cpp \
942 r3/posix/allocex-r3-posix.cpp \
943 r3/linux/RTThreadGetNativeState-linux.cpp \
944 r3/linux/krnlmod-linux.cpp \
945 r3/linux/mp-linux.cpp \
946 r3/linux/rtProcInitExePath-linux.cpp \
947 r3/linux/sched-linux.cpp \
948 r3/linux/sysfs.cpp \
949 r3/linux/time-linux.cpp \
950 r3/linux/thread-affinity-linux.cpp \
951 r3/linux/RTFileCopyPartEx-linux.cpp \
952 r3/linux/RTFileSetAllocationSize-linux.cpp \
953 r3/linux/RTProcIsRunningByName-linux.cpp \
954 r3/linux/RTSystemQueryDmiString-linux.cpp \
955 r3/linux/RTSystemShutdown-linux.cpp \
956 r3/posix/RTFileQueryFsSizes-posix.cpp \
957 r3/posix/RTHandleGetStandard-posix.cpp \
958 r3/posix/RTMemProtect-posix.cpp \
959 r3/posix/RTPathUserHome-posix.cpp \
960 r3/posix/RTSystemQueryOSInfo-posix.cpp \
961 r3/linux/systemmem-linux.cpp \
962 r3/posix/RTTimeNow-posix.cpp \
963 r3/posix/RTTimeSet-posix.cpp \
964 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
965 r3/posix/dir-posix.cpp \
966 r3/posix/env-posix.cpp \
967 r3/posix/errvars-posix.cpp \
968 r3/posix/fileio-posix.cpp \
969 r3/posix/fileio2-posix.cpp \
970 r3/posix/fileio-at-posix.cpp \
971 r3/posix/fileio-sg-posix.cpp \
972 r3/posix/fileio-sg-at-posix.cpp \
973 r3/posix/filelock-posix.cpp \
974 r3/posix/fs-posix.cpp \
975 r3/posix/fs2-posix.cpp \
976 r3/posix/fs3-posix.cpp \
977 r3/posix/ldrNative-posix.cpp \
978 r3/posix/localipc-posix.cpp \
979 r3/posix/path-posix.cpp \
980 r3/posix/path2-posix.cpp \
981 r3/posix/pathhost-posix.cpp \
982 r3/posix/RTPathUserDocuments-posix.cpp \
983 r3/posix/pipe-posix.cpp \
984 r3/posix/process-posix.cpp \
985 r3/posix/process-creation-posix.cpp \
986 r3/posix/rand-posix.cpp \
987 r3/posix/semrw-posix.cpp \
988 r3/posix/serialport-posix.cpp \
989 r3/posix/shmem-posix.cpp \
990 r3/posix/symlink-posix.cpp \
991 r3/posix/thread-posix.cpp \
992 r3/posix/thread2-posix.cpp \
993 r3/posix/timelocal-posix.cpp \
994 r3/posix/timer-posix.cpp \
995 r3/posix/tls-posix.cpp \
996 r3/posix/utf8-posix.cpp
997ifdef IPRT_WITH_FUTEX_BASED_SEMS
998 RuntimeR3_SOURCES.linux += \
999 r3/linux/semevent-linux.cpp \
1000 r3/linux/semeventmulti-linux.cpp \
1001 r3/linux/semmutex-linux.cpp
1002else
1003 RuntimeR3_SOURCES.linux.x86 += \
1004 r3/posix/semevent-posix.cpp \
1005 r3/posix/semeventmulti-posix.cpp \
1006 r3/posix/semmutex-posix.cpp
1007 RuntimeR3_SOURCES.linux.amd64 += \
1008 r3/linux/semevent-linux.cpp \
1009 r3/linux/semeventmulti-linux.cpp
1010 ifdef RT_NEW_LINUX_MUTEX_CODE
1011 RuntimeR3_SOURCES.linux.amd64 += \
1012 r3/linux/semmutex-linux.cpp
1013 else
1014 RuntimeR3_SOURCES.linux.amd64 += \
1015 r3/posix/semmutex-posix.cpp
1016 endif
1017endif
1018
1019RuntimeR3_SOURCES.os2 = \
1020 common/string/memrchr.asm \
1021 generic/cdrom-generic.cpp \
1022 generic/RTCrStoreCreateSnapshotById-generic.cpp \
1023 generic/RTDirQueryInfo-generic.cpp \
1024 generic/RTDirSetMode-generic.cpp \
1025 generic/RTDirSetTimes-generic.cpp \
1026 generic/fileio-at-generic.cpp \
1027 generic/fileio-sg-generic.cpp \
1028 generic/fileio-sg-at-generic.cpp \
1029 generic/RTFileCopyPartEx-generic.cpp \
1030 generic/RTFileMove-generic.cpp \
1031 generic/RTFileSetAllocationSize-generic.cpp \
1032 generic/RTLogWriteDebugger-generic.cpp \
1033 generic/RTPathGetCurrentOnDrive-generic.cpp \
1034 generic/RTProcDaemonize-generic.cpp \
1035 generic/RTRandAdvCreateSystemFaster-generic.cpp \
1036 generic/RTRandAdvCreateSystemTruer-generic.cpp \
1037 generic/RTSystemQueryDmiString-generic.cpp \
1038 generic/RTSystemShutdown-generic.cpp \
1039 generic/RTTimeLocalNow-generic.cpp \
1040 generic/RTTimerCreate-generic.cpp \
1041 generic/RTThreadSetAffinityToCpu-generic.cpp \
1042 generic/RTUuidCreate-generic.cpp \
1043 generic/mppresent-generic.cpp \
1044 generic/RTSemEventWait-generic.cpp \
1045 generic/RTSemEventMultiWait-generic.cpp \
1046 generic/RTSemMutexRequest-generic.cpp \
1047 generic/RTSemMutexRequestDebug-generic.cpp \
1048 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
1049 generic/timer-generic.cpp \
1050 generic/utf16locale-generic.cpp \
1051 generic/uuid-generic.cpp \
1052 generic/RTMpGetCoreCount-generic.cpp \
1053 generic/RTMpGetOnlineCoreCount-generic.cpp \
1054 generic/RTMpGetCurFrequency-generic.cpp \
1055 generic/RTMpGetMaxFrequency-generic.cpp \
1056 generic/RTProcIsRunningByName-generic.cpp \
1057 generic/RTThreadGetNativeState-generic.cpp \
1058 os2/RTErrConvertFromOS2.cpp \
1059 r3/generic/allocex-r3-generic.cpp \
1060 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1061 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1062 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1063 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1064 r3/generic/dirrel-r3-generic.cpp \
1065 r3/os2/RTTimeSet-os2.cpp \
1066 r3/os2/filelock-os2.cpp \
1067 r3/os2/mp-os2.cpp \
1068 r3/os2/pipe-os2.cpp \
1069 r3/os2/rtProcInitExePath-os2.cpp \
1070 r3/os2/sched-os2.cpp \
1071 r3/os2/sems-os2.cpp \
1072 r3/os2/serialport-os2.cpp \
1073 r3/os2/systemmem-os2.cpp \
1074 r3/os2/thread-os2.cpp \
1075 r3/os2/time-os2.cpp \
1076 r3/posix/RTFileQueryFsSizes-posix.cpp \
1077 r3/posix/RTHandleGetStandard-posix.cpp \
1078 r3/posix/RTMemProtect-posix.cpp \
1079 r3/posix/RTPathUserHome-posix.cpp \
1080 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1081 r3/posix/RTTimeNow-posix.cpp \
1082 r3/posix/dir-posix.cpp \
1083 r3/posix/env-posix.cpp \
1084 r3/posix/errvars-posix.cpp \
1085 r3/posix/fileio-posix.cpp \
1086 r3/posix/fileio2-posix.cpp \
1087 r3/posix/fs-posix.cpp \
1088 r3/posix/fs2-posix.cpp \
1089 r3/posix/fs3-posix.cpp \
1090 r3/posix/ldrNative-posix.cpp \
1091 r3/posix/localipc-posix.cpp \
1092 r3/posix/path-posix.cpp \
1093 r3/posix/path2-posix.cpp \
1094 r3/posix/pathhost-posix.cpp \
1095 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1096 r3/posix/RTPathUserDocuments-posix.cpp \
1097 r3/posix/process-posix.cpp \
1098 r3/posix/process-creation-posix.cpp \
1099 r3/posix/symlink-posix.cpp \
1100 r3/posix/timelocal-posix.cpp \
1101 r3/posix/utf8-posix.cpp
1102
1103RuntimeR3_SOURCES.darwin = \
1104 darwin/RTErrConvertFromDarwin.cpp \
1105 darwin/RTErrConvertFromDarwinCOM.cpp \
1106 darwin/RTErrConvertFromDarwinIO.cpp \
1107 darwin/RTErrConvertFromDarwinKern.cpp \
1108 generic/cdrom-generic.cpp \
1109 generic/RTDirQueryInfo-generic.cpp \
1110 generic/RTDirSetMode-generic.cpp \
1111 generic/RTDirSetTimes-generic.cpp \
1112 generic/RTFileCopyPartEx-generic.cpp \
1113 generic/RTFileMove-generic.cpp \
1114 generic/RTFileSetAllocationSize-generic.cpp \
1115 generic/RTLogWriteDebugger-generic.cpp \
1116 generic/RTPathGetCurrentOnDrive-generic.cpp \
1117 generic/RTProcDaemonize-generic.cpp \
1118 generic/RTThreadGetAffinity-stub-generic.cpp \
1119 generic/RTThreadSetAffinity-stub-generic.cpp \
1120 generic/RTThreadSetAffinityToCpu-generic.cpp \
1121 generic/RTTimeLocalNow-generic.cpp \
1122 generic/RTTimerCreate-generic.cpp \
1123 generic/RTUuidCreate-generic.cpp \
1124 generic/mppresent-generic.cpp \
1125 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1126 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1127 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
1128 generic/RTSystemShutdown-generic.cpp \
1129 generic/timer-generic.cpp \
1130 generic/utf16locale-generic.cpp \
1131 generic/uuid-generic.cpp\
1132 generic/RTProcIsRunningByName-generic.cpp \
1133 generic/RTThreadGetNativeState-generic.cpp \
1134 r3/darwin/RTCrStoreCreateSnapshotById-darwin.cpp \
1135 r3/darwin/filelock-darwin.cpp \
1136 r3/darwin/krnlmod-darwin.cpp \
1137 r3/darwin/mp-darwin.cpp \
1138 r3/darwin/pathhost-darwin.cpp \
1139 r3/darwin/rtProcInitExePath-darwin.cpp \
1140 r3/darwin/RTSystemQueryDmiString-darwin.cpp \
1141 r3/darwin/sched-darwin.cpp \
1142 r3/darwin/systemmem-darwin.cpp \
1143 r3/darwin/time-darwin.cpp \
1144 r3/darwin/RTPathUserDocuments-darwin.cpp \
1145 r3/generic/allocex-r3-generic.cpp \
1146 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1147 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1148 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1149 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1150 r3/generic/dirrel-r3-generic.cpp \
1151 r3/posix/RTFileQueryFsSizes-posix.cpp \
1152 r3/posix/RTHandleGetStandard-posix.cpp \
1153 r3/posix/RTMemProtect-posix.cpp \
1154 r3/posix/RTPathUserHome-posix.cpp \
1155 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1156 r3/posix/RTTimeSet-posix.cpp \
1157 r3/posix/dir-posix.cpp \
1158 r3/posix/env-posix.cpp \
1159 r3/posix/errvars-posix.cpp \
1160 r3/posix/fileio-posix.cpp \
1161 r3/posix/fileio2-posix.cpp \
1162 r3/posix/fileio-at-posix.cpp \
1163 r3/posix/fileio-sg-posix.cpp \
1164 r3/posix/fileio-sg-at-posix.cpp \
1165 r3/posix/fs-posix.cpp \
1166 r3/posix/fs2-posix.cpp \
1167 r3/posix/fs3-posix.cpp \
1168 r3/posix/ldrNative-posix.cpp \
1169 r3/posix/localipc-posix.cpp \
1170 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1171 r3/posix/path-posix.cpp \
1172 r3/posix/path2-posix.cpp \
1173 r3/posix/pipe-posix.cpp \
1174 r3/posix/process-posix.cpp \
1175 r3/posix/process-creation-posix.cpp \
1176 r3/posix/rand-posix.cpp \
1177 r3/posix/semevent-posix.cpp \
1178 r3/posix/semeventmulti-posix.cpp \
1179 r3/posix/semmutex-posix.cpp \
1180 r3/posix/serialport-posix.cpp \
1181 r3/posix/symlink-posix.cpp \
1182 r3/posix/shmem-posix.cpp \
1183 r3/posix/thread-posix.cpp \
1184 r3/posix/thread2-posix.cpp \
1185 r3/posix/timelocal-posix.cpp \
1186 r3/posix/tls-posix.cpp \
1187 r3/posix/utf8-posix.cpp
1188RuntimeR3_SOURCES.darwin.x86 += common/string/memrchr.asm
1189RuntimeR3_SOURCES.darwin.amd64 += common/string/memrchr.asm
1190
1191## @todo Make BSD sched, implement RTMP*.
1192RuntimeR3_SOURCES.freebsd = \
1193 generic/cdrom-generic.cpp \
1194 generic/RTCrStoreCreateSnapshotById-generic.cpp \
1195 generic/RTDirQueryInfo-generic.cpp \
1196 generic/RTDirSetMode-generic.cpp \
1197 generic/RTDirSetTimes-generic.cpp \
1198 generic/RTFileCopyPartEx-generic.cpp \
1199 generic/RTFileMove-generic.cpp \
1200 generic/RTFileSetAllocationSize-generic.cpp \
1201 generic/RTLogWriteDebugger-generic.cpp \
1202 generic/RTPathGetCurrentOnDrive-generic.cpp \
1203 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1204 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1205 generic/RTSystemQueryDmiString-generic.cpp \
1206 generic/RTSystemShutdown-generic.cpp \
1207 generic/RTThreadGetAffinity-stub-generic.cpp \
1208 generic/RTThreadSetAffinity-stub-generic.cpp \
1209 generic/RTThreadSetAffinityToCpu-generic.cpp \
1210 generic/RTTimeLocalNow-generic.cpp \
1211 generic/RTTimerCreate-generic.cpp \
1212 generic/RTUuidCreate-generic.cpp \
1213 generic/mppresent-generic.cpp \
1214 generic/sched-generic.cpp \
1215 generic/utf16locale-generic.cpp \
1216 generic/uuid-generic.cpp \
1217 generic/RTMpCpuId-generic.cpp \
1218 generic/RTMpGetCoreCount-generic.cpp \
1219 generic/RTMpGetOnlineCoreCount-generic.cpp \
1220 generic/RTProcDaemonize-generic.cpp \
1221 generic/RTProcIsRunningByName-generic.cpp \
1222 generic/RTThreadGetNativeState-generic.cpp \
1223 r3/freebsd/mp-freebsd.cpp \
1224 r3/freebsd/systemmem-freebsd.cpp \
1225 r3/freebsd/rtProcInitExePath-freebsd.cpp \
1226 r3/generic/allocex-r3-generic.cpp \
1227 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1228 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1229 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1230 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1231 r3/generic/dirrel-r3-generic.cpp \
1232 r3/posix/RTFileQueryFsSizes-posix.cpp \
1233 r3/posix/RTHandleGetStandard-posix.cpp \
1234 r3/posix/RTMemProtect-posix.cpp \
1235 r3/posix/RTPathUserHome-posix.cpp \
1236 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1237 r3/posix/RTTimeNow-posix.cpp \
1238 r3/posix/RTTimeSet-posix.cpp \
1239 r3/posix/dir-posix.cpp \
1240 r3/posix/env-posix.cpp \
1241 r3/posix/errvars-posix.cpp \
1242 r3/posix/fileio-posix.cpp \
1243 r3/posix/fileio2-posix.cpp \
1244 r3/posix/fileio-at-posix.cpp \
1245 r3/posix/fileio-sg-posix.cpp \
1246 r3/posix/fileio-sg-at-posix.cpp \
1247 r3/posix/filelock-posix.cpp \
1248 r3/posix/fs-posix.cpp \
1249 r3/posix/fs2-posix.cpp \
1250 r3/posix/fs3-posix.cpp \
1251 r3/posix/ldrNative-posix.cpp \
1252 r3/posix/localipc-posix.cpp \
1253 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1254 r3/posix/path-posix.cpp \
1255 r3/posix/path2-posix.cpp \
1256 r3/posix/pathhost-posix.cpp \
1257 r3/posix/RTPathUserDocuments-posix.cpp \
1258 r3/posix/pipe-posix.cpp \
1259 r3/posix/process-posix.cpp \
1260 r3/posix/process-creation-posix.cpp \
1261 r3/posix/rand-posix.cpp \
1262 r3/posix/semevent-posix.cpp \
1263 r3/posix/semeventmulti-posix.cpp \
1264 r3/posix/semmutex-posix.cpp \
1265 r3/posix/semrw-posix.cpp \
1266 r3/posix/serialport-posix.cpp \
1267 r3/posix/symlink-posix.cpp \
1268 r3/posix/shmem-posix.cpp \
1269 r3/posix/thread-posix.cpp \
1270 r3/posix/thread2-posix.cpp \
1271 r3/posix/time-posix.cpp \
1272 r3/posix/timelocal-posix.cpp \
1273 r3/posix/timer-posix.cpp \
1274 r3/posix/tls-posix.cpp \
1275 r3/posix/utf8-posix.cpp
1276
1277RuntimeR3_SOURCES.netbsd = \
1278 generic/cdrom-generic.cpp \
1279 generic/RTDirQueryInfo-generic.cpp \
1280 generic/RTDirSetMode-generic.cpp \
1281 generic/RTDirSetTimes-generic.cpp \
1282 generic/RTFileCopyPartEx-generic.cpp \
1283 generic/RTFileMove-generic.cpp \
1284 generic/RTLogWriteDebugger-generic.cpp \
1285 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1286 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1287 generic/RTSystemQueryDmiString-generic.cpp \
1288 generic/RTSystemShutdown-generic.cpp \
1289 generic/RTThreadGetAffinity-stub-generic.cpp \
1290 generic/RTThreadSetAffinity-stub-generic.cpp \
1291 generic/RTThreadSetAffinityToCpu-generic.cpp \
1292 generic/RTTimeLocalNow-generic.cpp \
1293 generic/RTTimerCreate-generic.cpp \
1294 generic/RTUuidCreate-generic.cpp \
1295 generic/mppresent-generic.cpp \
1296 generic/sched-generic.cpp \
1297 generic/utf16locale-generic.cpp \
1298 generic/uuid-generic.cpp \
1299 generic/RTMpCpuId-generic.cpp \
1300 generic/RTMpGetCoreCount-generic.cpp \
1301 generic/RTMpGetOnlineCoreCount-generic.cpp \
1302 generic/RTProcDaemonize-generic.cpp \
1303 generic/RTProcIsRunningByName-generic.cpp \
1304 generic/RTThreadGetNativeState-generic.cpp \
1305 r3/netbsd/rtProcInitExePath-netbsd.cpp \
1306 r3/generic/allocex-r3-generic.cpp \
1307 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1308 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1309 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1310 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1311 r3/generic/dirrel-r3-generic.cpp \
1312 r3/posix/RTFileQueryFsSizes-posix.cpp \
1313 r3/posix/RTFileSetAllocationSize-posix.cpp \
1314 r3/posix/RTHandleGetStandard-posix.cpp \
1315 r3/posix/RTMemProtect-posix.cpp \
1316 r3/posix/RTPathUserHome-posix.cpp \
1317 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1318 r3/posix/RTSystemQueryTotalRam-posix.cpp \
1319 r3/posix/RTTimeNow-posix.cpp \
1320 r3/posix/RTTimeSet-posix.cpp \
1321 r3/posix/dir-posix.cpp \
1322 r3/posix/env-posix.cpp \
1323 r3/posix/errvars-posix.cpp \
1324 r3/posix/fileio-posix.cpp \
1325 r3/posix/fileio2-posix.cpp \
1326 r3/posix/fileio-at-posix.cpp \
1327 r3/posix/fileio-sg-posix.cpp \
1328 r3/posix/fileio-sg-at-posix.cpp \
1329 r3/posix/filelock-posix.cpp \
1330 r3/posix/fs-posix.cpp \
1331 r3/posix/fs2-posix.cpp \
1332 r3/posix/fs3-posix.cpp \
1333 r3/posix/ldrNative-posix.cpp \
1334 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1335 r3/posix/path-posix.cpp \
1336 r3/posix/path2-posix.cpp \
1337 r3/posix/pathhost-posix.cpp \
1338 r3/posix/RTPathUserDocuments-posix.cpp \
1339 r3/posix/pipe-posix.cpp \
1340 r3/posix/process-posix.cpp \
1341 r3/posix/process-creation-posix.cpp \
1342 r3/posix/rand-posix.cpp \
1343 r3/posix/semevent-posix.cpp \
1344 r3/posix/semeventmulti-posix.cpp \
1345 r3/posix/semmutex-posix.cpp \
1346 r3/posix/semrw-posix.cpp \
1347 r3/posix/serialport-posix.cpp \
1348 r3/posix/symlink-posix.cpp \
1349 r3/posix/shmem-posix.cpp \
1350 r3/posix/thread-posix.cpp \
1351 r3/posix/thread2-posix.cpp \
1352 r3/posix/time-posix.cpp \
1353 r3/posix/timelocal-posix.cpp \
1354 r3/posix/timer-posix.cpp \
1355 r3/posix/tls-posix.cpp \
1356 r3/posix/utf8-posix.cpp
1357
1358RuntimeR3_SOURCES.solaris = \
1359 generic/cdrom-generic.cpp \
1360 generic/RTCrStoreCreateSnapshotById-generic.cpp \
1361 generic/RTDirQueryInfo-generic.cpp \
1362 generic/RTDirSetMode-generic.cpp \
1363 generic/RTDirSetTimes-generic.cpp \
1364 generic/RTFileCopyPartEx-generic.cpp \
1365 generic/RTFileMove-generic.cpp \
1366 generic/RTLogWriteDebugger-generic.cpp \
1367 generic/RTPathGetCurrentOnDrive-generic.cpp \
1368 generic/RTProcDaemonize-generic.cpp \
1369 generic/RTProcIsRunningByName-generic.cpp \
1370 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1371 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1372 generic/RTThreadSetAffinityToCpu-generic.cpp \
1373 generic/RTTimeLocalNow-generic.cpp \
1374 generic/RTTimerCreate-generic.cpp \
1375 generic/RTUuidCreate-generic.cpp \
1376 generic/sched-generic.cpp \
1377 generic/utf16locale-generic.cpp \
1378 generic/uuid-generic.cpp \
1379 generic/RTThreadGetNativeState-generic.cpp \
1380 r3/generic/allocex-r3-generic.cpp \
1381 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1382 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1383 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1384 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1385 r3/generic/dirrel-r3-generic.cpp \
1386 r3/posix/RTFileQueryFsSizes-posix.cpp \
1387 r3/posix/RTFileSetAllocationSize-posix.cpp \
1388 r3/posix/RTHandleGetStandard-posix.cpp \
1389 r3/posix/RTMemProtect-posix.cpp \
1390 r3/posix/RTPathUserHome-posix.cpp \
1391 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1392 r3/posix/RTTimeNow-posix.cpp \
1393 r3/posix/RTTimeSet-posix.cpp \
1394 r3/posix/dir-posix.cpp \
1395 r3/posix/env-posix.cpp \
1396 r3/posix/errvars-posix.cpp \
1397 r3/posix/fileio-posix.cpp \
1398 r3/posix/fileio2-posix.cpp \
1399 r3/posix/fileio-at-posix.cpp \
1400 r3/posix/fileio-sg-posix.cpp \
1401 r3/posix/fileio-sg-at-posix.cpp \
1402 r3/posix/filelock-posix.cpp \
1403 r3/posix/fs-posix.cpp \
1404 r3/posix/fs2-posix.cpp \
1405 r3/posix/fs3-posix.cpp \
1406 r3/posix/ldrNative-posix.cpp \
1407 r3/posix/localipc-posix.cpp \
1408 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1409 r3/posix/path-posix.cpp \
1410 r3/posix/path2-posix.cpp \
1411 r3/posix/pathhost-posix.cpp \
1412 r3/posix/RTPathUserDocuments-posix.cpp \
1413 r3/posix/pipe-posix.cpp \
1414 r3/posix/process-posix.cpp \
1415 r3/posix/process-creation-posix.cpp \
1416 r3/posix/rand-posix.cpp \
1417 r3/posix/semevent-posix.cpp \
1418 r3/posix/semeventmulti-posix.cpp \
1419 r3/posix/semmutex-posix.cpp \
1420 r3/posix/semrw-posix.cpp \
1421 r3/posix/serialport-posix.cpp \
1422 r3/posix/symlink-posix.cpp \
1423 r3/posix/shmem-posix.cpp \
1424 r3/posix/thread-posix.cpp \
1425 r3/posix/thread2-posix.cpp \
1426 r3/posix/time-posix.cpp \
1427 r3/posix/timelocal-posix.cpp \
1428 r3/posix/timer-posix.cpp \
1429 r3/posix/tls-posix.cpp \
1430 r3/posix/utf8-posix.cpp \
1431 r3/solaris/krnlmod-solaris.cpp \
1432 r3/solaris/systemmem-solaris.cpp \
1433 r3/solaris/mp-solaris.cpp \
1434 r3/solaris/rtProcInitExePath-solaris.cpp \
1435 r3/solaris/RTSystemShutdown-solaris.cpp \
1436 r3/solaris/thread-affinity-solaris.cpp
1437RuntimeR3_SOURCES.solaris.amd64 = \
1438 common/string/memrchr.asm \
1439 r3/solaris/coredumper-solaris.cpp \
1440 r3/solaris/RTSystemQueryDmiString-solaris.cpp
1441RuntimeR3_SOURCES.solaris.x86 = \
1442 common/string/memrchr.asm \
1443 r3/solaris/coredumper-solaris.cpp \
1444 r3/solaris/RTSystemQueryDmiString-solaris.cpp
1445RuntimeR3_SOURCES.solaris.sparc32 = \
1446 common/string/memrchr.cpp \
1447 generic/RTSystemQueryDmiString-generic.cpp
1448RuntimeR3_SOURCES.solaris.sparc64 = \
1449 common/string/memrchr.cpp \
1450 generic/RTSystemQueryDmiString-generic.cpp
1451
1452RuntimeR3_SOURCES.haiku = \
1453 generic/RTCrStoreCreateSnapshotById-generic.cpp \
1454 generic/RTDirQueryInfo-generic.cpp \
1455 generic/RTDirSetMode-generic.cpp \
1456 generic/RTDirSetTimes-generic.cpp \
1457 generic/fileio-at-generic.cpp \
1458 generic/fileio-sg-generic.cpp \
1459 generic/fileio-sg-at-generic.cpp \
1460 generic/RTFileCopyPartEx-generic.cpp \
1461 generic/RTFileMove-generic.cpp \
1462 generic/RTFileSetAllocationSize-generic.cpp \
1463 generic/RTLogWriteDebugger-generic.cpp \
1464 generic/RTPathGetCurrentOnDrive-generic.cpp \
1465 generic/RTProcDaemonize-generic.cpp \
1466 generic/RTTimeLocalNow-generic.cpp \
1467 generic/RTTimerCreate-generic.cpp \
1468 generic/RTUuidCreate-generic.cpp \
1469 generic/mppresent-generic.cpp \
1470 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1471 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1472 generic/sched-generic.cpp \
1473 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
1474 generic/timer-generic.cpp \
1475 generic/utf16locale-generic.cpp \
1476 generic/uuid-generic.cpp\
1477 generic/RTProcIsRunningByName-generic.cpp \
1478 generic/RTThreadGetNativeState-generic.cpp \
1479 generic/RTMpGetCoreCount-generic.cpp \
1480 generic/RTMpGetOnlineCoreCount-generic.cpp \
1481 r3/haiku/rtProcInitExePath-haiku.cpp \
1482 r3/haiku/time-haiku.cpp \
1483 r3/generic/allocex-r3-generic.cpp \
1484 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1485 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1486 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1487 r3/generic/RTTimeZoneGetCurrent-generic.cpp \
1488 r3/generic/dirrel-r3-generic.cpp \
1489 r3/posix/RTFileQueryFsSizes-posix.cpp \
1490 r3/posix/RTHandleGetStandard-posix.cpp \
1491 r3/posix/RTMemProtect-posix.cpp \
1492 r3/posix/RTPathUserHome-posix.cpp \
1493 r3/posix/RTSystemQueryOSInfo-posix.cpp \
1494 r3/posix/RTSystemQueryTotalRam-posix.cpp \
1495 r3/posix/RTTimeNow-posix.cpp \
1496 r3/posix/dir-posix.cpp \
1497 r3/posix/env-posix.cpp \
1498 r3/posix/errvars-posix.cpp \
1499 r3/posix/fileio-posix.cpp \
1500 r3/posix/fileio2-posix.cpp \
1501 r3/posix/filelock-posix.cpp \
1502 r3/posix/fs-posix.cpp \
1503 r3/posix/fs2-posix.cpp \
1504 r3/posix/fs3-posix.cpp \
1505 r3/posix/ldrNative-posix.cpp \
1506 r3/posix/localipc-posix.cpp \
1507 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
1508 r3/posix/path-posix.cpp \
1509 r3/posix/path2-posix.cpp \
1510 r3/posix/pathhost-posix.cpp \
1511 r3/posix/pipe-posix.cpp \
1512 r3/posix/process-posix.cpp \
1513 r3/posix/process-creation-posix.cpp \
1514 r3/posix/rand-posix.cpp \
1515 r3/posix/semevent-posix.cpp \
1516 r3/posix/semeventmulti-posix.cpp \
1517 r3/posix/semmutex-posix.cpp \
1518 r3/posix/serialport-posix.cpp \
1519 r3/posix/symlink-posix.cpp \
1520 r3/posix/thread-posix.cpp \
1521 r3/posix/thread2-posix.cpp \
1522 r3/posix/timelocal-posix.cpp \
1523 r3/posix/tls-posix.cpp \
1524 r3/posix/utf8-posix.cpp
1525RuntimeR3_SOURCES.haiku.x86 += common/string/memrchr.asm
1526RuntimeR3_SOURCES.haiku.amd64 += common/string/memrchr.asm
1527
1528## PORTME: Porters add their selection of platform specific files for Ring-3 here.
1529
1530
1531#
1532# Generate RTIsoMaker / VISO help text from the manpage xml.
1533#
1534ifn1of ($(KBUILD_TARGET), os2) # breaks validationkit, figure out later.
1535
1536 IPRT_XML_REFENTRY_FILES = \
1537 common/fs/isomakercmd-man.xml
1538
1539 #$(call KB_FN_DO_PASS0_ON_TARGET,RuntimeR3)
1540
1541 BLDDIRS += $(IPRT_OUT_DIR)/man/
1542 OTHER_CLEAN += \
1543 $(addprefix $(IPRT_OUT_DIR)/man/,$(IPRT_XML_REFENTRY_FILES)) \
1544 $(addprefix $(IPRT_OUT_DIR)/man/,$(patsubst %.xml,%.h,$(IPRT_XML_REFENTRY_FILES))) \
1545 $(addprefix $(IPRT_OUT_DIR)/man/,$(patsubst %.xml,%.h.ts,$(IPRT_XML_REFENTRY_FILES)))
1546
1547
1548 include $(PATH_ROOT)/doc/manual/Config.kmk
1549
1550 # Preprocess the xml files, applying remarks.
1551 $(foreach file,$(IPRT_XML_REFENTRY_FILES) \
1552 , $(evalcall2 def_vbox_refentry_preprocess_for_manpage,$(IPRT_OUT_DIR)/man,$(notdir $(file)),$(VBOX_PATH_RUNTIME_SRC)/$(file)))
1553
1554 # generate the header and add it as a dependency to the source using it.
1555 $(evalcall2 def_vbox_single_refentry_to_h,$(IPRT_OUT_DIR)/man/isomakercmd-man.h, $(IPRT_OUT_DIR)/man/isomakercmd-man.xml)
1556 common/fs/isomakercmd.cpp_DEPS = $(IPRT_OUT_DIR)/man/isomakercmd-man.h
1557 common/fs/isomakercmd.cpp_INCS = $(IPRT_OUT_DIR)/man/
1558
1559endif
1560
1561
1562#
1563# RuntimeR3-x86 - 32-bit version of RuntimeR3 for windows hosts.
1564#
1565RuntimeR3-x86_EXTENDS := RuntimeR3
1566RuntimeR3-x86_BLD_TRG_ARCH := x86
1567RuntimeR3-x86_DEFS := $(filter-out IN_SUP_R3 IN_SUP, $(RuntimeR3_DEFS)) IPRT_WITHOUT_LDR_VERIFY RT_NO_GIP
1568
1569
1570#
1571# RuntimeBldProg - Static Runtime for build programs.
1572#
1573# Note! This is a bit of hacky since kBuild doesn't support building libraries
1574# for build programs.
1575#
1576RuntimeBldProg_TEMPLATE := VBoxAdvBldProg
1577RuntimeBldProg_EXTENDS := RuntimeR3
1578RuntimeBldProg_BLD_TRG := $(KBUILD_HOST)
1579RuntimeBldProg_BLD_TRG_ARCH := $(KBUILD_HOST_ARCH)
1580RuntimeBldProg_BLD_TRG_CPU := $(KBUILD_HOST_CPU)
1581RuntimeBldProg_DEFS := $(filter-out IN_SUP_R3 IN_SUP, $(RuntimeR3_DEFS)) IPRT_WITHOUT_LDR_VERIFY RT_NO_GIP
1582RuntimeBldProg_SOURCES = \
1583 common/alloc/alloc.cpp \
1584 common/alloc/memcache.cpp \
1585 common/asn1/asn1-basics.cpp \
1586 common/asn1/asn1-cursor.cpp \
1587 common/asn1/asn1-default-allocator.cpp \
1588 common/asn1/asn1-dump.cpp \
1589 common/asn1/asn1-efence-allocator.cpp \
1590 common/asn1/asn1-encode.cpp \
1591 common/asn1/asn1-safer-allocator.cpp \
1592 common/asn1/asn1-ut-bitstring-decode.cpp \
1593 common/asn1/asn1-ut-bitstring.cpp \
1594 common/asn1/asn1-ut-boolean-decode.cpp \
1595 common/asn1/asn1-ut-boolean.cpp \
1596 common/asn1/asn1-ut-core-decode.cpp \
1597 common/asn1/asn1-ut-core.cpp \
1598 common/asn1/asn1-ut-dyntype-decode.cpp \
1599 common/asn1/asn1-ut-dyntype.cpp \
1600 common/asn1/asn1-ut-integer-decode.cpp \
1601 common/asn1/asn1-ut-integer.cpp \
1602 common/asn1/asn1-ut-null-decode.cpp \
1603 common/asn1/asn1-ut-null.cpp \
1604 common/asn1/asn1-ut-objid-decode.cpp \
1605 common/asn1/asn1-ut-objid.cpp \
1606 common/asn1/asn1-ut-octetstring-decode.cpp \
1607 common/asn1/asn1-ut-octetstring.cpp \
1608 common/asn1/asn1-ut-string-decode.cpp \
1609 common/asn1/asn1-ut-string.cpp \
1610 common/asn1/asn1-ut-time-decode.cpp \
1611 common/asn1/asn1-ut-time.cpp \
1612 common/checksum/adler32.cpp \
1613 common/checksum/alt-md2.cpp \
1614 common/checksum/alt-md4.cpp \
1615 common/checksum/alt-md5.cpp \
1616 common/checksum/alt-sha1.cpp \
1617 common/checksum/alt-sha256.cpp \
1618 common/checksum/alt-sha512.cpp \
1619 common/checksum/crc16ccitt.cpp \
1620 common/checksum/crc32.cpp \
1621 common/checksum/crc32c.cpp \
1622 common/checksum/crc64.cpp \
1623 common/checksum/manifest2.cpp \
1624 common/checksum/manifest3.cpp \
1625 common/checksum/md5str.cpp \
1626 common/checksum/sha1str.cpp \
1627 common/checksum/sha256str.cpp \
1628 common/checksum/sha512str.cpp \
1629 common/crypto/digest-core.cpp \
1630 common/crypto/pemfile.cpp \
1631 common/crypto/pkcs7-asn1-decoder.cpp \
1632 common/crypto/pkcs7-core.cpp \
1633 common/crypto/pkcs7-init.cpp \
1634 common/crypto/pkcs7-sanity.cpp \
1635 common/crypto/pkcs7-verify.cpp \
1636 common/crypto/spc-asn1-decoder.cpp \
1637 common/crypto/spc-core.cpp \
1638 common/crypto/spc-init.cpp \
1639 common/crypto/spc-sanity.cpp \
1640 common/crypto/taf-asn1-decoder.cpp \
1641 common/crypto/taf-core.cpp \
1642 common/crypto/taf-init.cpp \
1643 common/crypto/taf-sanity.cpp \
1644 common/crypto/tsp-asn1-decoder.cpp \
1645 common/crypto/tsp-core.cpp \
1646 common/crypto/tsp-init.cpp \
1647 common/crypto/tsp-sanity.cpp \
1648 common/crypto/x509-asn1-decoder.cpp \
1649 common/crypto/x509-core.cpp \
1650 common/crypto/x509-file.cpp \
1651 common/crypto/x509-init.cpp \
1652 common/crypto/x509-sanity.cpp \
1653 common/dbg/dbg.cpp \
1654 common/dbg/dbgcfg.cpp \
1655 common/dbg/dbgmod.cpp \
1656 common/dbg/dbgmodcodeview.cpp \
1657 common/dbg/dbgmodcontainer.cpp \
1658 common/dbg/dbgmoddeferred.cpp \
1659 common/dbg/dbgmoddwarf.cpp \
1660 common/dbg/dbgmodexports.cpp \
1661 common/dbg/dbgmodldr.cpp \
1662 common/dbg/dbgmodmapsym.cpp \
1663 common/dbg/dbgmodnm.cpp \
1664 common/err/errinfo-alloc.cpp \
1665 common/err/errinfo.cpp \
1666 common/err/errinfolog.cpp \
1667 common/err/errmsg.cpp \
1668 common/err/RTErrConvertFromErrno.cpp \
1669 common/err/RTErrConvertToErrno.cpp \
1670 common/fs/isomaker.cpp \
1671 common/fs/isomakercmd.cpp \
1672 common/fs/isomakerimport.cpp \
1673 common/fs/isovfs.cpp \
1674 common/ldr/ldr.cpp \
1675 common/ldr/ldrELF.cpp \
1676 common/ldr/ldrEx.cpp \
1677 common/ldr/ldrFile.cpp \
1678 common/ldr/ldrLX.cpp \
1679 common/ldr/ldrMachO.cpp \
1680 common/ldr/ldrNative.cpp \
1681 common/ldr/ldrPE.cpp \
1682 common/ldr/ldrVfsFile.cpp \
1683 common/log/log.cpp \
1684 common/log/logellipsis.cpp \
1685 common/log/logformat.cpp \
1686 common/log/logrel.cpp \
1687 common/log/logrelellipsis.cpp \
1688 common/math/bignum.cpp \
1689 common/misc/assert.cpp \
1690 common/misc/cidr.cpp \
1691 common/misc/getopt.cpp \
1692 common/misc/getoptargv.cpp \
1693 common/misc/lockvalidator.cpp \
1694 common/misc/message.cpp \
1695 common/misc/messagerefentry.cpp \
1696 common/misc/once.cpp \
1697 common/misc/RTAssertMsg1Weak.cpp \
1698 common/misc/RTAssertMsg2.cpp \
1699 common/misc/RTAssertMsg2Add.cpp \
1700 common/misc/RTAssertMsg2AddWeak.cpp \
1701 common/misc/RTAssertMsg2AddWeakV.cpp \
1702 common/misc/RTAssertMsg2Weak.cpp \
1703 common/misc/RTAssertMsg2WeakV.cpp \
1704 common/misc/RTFileModeToFlags.cpp \
1705 common/misc/RTFileOpenF.cpp \
1706 common/misc/RTFileOpenV.cpp \
1707 common/misc/RTMemWipeThoroughly.cpp \
1708 common/misc/req.cpp \
1709 common/misc/reqqueue.cpp \
1710 common/misc/reqpool.cpp \
1711 common/misc/sanity-c.c \
1712 common/misc/sanity-cpp.cpp \
1713 common/misc/sg.cpp \
1714 common/misc/term.cpp \
1715 common/misc/thread.cpp \
1716 common/misc/zero.asm \
1717 common/net/macstr.cpp \
1718 common/net/netaddrstr2.cpp \
1719 common/path/comparepaths.cpp \
1720 common/path/RTPathAbsDup.cpp \
1721 common/path/RTPathAbsEx.cpp \
1722 common/path/RTPathAbsExDup.cpp \
1723 common/path/RTPathAppend.cpp \
1724 common/path/RTPathAppendEx.cpp \
1725 common/path/RTPathChangeToDosSlashes.cpp \
1726 common/path/RTPathChangeToUnixSlashes.cpp \
1727 common/path/RTPathCopyComponents.cpp \
1728 common/path/RTPathCountComponents.cpp \
1729 common/path/RTPathEnsureTrailingSeparator.cpp \
1730 common/path/RTPathExt.cpp \
1731 common/path/RTPathFilename.cpp \
1732 common/path/RTPathHasExt.cpp \
1733 common/path/RTPathHasPath.cpp \
1734 common/path/RTPathJoin.cpp \
1735 common/path/RTPathJoinA.cpp \
1736 common/path/RTPathJoinEx.cpp \
1737 common/path/RTPathParse.cpp \
1738 common/path/RTPathParsedReassemble.cpp \
1739 common/path/RTPathParseSimple.cpp \
1740 common/path/RTPathRealDup.cpp \
1741 common/path/rtPathRootSpecLen.cpp \
1742 common/path/RTPathSkipRootSpec.cpp \
1743 common/path/RTPathSplit.cpp \
1744 common/path/RTPathSplitA.cpp \
1745 common/path/RTPathSplitReassemble.cpp \
1746 common/path/RTPathStartsWithRoot.cpp \
1747 common/path/RTPathStripExt.cpp \
1748 common/path/RTPathStripFilename.cpp \
1749 common/path/RTPathStripTrailingSlash.cpp \
1750 common/path/RTPathTraverseList.cpp \
1751 common/path/rtPathVolumeSpecLen.cpp \
1752 common/rand/rand.cpp \
1753 common/rand/randadv.cpp \
1754 common/rand/randparkmiller.cpp \
1755 common/sort/shellsort.cpp \
1756 common/string/base64.cpp \
1757 common/string/RTStrCat.cpp \
1758 common/string/RTStrCmp.cpp \
1759 common/string/RTStrCopy.cpp \
1760 common/string/RTStrCopyEx.cpp \
1761 common/string/RTStrCopyP.cpp \
1762 common/string/RTStrIStartsWith.cpp \
1763 common/string/RTStrNCmp.cpp \
1764 common/string/RTStrNLen.cpp \
1765 common/string/RTStrPrintHexBytes.cpp \
1766 common/string/RTStrStr.cpp \
1767 common/string/simplepattern.cpp \
1768 common/string/straprintf.cpp \
1769 common/string/strcache.cpp \
1770 common/string/strformat.cpp \
1771 common/string/strformatnum.cpp \
1772 common/string/strformatrt.cpp \
1773 common/string/strformattype.cpp \
1774 common/string/strhash1.cpp \
1775 common/string/stringalloc.cpp \
1776 common/string/strprintf.cpp \
1777 common/string/strprintf2.cpp \
1778 common/string/strspace.cpp \
1779 common/string/strstrip.cpp \
1780 common/string/strtonum.cpp \
1781 common/string/unidata-flags.cpp \
1782 common/string/unidata-lower.cpp \
1783 common/string/unidata-upper.cpp \
1784 common/string/utf-16-case.cpp \
1785 common/string/utf-16.cpp \
1786 common/string/utf-8-case.cpp \
1787 common/string/utf-8-case2.cpp \
1788 common/string/utf-8.cpp \
1789 common/table/avllu32.cpp \
1790 common/table/avlpv.cpp \
1791 common/table/avlrpv.cpp \
1792 common/table/avlruintptr.cpp \
1793 common/table/avlu32.cpp \
1794 common/table/avluintptr.cpp \
1795 common/time/time.cpp \
1796 common/time/timeprog.cpp \
1797 common/time/timesupref.cpp \
1798 common/time/timesysalias.cpp \
1799 common/vfs/vfsbase.cpp \
1800 common/vfs/vfschain.cpp \
1801 common/vfs/vfsmemory.cpp \
1802 common/vfs/vfsmisc.cpp \
1803 common/vfs/vfsmsg.cpp \
1804 common/vfs/vfsstddir.cpp \
1805 common/vfs/vfsstdfile.cpp \
1806 common/vfs/vfsstdpipe.cpp \
1807 common/zip/gzipvfs.cpp \
1808 common/zip/tar.cpp \
1809 common/zip/tarcmd.cpp \
1810 common/zip/tarvfs.cpp \
1811 common/zip/tarvfswriter.cpp \
1812 generic/critsect-generic.cpp \
1813 generic/critsectrw-generic.cpp \
1814 generic/env-generic.cpp \
1815 generic/mempool-generic.cpp \
1816 generic/RTEnvDupEx-generic.cpp \
1817 generic/RTFileCopy-generic.cpp \
1818 generic/RTFileCopyAttributes-generic.cpp \
1819 generic/RTFileCopyEx-generic.cpp \
1820 generic/RTFileCopyByHandlesEx-generic.cpp \
1821 generic/RTFileQuerySize-generic.cpp \
1822 generic/RTFileReadAll-generic.cpp \
1823 generic/RTFileReadAllByHandle-generic.cpp \
1824 generic/RTFileReadAllByHandleEx-generic.cpp \
1825 generic/RTFileReadAllEx-generic.cpp \
1826 generic/RTFileReadAllFree-generic.cpp \
1827 generic/RTLogWriteStdErr-generic.cpp \
1828 generic/RTLogWriteStdOut-generic.cpp \
1829 generic/RTLogWriteUser-generic.cpp \
1830 generic/RTPathIsSame-generic.cpp \
1831 generic/RTPathGetCurrentDrive-generic.cpp \
1832 generic/rtStrFormatKernelAddress-generic.cpp \
1833 generic/RTTimerLRCreate-generic.cpp \
1834 generic/semfastmutex-generic.cpp \
1835 generic/semxroads-generic.cpp \
1836 generic/spinlock-generic.cpp \
1837 r3/alloc-ef.cpp \
1838 r3/alloc.cpp \
1839 r3/allocex.cpp \
1840 r3/dir.cpp \
1841 r3/dir2.cpp \
1842 r3/fileio.cpp \
1843 r3/fs.cpp \
1844 r3/generic/semspinmutex-r3-generic.cpp \
1845 r3/init.cpp \
1846 r3/memsafer-r3.cpp \
1847 r3/path.cpp \
1848 r3/process.cpp \
1849 r3/socket.cpp \
1850 r3/stream.cpp \
1851 r3/tcp.cpp \
1852 VBox/log-vbox.cpp \
1853 VBox/RTAssertShouldPanic-vbox.cpp \
1854 \
1855 common/string/ministring.cpp # for main
1856ifneq ($(KBUILD_HOST),win)
1857 RuntimeBldProg_SOURCES += \
1858 common/err/errmsgxpcom.cpp
1859endif
1860RuntimeBldProg_SOURCES.darwin = $(filter-out \
1861 generic/cdrom-generic.cpp \
1862 generic/RTFileMove-generic.cpp \
1863 generic/RTProcDaemonize-generic.cpp \
1864 generic/RTThreadGetAffinity-stub-generic.cpp \
1865 generic/RTThreadSetAffinity-stub-generic.cpp \
1866 generic/RTThreadSetAffinityToCpu-generic.cpp \
1867 generic/RTTimerCreate-generic.cpp \
1868 generic/mppresent-generic.cpp \
1869 generic/RTSystemShutdown-generic.cpp \
1870 generic/timer-generic.cpp \
1871 generic/utf16locale-generic.cpp \
1872 generic/RTProcIsRunningByName-generic.cpp \
1873 generic/RTThreadGetNativeState-generic.cpp \
1874 r3/darwin/RTCrStoreCreateSnapshotById-darwin.cpp \
1875 r3/darwin/filelock-darwin.cpp \
1876 r3/darwin/systemmem-darwin.cpp \
1877 r3/darwin/krnlmod-darwin.cpp \
1878 r3/darwin/filelock-darwin.cpp \
1879 r3/darwin/RTSystemQueryDmiString-darwin.cpp \
1880 r3/darwin/RTPathUserDocuments-darwin.cpp \
1881 r3/posix/RTTimeSet-posix.cpp \
1882 r3/posix/serialport-posix.cpp \
1883 r3/posix/localipc-posix.cpp \
1884 r3/posix/ldrNative-posix.cpp \
1885 r3/generic/allocex-r3-generic.cpp \
1886 r3/generic/RTLocaleQueryLocaleName-r3-generic.cpp \
1887 r3/generic/RTLocaleQueryNormalizedBaseLocaleName-r3-generic.cpp \
1888 r3/generic/RTLocaleQueryUserCountryCode-r3-generic.cpp \
1889 , $(RuntimeR3_SOURCES.darwin))
1890
1891RuntimeBldProg_SOURCES.win = \
1892 common/dbg/dbgmoddbghelp.cpp \
1893 common/string/mempcpy.asm \
1894 common/string/RTUtf16CopyAscii.cpp \
1895 common/string/RTUtf16End.cpp \
1896 common/string/RTUtf16NLenEx.cpp \
1897 generic/mppresent-generic-online.cpp \
1898 generic/RTDirExists-generic.cpp \
1899 generic/RTDirSetTimes-generic.cpp \
1900 generic/RTFileCopyPartEx-generic.cpp \
1901 generic/RTFileExists-generic.cpp \
1902 generic/RTFileSetAllocationSize-generic.cpp \
1903 generic/RTRandAdvCreateSystemFaster-generic.cpp \
1904 generic/RTRandAdvCreateSystemTruer-generic.cpp \
1905 generic/RTSemEventMultiWait-2-ex-generic.cpp \
1906 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
1907 generic/RTSemEventWait-generic.cpp \
1908 generic/RTSemMutexRequest-generic.cpp \
1909 generic/RTSemMutexRequestDebug-generic.cpp \
1910 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
1911 generic/uuid-generic.cpp \
1912 nt/fileioutils-nt.cpp \
1913 nt/RTErrConvertFromNtStatus.cpp \
1914 r3/nt/direnum-r3-nt.cpp \
1915 r3/nt/dirrel-r3-nt.cpp \
1916 r3/nt/fs-nt.cpp \
1917 r3/nt/pathint-nt.cpp \
1918 r3/nt/RTFileQueryFsSizes-nt.cpp \
1919 r3/nt/RTFileSetMode-r3-nt.cpp \
1920 r3/nt/RTPathQueryInfo-nt.cpp \
1921 r3/nt/RTPathSetMode-r3-nt.cpp \
1922 r3/win/alloc-win.cpp \
1923 r3/win/allocex-win.cpp \
1924 r3/win/dir-win.cpp \
1925 r3/win/env-win.cpp \
1926 r3/win/errvars-win.cpp \
1927 r3/win/fileio-win.cpp \
1928 r3/win/init-win.cpp \
1929 r3/win/ldrNative-win.cpp \
1930 r3/win/path-win.cpp \
1931 r3/win/pathint-win.cpp \
1932 r3/win/pipe-win.cpp \
1933 r3/win/process-win.cpp \
1934 r3/win/RTHandleGetStandard-win.cpp \
1935 r3/win/RTLogWriteDebugger-win.cpp \
1936 r3/win/rtProcInitExePath-win.cpp \
1937 r3/win/RTUuidCreate-win.cpp \
1938 r3/win/sched-win.cpp \
1939 r3/win/semevent-win.cpp \
1940 r3/win/semeventmulti-win.cpp \
1941 r3/win/semmutex-win.cpp \
1942 r3/win/symlink-win.cpp \
1943 r3/win/thread-win.cpp \
1944 r3/win/thread2-win.cpp \
1945 $(if-expr 1,r3/win/time-win.cpp,r3/nt/time-nt.cpp) \
1946 r3/win/time2-win.cpp \
1947 r3/win/utf16locale-win.cpp \
1948 r3/win/utf8-win.cpp \
1949 win/errmsgwin.cpp \
1950 win/RTErrConvertFromWin32.cpp
1951
1952RuntimeBldProg_SOURCES.win.amd64 := \
1953 $(RuntimeWin64ASM_SOURCES) \
1954 common/string/memrchr.asm
1955RuntimeBldProg_SOURCES.win.x86 := \
1956 $(RuntimeWin32ASM_SOURCES) \
1957 common/string/memrchr.asm
1958
1959## @todo reduce this
1960RuntimeBldProg_SOURCES.os2 += \
1961 common/string/memrchr.asm \
1962 generic/mppresent-generic.cpp \
1963 generic/RTCrStoreCreateSnapshotById-generic.cpp \
1964 generic/RTDirQueryInfo-generic.cpp \
1965 generic/RTDirSetTimes-generic.cpp \
1966 generic/fileio-at-generic.cpp \
1967 generic/RTFileCopyPartEx-generic.cpp \
1968 generic/RTFileMove-generic.cpp \
1969 generic/RTFileSetAllocationSize-generic.cpp \
1970 generic/RTLogWriteDebugger-generic.cpp \
1971 generic/RTPathGetCurrentOnDrive-generic.cpp \
1972 generic/RTRandAdvCreateSystemFaster-generic.cpp \
1973 generic/RTRandAdvCreateSystemTruer-generic.cpp \
1974 generic/RTSemEventMultiWait-generic.cpp \
1975 generic/RTSemEventWait-generic.cpp \
1976 generic/RTSemMutexRequest-generic.cpp \
1977 generic/RTSemMutexRequestDebug-generic.cpp \
1978 generic/RTThreadGetNativeState-generic.cpp \
1979 generic/RTUuidCreate-generic.cpp \
1980 generic/semrw-$(if-expr defined(VBOX_WITH_LOCKLESS_SEMRW),lockless-,)generic.cpp \
1981 generic/timer-generic.cpp \
1982 generic/utf16locale-generic.cpp \
1983 generic/uuid-generic.cpp \
1984 os2/RTErrConvertFromOS2.cpp \
1985 r3/generic/allocex-r3-generic.cpp \
1986 r3/generic/dirrel-r3-generic.cpp \
1987 r3/os2/filelock-os2.cpp \
1988 r3/os2/mp-os2.cpp \
1989 r3/os2/pipe-os2.cpp \
1990 r3/os2/rtProcInitExePath-os2.cpp \
1991 r3/os2/sched-os2.cpp \
1992 r3/os2/sems-os2.cpp \
1993 r3/os2/systemmem-os2.cpp \
1994 r3/os2/thread-os2.cpp \
1995 r3/os2/time-os2.cpp \
1996 r3/posix/dir-posix.cpp \
1997 r3/posix/env-posix.cpp \
1998 r3/posix/errvars-posix.cpp \
1999 r3/posix/fileio-posix.cpp \
2000 r3/posix/fileio2-posix.cpp \
2001 r3/posix/fs-posix.cpp \
2002 r3/posix/fs2-posix.cpp \
2003 r3/posix/fs3-posix.cpp \
2004 r3/posix/ldrNative-posix.cpp \
2005 r3/posix/path-posix.cpp \
2006 r3/posix/path2-posix.cpp \
2007 r3/posix/pathhost-posix.cpp \
2008 r3/posix/process-creation-posix.cpp \
2009 r3/posix/process-posix.cpp \
2010 r3/posix/RTFileQueryFsSizes-posix.cpp \
2011 r3/posix/RTHandleGetStandard-posix.cpp \
2012 r3/posix/rtmempage-exec-mmap-heap-posix.cpp \
2013 r3/posix/RTMemProtect-posix.cpp \
2014 r3/posix/RTPathUserDocuments-posix.cpp \
2015 r3/posix/RTPathUserHome-posix.cpp \
2016 r3/posix/RTTimeNow-posix.cpp \
2017 r3/posix/RTTimeSet-posix.cpp \
2018 r3/posix/symlink-posix.cpp \
2019 r3/posix/timelocal-posix.cpp \
2020 r3/posix/utf8-posix.cpp
2021
2022## @todo reduce linux, solaris and freebsd sources too.
2023
2024
2025
2026#
2027# RuntimeGuestR3 - Guest Additions Runtime (static/exe).
2028# (The KBUILD_HOST inheritance here is for cross building the linux
2029# additions, while .x86 is for cross building x86 while targeting amd64.)
2030#
2031RuntimeGuestR3_TEMPLATE := VBoxGuestR3Lib
2032## @todo change this to EXTEND the RuntimeR3 target.
2033RuntimeGuestR3_SDKS.win := $(RuntimeR3_SDKS.win)
2034RuntimeGuestR3_DEFS := $(filter-out RTCRITSECT_STRICT RT_NO_GIP, $(RuntimeR3_DEFS))
2035RuntimeGuestR3_DEFS := $(filter-out IN_SUP_R3, $(RuntimeGuestR3_DEFS))
2036RuntimeGuestR3_DEFS.$(KBUILD_TARGET) := $(RuntimeR3_DEFS.$(KBUILD_TARGET))
2037RuntimeGuestR3_DEFS.$(KBUILD_HOST) := $(RuntimeR3_DEFS.$(KBUILD_HOST))
2038RuntimeGuestR3_INCS := $(RuntimeR3_INCS)
2039RuntimeGuestR3_INCS.$(KBUILD_TARGET) := $(RuntimeR3_INCS.$(KBUILD_TARGET))
2040RuntimeGuestR3_INCS.$(KBUILD_HOST) := $(RuntimeR3_INCS.$(KBUILD_HOST))
2041RuntimeGuestR3_SOURCES := $(filter-out \
2042 common/time/timesupref.cpp \
2043 common/time/timesupA.asm \
2044 common/time/timesup.cpp \
2045 common/zip/xarvfs.cpp \
2046 generic/RTLogWriteUser-generic.cpp \
2047 r3/xml.cpp \
2048 , $(RuntimeR3_SOURCES))
2049RuntimeGuestR3_SOURCES += \
2050 common/time/timesysalias.cpp \
2051 VBox/logbackdoor.cpp
2052RuntimeGuestR3_SOURCES.$(KBUILD_TARGET) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
2053RuntimeGuestR3_SOURCES.$(KBUILD_HOST) := $(RuntimeR3_SOURCES.$(KBUILD_HOST))
2054RuntimeGuestR3_SOURCES.$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET_ARCH))
2055RuntimeGuestR3_SOURCES.x86 := $(RuntimeR3_SOURCES.x86)
2056RuntimeGuestR3_SOURCES.amd64 := $(RuntimeR3_SOURCES.amd64)
2057RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
2058RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).x86 := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).x86)
2059RuntimeGuestR3_SOURCES.$(KBUILD_TARGET).amd64:= $(RuntimeR3_SOURCES.$(KBUILD_TARGET).amd64)
2060RuntimeGuestR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_HOST).$(KBUILD_TARGET_ARCH))
2061RuntimeGuestR3_SOURCES.win.x86 += \
2062 r3/win/vcc100-kernel32-fakes.cpp \
2063 r3/win/vcc100-kernel32-fakesA.asm \
2064 r3/win/vcc100-ntdll-fakes.cpp \
2065 r3/win/vcc100-ntdll-fakesA.asm \
2066 r3/win/vcc100-ws2_32-fakes.cpp \
2067 r3/win/vcc100-ws2_32-fakesA.asm \
2068 r3/win/vcc100-shell32-fakes.cpp \
2069 r3/win/vcc100-shell32-fakesA.asm \
2070
2071
2072#
2073# RuntimeGuestR3-x86 - Same as RuntimeGuestR3, except that it's targeting x86.
2074#
2075RuntimeGuestR3-x86_EXTENDS := RuntimeGuestR3
2076RuntimeGuestR3-x86_BLD_TRG_ARCH := x86
2077
2078
2079#
2080# RuntimeGuestR3Shared - Guest Additions Runtime (static/dll).
2081#
2082RuntimeGuestR3Shared_TEMPLATE := VBoxGuestR3Dll
2083RuntimeGuestR3Shared_EXTENDS := RuntimeGuestR3
2084RuntimeGuestR3Shared_INST = $(INST_ADDITIONS_LIB)
2085
2086
2087#
2088# RuntimeGuestR3Shared-x86 - Same as RuntimeGuestR3Shared, except that it's targeting x86.
2089#
2090RuntimeGuestR3Shared-x86_EXTENDS := RuntimeGuestR3Shared
2091RuntimeGuestR3Shared-x86_BLD_TRG_ARCH := x86
2092
2093
2094#
2095# VBoxRT - Shared Object / DLL version.
2096#
2097VBoxRT_TEMPLATE = VBoxR3DllNoPic
2098VBoxRT_SDKS = VBOX_LIBXML2
2099ifdef VBOX_WITH_LIBCURL
2100 VBoxRT_SDKS += VBOX_LIBCURL
2101endif
2102VBoxRT_SDKS += VBOX_OPENSSL
2103VBoxRT_SDKS.win = $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
2104if1of ($(KBUILD_TARGET), win)
2105VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE) $(VBOX_INST_TOOLS)
2106else if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win$(VBOX_WITH_HARDENING))
2107VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE)
2108endif
2109VBoxRT_DEFS := $(filter-out RT_NO_GIP, $(RuntimeR3_DEFS)) \
2110 IPRT_WITH_OPENSSL \
2111 IPRT_WITH_XAR \
2112 $(if-expr !defined(VBOX_WITH_ALT_HASH_CODE),IPRT_WITHOUT_SHA512T224 IPRT_WITHOUT_SHA512T256,)
2113ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2114 VBoxRT_DEFS += RT_NO_GIP
2115endif
2116ifdef VBOX_WITH_LIBCURL
2117 VBoxRT_DEFS += IPRT_WITH_HTTP
2118endif
2119ifdef RTALLOC_REPLACE_MALLOC
2120 VBoxRT_DEFS += RTALLOC_REPLACE_MALLOC
2121endif
2122ifdef VBOX_WITH_DTRACE_R3
2123 VBoxRT_DEFS += IPRT_WITH_DTRACE IPRT_DTRACE_INCLUDE=\"dtrace/iprt.h\"
2124endif
2125VBoxRT_DEFS.$(KBUILD_TYPE) := $(RuntimeR3_DEFS.$(KBUILD_TYPE))
2126VBoxRT_SOURCES := \
2127 VBox/VBoxRTDeps.cpp \
2128 $(filter-out common/checksum/crc32.cpp, \
2129 $(if-expr defined(VBOX_WITH_ALT_HASH_CODE), $(RuntimeR3_SOURCES), \
2130 $(patsubst common/checksum/alt-%,common/checksum/openssl-%,$(RuntimeR3_SOURCES)) ) ) \
2131 common/checksum/crc32-zlib.cpp \
2132 common/fuzz/fuzz.cpp \
2133 common/fuzz/fuzz-observer.cpp \
2134 common/fuzz/fuzz-target-recorder.cpp \
2135 common/fuzz/fuzzmastercmd.cpp \
2136 common/fuzz/fuzzclientcmd.cpp \
2137 common/misc/aiomgr.cpp
2138ifneq ($(KBUILD_TARGET),win)
2139VBox/VBoxRTDeps.cpp_CXXFLAGS = -Wno-deprecated-declarations
2140endif
2141ifdef VBOX_WITH_LIBCURL
2142 VBoxRT_SOURCES += \
2143 common/misc/s3.cpp \
2144 generic/http-curl.cpp \
2145 common/rest/rest-primary-object-types.cpp \
2146 common/rest/rest-binary.cpp \
2147 common/rest/RTCRestAnyObject.cpp \
2148 common/rest/RTCRestArrayBase.cpp \
2149 common/rest/RTCRestClientApiBase.cpp \
2150 common/rest/RTCRestClientApiBaseOci.cpp \
2151 common/rest/RTCRestClientRequestBase.cpp \
2152 common/rest/RTCRestClientResponseBase.cpp \
2153 common/rest/RTCRestJsonPrimaryCursor.cpp \
2154 common/rest/RTCRestStringMapBase.cpp \
2155 common/rest/RTCRestOutputBase.cpp \
2156 common/rest/RTCRestOutputPrettyBase.cpp \
2157 common/rest/RTCRestOutputPrettyToString.cpp \
2158 common/rest/RTCRestOutputToString.cpp
2159endif
2160ifdef VBOX_WITH_DTRACE_R3
2161 VBoxRT_SOURCES += \
2162 iprt.d
2163endif
2164VBoxRT_SOURCES.$(KBUILD_TARGET) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
2165VBoxRT_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
2166VBoxRT_SOURCES.$(KBUILD_TARGET).x86 := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).x86)
2167VBoxRT_SOURCES.$(KBUILD_TARGET).amd64 := $(RuntimeR3_SOURCES.$(KBUILD_TARGET).amd64)
2168VBoxRT_SOURCES.$(KBUILD_TARGET_ARCH) := $(RuntimeR3_SOURCES.$(KBUILD_TARGET_ARCH))
2169VBoxRT_SOURCES.x86 := $(RuntimeR3_SOURCES.x86)
2170VBoxRT_SOURCES.amd64 := $(RuntimeR3_SOURCES.amd64)
2171VBoxRT_SOURCES.win += \
2172 r3/win/dllmain-win.cpp \
2173 r3/win/fileaio-win.cpp \
2174 $(VBoxRT_0_OUTDIR)/VBoxRT.def
2175VBoxRT_SOURCES.linux += \
2176 r3/linux/fileaio-linux.cpp \
2177 r3/linux/ioqueue-iouringfile-provider.cpp
2178VBoxRT_SOURCES.solaris += \
2179 r3/solaris/fileaio-solaris.cpp
2180VBoxRT_SOURCES.darwin += \
2181 r3/posix/fileaio-posix.cpp
2182VBoxRT_SOURCES.freebsd += \
2183 r3/freebsd/fileaio-freebsd.cpp
2184VBoxRT_INCS := $(RuntimeR3_INCS)
2185VBoxRT_INCS.$(KBUILD_TARGET) := $(RuntimeR3_INCS.$(KBUILD_TARGET))
2186VBoxRT_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(RuntimeR3_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
2187VBoxRT_LIBS = \
2188 $(PATH_STAGE_LIB)/VBox-liblzf$(VBOX_SUFF_LIB)
2189if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2190VBoxRT_LIBS += \
2191 $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
2192endif
2193ifndef SDK_VBOX_LIBXML2_LIBS
2194 VBoxRT_LIBS += \
2195 $(PATH_STAGE_LIB)/VBox-libxml2$(VBOX_SUFF_LIB)
2196endif
2197VBoxRT_LIBS += \
2198 $(SDK_VBOX_ZLIB_LIBS)
2199ifndef SDK_VBOX_OPENSSL_LIBS
2200 VBoxRT_LIBS += \
2201 $(PATH_STAGE_LIB)/VBox-libcrypto$(VBOX_SUFF_LIB) \
2202 $(PATH_STAGE_LIB)/VBox-libssl$(VBOX_SUFF_LIB)
2203endif
2204ifdef IPRT_WITH_LZO
2205 VBoxRT_LIBS += lzo2
2206endif
2207ifdef RTALLOC_REPLACE_MALLOC
2208VBoxRT_LIBS += \
2209 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
2210endif
2211VBoxRT_LIBS.darwin = \
2212 iconv
2213VBoxRT_LIBS.freebsd = \
2214 iconv \
2215 rt
2216VBoxRT_LIBS.haiku = \
2217 iconv
2218VBoxRT_LIBS.solaris = \
2219 kstat \
2220 contract
2221ifn1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)
2222 # SMBIOS not available on Solaris SPARC.
2223 VBoxRT_LIBS.solaris += smbios
2224endif
2225VBoxRT_LIBS.win = \
2226 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/vccomsup.lib \
2227 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/wbemuuid.lib \
2228 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib
2229VBoxRT_LDFLAGS.darwin = \
2230 -framework IOKit \
2231 -framework CoreFoundation \
2232 -framework CoreServices \
2233 -framework Security \
2234 -framework SystemConfiguration \
2235 -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxRT.dylib
2236VBoxRT_LDFLAGS.win = /MANIFEST \
2237 /delayload:user32.dll \
2238 /delayload:shell32.dll \
2239 /delayload:ole32.dll \
2240 /delayload:oleaut32.dll \
2241 /delayload:advapi32.dll
2242
2243if1of ($(DLLS), VBoxRT)
2244VBoxRT_CLEAN += $(VBoxRT_0_OUTDIR)/VBoxRT.def
2245$$(VBoxRT_0_OUTDIR)/VBoxRT.def: \
2246 $(PATH_SUB_CURRENT)/r3/win/VBoxRT-$$(if-expr $$(KBUILD_TARGET_ARCH) == amd64,win64,win32).def \
2247 $(if-expr defined(VBOX_WITH_OPENSSL_PRE_1_1)\
2248 ,$(PATH_SUB_CURRENT)/r3/win/VBoxRT-openssl-pre-1.1.def \
2249 ,$(PATH_SUB_CURRENT)/r3/win/VBoxRT-openssl-1.1plus.def )\
2250 $(if-expr "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" && defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES)\
2251 ,$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcr100-win32.def ,) #$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcp100-win32.def
2252 $(RM) -f -- $@
2253 $(REDIRECT) -wto $@ -- $(CAT_EXT) $^
2254endif
2255
2256if1of (VBoxRT,$(DLLS))
2257 $(call VBOX_SET_VER_INFO_DLL,VBoxRT,VirtualBox Runtime)
2258endif
2259
2260
2261if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86"
2262 #
2263 # Hacks for running tests on NT 4. Really ugly!
2264 #
2265 # We put most of the CRT in VBoxRT because we cannot even load msvcr100.dll
2266 # or msvcp100.dll on NT4 because of kernel32.dll dependencies. More hacks
2267 # in RuntimeR3VccTricks.
2268 #
2269 TEMPLATE_VBoxR3RuntimeDllItself = xx
2270 TEMPLATE_VBoxR3RuntimeDllItself_EXTENDS = VBoxR3RuntimeDll
2271 TEMPLATE_VBoxR3RuntimeDllItself_LIBS.win.x86 = \
2272 $(filter-out $(PATH_STAGE_LIB)/RuntimeR3VccTricks%, $(TEMPLATE_VBoxR3RuntimeDll_LIBS.win.x86))
2273 TEMPLATE_VBoxR3RuntimeDllItself_SOURCES = \
2274 r3/win/vcc100-kernel32-fakes.cpp \
2275 r3/win/vcc100-kernel32-fakesA.asm \
2276 r3/win/vcc100-ws2_32-fakes.cpp \
2277 r3/win/vcc100-ws2_32-fakesA.asm \
2278 r3/win/vcc100-ntdll-fakes.cpp \
2279 r3/win/vcc100-ntdll-fakesA.asm \
2280 r3/win/vcc100-msvcrt-fakes.cpp
2281 VBoxRT_TEMPLATE = VBoxR3RuntimeDllItself
2282 VBoxRT_TEMPLATE.win.x86 = VBoxR3RuntimeDllItself
2283 VBoxRT_DEFS.win.x86 = $(TEMPLATE_VBoxR3RuntimeDll_DEFS.win.x86) _CRTIMP_PURE="__declspec(dllexport)"
2284 VBoxRT_LDFLAGS.win.x86 = /IGNORE:4049 /IGNORE:4217
2285 VBoxRT_LIBS.win.x86 = \
2286 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/oldnames.lib \
2287 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcmt.lib \
2288 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcpmt.lib
2289endif
2290
2291
2292#
2293# HACK ALERT! Make testcase run during build on SELinux boxes.
2294# Create a dummy DLL that ensure that VBoxRT is installed
2295# during the DLL pass and cleaned up later.
2296#
2297ifeq ($(KBUILD_TARGET),linux)
2298 if1of (VBoxRT, $(DLLS))
2299 ifneq ($(wildcard /usr/bin/chcon),)
2300VBoxRT_INSTTYPE = none
2301VBoxRT_DEBUG_INSTTYPE = both
2302
2303VBoxRT-x86_INSTTYPE = $(NO_SUCH_VARIABLE)
2304
2305DLLS += VBoxRTDummy
2306VBoxRTDummy_TEMPLATE = VBoxR3Dll
2307VBoxRTDummy_INSTTYPE = none
2308VBoxRTDummy_LIBS = $(PATH_STAGE_BIN)/VBoxRT.so
2309VBoxRTDummy_CLEAN = $(PATH_STAGE_BIN)/VBoxRT.so
2310BLDDIRS += $(PATH_STAGE_BIN)
2311
2312$(PATH_STAGE_BIN)/VBoxRT.so: $$(VBoxRT_1_TARGET) | $$(dir $$@)
2313 $(INSTALL) $< $@
2314 chcon -t texrel_shlib_t $@ || true
2315
2316VBoxRT:: VBoxRTDummy
2317 endif # chcon present.
2318 endif # building VBoxRT
2319endif # linux
2320
2321
2322#
2323# VBoxRT-x86 - 32-bit version of VBoxRT
2324#
2325VBoxRT-x86_EXTENDS = VBoxRT
2326VBoxRT-x86_TEMPLATE = VBoxR3Dll-x86
2327VBoxRT-x86_INST.win = $(INST_DLL)x86/
2328VBoxRT-x86_SDKS = VBOX_LIBXML2
2329ifdef VBOX_WITH_LIBCURL
2330 VBoxRT-x86_SDKS += VBOX_LIBCURL-x86
2331endif
2332VBoxRT-x86_SDKS += VBOX_OPENSSL-x86
2333
2334VBoxRT-x86_LIBS = \
2335 $(PATH_STAGE_LIB)/VBox-liblzf-x86$(VBOX_SUFF_LIB)
2336if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2337VBoxRT-x86_LIBS += \
2338 $(PATH_STAGE_LIB)/SUPR3-x86$(VBOX_SUFF_LIB)
2339endif
2340ifndef SDK_VBOX_LIBXML2_LIBS
2341 VBoxRT-x86_LIBS += \
2342 $(PATH_STAGE_LIB)/VBox-libxml2-x86$(VBOX_SUFF_LIB)
2343endif
2344VBoxRT-x86_LIBS += \
2345 $(SDK_VBOX_ZLIB_LIBS-x86)
2346ifndef SDK_VBOX_OPENSSL_LIBS
2347 VBoxRT-x86_LIBS += \
2348 $(PATH_STAGE_LIB)/VBox-libcrypto-x86$(VBOX_SUFF_LIB) \
2349 $(PATH_STAGE_LIB)/VBox-libssl-x86$(VBOX_SUFF_LIB)
2350endif
2351ifdef IPRT_WITH_LZO
2352 VBoxRT-x86_LIBS += lzo2
2353endif
2354VBoxRT-x86_LIBS.darwin = \
2355 iconv
2356VBoxRT-x86_LIBS.freebsd = \
2357 iconv \
2358 rt
2359VBoxRT-x86_LIBS.haiku = \
2360 iconv
2361VBoxRT-x86_LIBS.solaris = \
2362 kstat \
2363 contract
2364ifn1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)
2365 # SMBIOS not available on Solaris SPARC.
2366 VBoxRT-x86_LIBS.solaris += smbios
2367endif
2368VBoxRT-x86_LIBS.win = \
2369 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/vccomsup.lib \
2370 $(PATH_SDK_$(VBOX_WINDDK)_LIB.x86)/wbemuuid.lib \
2371 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/delayimp.lib
2372
2373VBoxRT-x86_SOURCES.win = $(filter-out %.def %.rc,$(VBoxRT_SOURCES.win)) \
2374 $(VBoxRT-x86_0_OUTDIR)/VBoxRT-x86.def
2375VBoxRT-x86_CLEAN += $(VBoxRT-x86_0_OUTDIR)/VBoxRT-x86.def
2376if1of ($(DLLS), VBoxRT-x86)
2377$$(VBoxRT-x86_0_OUTDIR)/VBoxRT-x86.def: \
2378 $(PATH_SUB_CURRENT)/r3/win/VBoxRT-win32.def # Hopefully no need to export openssl here.
2379 $(RM) -f -- $@
2380 $(REDIRECT) -wto $@ -- $(CAT_EXT) $^
2381endif
2382
2383if1of (VBoxRT-x86,$(DLLS))
2384 $(call VBOX_SET_VER_INFO_DLL,VBoxRT-x86,VirtualBox 32-bit Runtime)
2385endif
2386
2387#
2388# VBoxRTImp - Import library/hack.
2389#
2390ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
2391$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def VBox/VBoxRTImp-vcc64.def r3/win/VBoxRT-win64.def)
2392else ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.x86)
2393$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def VBox/VBoxRTImp-vcc32.def r3/win/VBoxRT-win32.def)
2394else
2395$(call VBOX_GENERATE_IMPORT_TARGET_FN,VBoxRTImp,VBoxRT,VBox/VBoxRTImp.def VBox/VBoxRTImp-gcc.def)
2396endif
2397
2398
2399if1of ($(KBUILD_TARGET),win linux darwin) # remove later
2400if1of (VBoxRT,$(DLLS))
2401 #
2402 # VBoxRTImpCheck - Import library check.
2403 #
2404 PROGRAMS += VBoxRTStableCheck
2405 VBoxRTStableCheck_TEMPLATE = VBOXR3TSTEXE
2406 VBoxRTStableCheck_SOURCES = \
2407 VBox/VBoxRTStableCheck.cpp \
2408 $(VBoxRTStableCheck_0_OUTDIR)/VBoxRTStableCheckA.asm
2409 VBoxRTStableCheck_LIBS = \
2410 $(LIB_RUNTIME)
2411 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.amd64)
2412$$(VBoxRTStableCheck_0_OUTDIR)/VBoxRTStableCheckA.asm: \
2413 $(PATH_SUB_CURRENT)/VBox/DefToAsmExterns.sed \
2414 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp.def \
2415 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp-vcc64.def \
2416 $(PATH_SUB_CURRENT)/r3/win/VBoxRT-win64.def \
2417 | $$(dir $$@)
2418 else ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),win.x86)
2419$$(VBoxRTStableCheck_0_OUTDIR)/VBoxRTStableCheckA.asm: \
2420 $(PATH_SUB_CURRENT)/VBox/DefToAsmExternsVcc32.sed \
2421 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp.def \
2422 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp-vcc32.def \
2423 $(PATH_SUB_CURRENT)/r3/win/VBoxRT-win32.def | $$(dir $$@)
2424 else
2425$$(VBoxRTStableCheck_0_OUTDIR)/VBoxRTStableCheckA.asm: \
2426 $(PATH_SUB_CURRENT)/VBox/DefToAsmExterns.sed \
2427 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp.def \
2428 $(PATH_SUB_CURRENT)/VBox/VBoxRTImp-gcc.def | $$(dir $$@)
2429 endif
2430 $(APPEND) -tn "$@" '%include "iprt/asmdefs.mac"' ''
2431 $(SED) --append "$@" \
2432 -e "/not-$(KBUILD_TARGET)/d" \
2433 $(if-expr "$(KBUILD_TARGET)" == "linux" ,, -e "/only-linux/d") \
2434 $(if-expr "$(KBUILD_TARGET)" == "win" ,, -e "/only-win/d") \
2435 $(if-expr "$(KBUILD_TARGET)" == "darwin",, -e "/only-darwin/d") \
2436 -f "$<" $(filter %.def, $^)
2437endif
2438endif # remove later
2439
2440
2441#
2442# RuntimeR3NoCRTGCC - CRT replacement lib for VBoxREM.
2443# This is used together with VBoxRT.
2444#
2445## @todo the *_alias.c stuff is busted, remove and use RT_WITH_NOCRT_ALIASES instead.
2446RuntimeR3NoCRTGCC_TEMPLATE = VBoxNoCrtGccLib
2447RuntimeR3NoCRTGCC_LIBSUFF = $(VBOX_SUFF_LIB)
2448ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2449 RuntimeR3NoCRTGCC_DEFS += RT_NO_GIP
2450endif
2451RuntimeR3NoCRTGCC_INCS = include
2452RuntimeR3NoCRTGCC_SOURCES := \
2453 common/misc/sanity-cpp.cpp \
2454 common/misc/sanity-c.c \
2455 \
2456 $(RuntimeNoCrt_SOURCES)
2457
2458if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2459RuntimeR3NoCRTGCC_SOURCES += \
2460 common/math/ceill.asm \
2461 common/math/cosl.asm \
2462 common/math/fabs.asm \
2463 common/math/fabsf.asm \
2464 common/math/fabsl.asm \
2465 common/math/floor.asm \
2466 common/math/floorf.asm \
2467 common/math/floorl.asm \
2468 common/math/ldexpl.asm \
2469 common/math/llrint.asm \
2470 common/math/llrintf.asm \
2471 common/math/llrintl.asm \
2472 common/math/logl.asm \
2473 common/math/lrint.asm \
2474 common/math/lrintf.asm \
2475 common/math/lrintl.asm \
2476 common/math/remainder.asm \
2477 common/math/remainderf.asm \
2478 common/math/remainderl.asm \
2479 common/math/sinl.asm \
2480 common/math/tanl.asm \
2481 common/math/trunc.asm \
2482 common/math/truncf.asm \
2483 common/math/truncl.asm \
2484 \
2485 common/string/memchr_alias.c \
2486 common/string/memcmp_alias.c \
2487 common/string/memcpy_alias.c \
2488 common/string/memmove_alias.c \
2489 common/string/memset_alias.c \
2490 common/string/strchr_alias.c \
2491 common/string/strcmp_alias.c \
2492 common/string/strlen_alias.c
2493endif
2494
2495RuntimeR3NoCRTGCC_SOURCES.x86 = \
2496 common/math/x86/fenv-x86.c \
2497 common/math/gcc/adddi3.c \
2498 common/math/gcc/anddi3.c \
2499 common/math/gcc/ashldi3.c \
2500 common/math/gcc/ashrdi3.c \
2501 common/math/gcc/cmpdi2.c \
2502 common/math/gcc/divdi3.c \
2503 common/math/gcc/iordi3.c \
2504 common/math/gcc/lshldi3.c \
2505 common/math/gcc/lshrdi3.c \
2506 common/math/gcc/moddi3.c \
2507 common/math/gcc/muldi3.c \
2508 common/math/gcc/negdi2.c \
2509 common/math/gcc/notdi2.c \
2510 common/math/gcc/qdivrem.c \
2511 common/math/gcc/subdi3.c \
2512 common/math/gcc/ucmpdi2.c \
2513 common/math/gcc/udivdi3.c \
2514 common/math/gcc/udivmoddi4.c \
2515 common/math/gcc/umoddi3.c \
2516 common/math/gcc/xordi3.c
2517
2518
2519#
2520# RuntimeR0 - Ring-0 library for VMMR0.
2521#
2522RuntimeR0_TEMPLATE = VBoxR0
2523RuntimeR0_DEFS = IN_RT_R0 RT_WITH_VBOX NOFILEID
2524ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86)
2525 RuntimeR0_DEFS += RT_NO_GIP
2526endif
2527if defined(VBOX_WITH_DTRACE_R0) && !defined(VBOX_ONLY_VALIDATIONKIT)
2528 RuntimeR0_DEFS += IPRT_WITH_DTRACE IPRT_DTRACE_PREFIX=VBOXVMM_ IPRT_DTRACE_INCLUDE=\"dtrace/VBoxVMM.h\"
2529endif
2530RuntimeR0_INCS = include
2531RuntimeR0_SOURCES := \
2532 $(if $(VBOX_ONLY_VALIDATIONKIT),,../VMM/VBoxVMM.d) \
2533 common/log/logellipsis.cpp \
2534 common/log/logrelellipsis.cpp \
2535 common/log/logcom.cpp \
2536 common/log/logformat.cpp \
2537 common/log/tracebuf.cpp \
2538 common/log/tracedefault.cpp \
2539 common/misc/RTAssertMsg1Weak.cpp \
2540 common/misc/RTAssertMsg2.cpp \
2541 common/misc/RTAssertMsg2Add.cpp \
2542 common/misc/RTAssertMsg2AddWeak.cpp \
2543 common/misc/RTAssertMsg2AddWeakV.cpp \
2544 common/misc/RTAssertMsg2Weak.cpp \
2545 common/misc/RTAssertMsg2WeakV.cpp \
2546 common/misc/buildconfig.cpp \
2547 common/misc/once.cpp \
2548 common/misc/sanity-c.c \
2549 common/misc/sanity-cpp.cpp \
2550 common/misc/term.cpp \
2551 common/path/RTPathFilename.cpp \
2552 common/string/strhash1.cpp \
2553 common/string/strncmp.cpp \
2554 common/string/strpbrk.cpp \
2555 common/string/RTStrCat.cpp \
2556 common/string/RTStrCatEx.cpp \
2557 common/string/RTStrCatP.cpp \
2558 common/string/RTStrCatPEx.cpp \
2559 common/string/RTStrCopy.cpp \
2560 common/string/RTStrCopyEx.cpp \
2561 common/string/RTStrCopyP.cpp \
2562 common/string/RTStrCopyPEx.cpp \
2563 common/string/RTStrCmp.cpp \
2564 common/string/RTStrICmpAscii.cpp \
2565 common/string/RTStrNICmpAscii.cpp \
2566 common/string/RTStrNLen.cpp \
2567 common/string/RTStrNLenEx.cpp \
2568 common/table/avlgcptr.cpp \
2569 common/table/avlhcphys.cpp \
2570 common/table/avllu32.cpp \
2571 common/table/avlogcphys.cpp \
2572 common/table/avlogcptr.cpp \
2573 common/table/avlohcphys.cpp \
2574 common/table/avloioport.cpp \
2575 common/table/avlpv.cpp \
2576 common/table/avlrogcphys.cpp \
2577 common/table/avlrogcptr.cpp \
2578 common/table/avlroioport.cpp \
2579 common/table/avlroogcptr.cpp \
2580 common/table/avlu32.cpp \
2581 common/table/avlou32.cpp \
2582 common/time/timesup.cpp \
2583 generic/RTAssertShouldPanic-generic.cpp \
2584 generic/critsect-generic.cpp \
2585 generic/critsectrw-generic.cpp \
2586 \
2587 $(RuntimeNoCrt_SOURCES)
2588
2589if1of ($(KBUILD_TARGET), darwin solaris freebsd os2)
2590RuntimeR0_SOURCES += \
2591 common/math/gcc/adddi3.c \
2592 common/math/gcc/anddi3.c \
2593 common/math/gcc/ashldi3.c \
2594 common/math/gcc/ashrdi3.c \
2595 common/math/gcc/cmpdi2.c \
2596 common/math/gcc/divdi3.c \
2597 common/math/gcc/iordi3.c \
2598 common/math/gcc/lshldi3.c \
2599 common/math/gcc/lshrdi3.c \
2600 common/math/gcc/moddi3.c \
2601 common/math/gcc/muldi3.c \
2602 common/math/gcc/negdi2.c \
2603 common/math/gcc/notdi2.c \
2604 common/math/gcc/qdivrem.c \
2605 common/math/gcc/subdi3.c \
2606 common/math/gcc/ucmpdi2.c \
2607 common/math/gcc/udivdi3.c \
2608 common/math/gcc/udivmoddi4.c \
2609 common/math/gcc/umoddi3.c \
2610 common/math/gcc/xordi3.c
2611endif
2612
2613RuntimeR0_SOURCES.x86 += \
2614 common/asm/ASMCpuIdExSlow.asm \
2615 common/asm/ASMAtomicUoAndU64.asm \
2616 common/asm/ASMAtomicUoAndU32.asm \
2617 common/asm/ASMAtomicUoDecU32.asm \
2618 common/asm/ASMAtomicUoIncU32.asm \
2619 common/asm/ASMAtomicUoOrU64.asm \
2620 common/asm/ASMAtomicUoOrU32.asm \
2621 common/asm/ASMMemFirstMismatchingU8.asm \
2622 common/asm/ASMGetXcr0.asm \
2623 common/asm/ASMSetXcr0.asm \
2624 common/asm/ASMXSave.asm \
2625 common/asm/ASMXRstor.asm \
2626 common/asm/ASMFxSave.asm \
2627 common/asm/ASMFxRstor.asm \
2628 common/asm/ASMRdMsrEx.asm \
2629 common/asm/ASMWrMsrEx.asm
2630RuntimeR0_SOURCES.amd64 += \
2631 common/asm/ASMCpuIdExSlow.asm \
2632 common/asm/ASMAtomicUoAndU64.asm \
2633 common/asm/ASMAtomicUoAndU32.asm \
2634 common/asm/ASMAtomicUoDecU32.asm \
2635 common/asm/ASMAtomicUoIncU32.asm \
2636 common/asm/ASMAtomicUoOrU64.asm \
2637 common/asm/ASMAtomicUoOrU32.asm \
2638 common/asm/ASMMemFirstMismatchingU8.asm \
2639 common/asm/ASMGetXcr0.asm \
2640 common/asm/ASMSetXcr0.asm \
2641 common/asm/ASMXSave.asm \
2642 common/asm/ASMXRstor.asm \
2643 common/asm/ASMFxSave.asm \
2644 common/asm/ASMFxRstor.asm \
2645 common/asm/ASMRdMsrEx.asm \
2646 common/asm/ASMWrMsrEx.asm
2647
2648#if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
2649# RuntimeR0_SOURCES += common/time/timesupA.asm
2650#else
2651 RuntimeR0_SOURCES += common/time/timesupref.cpp
2652#endif
2653
2654RuntimeR0_SOURCES.win.amd64 := $(RuntimeWin64ASM_SOURCES)
2655RuntimeR0_SOURCES.win.x86 := $(RuntimeWin32ASM_SOURCES)
2656RuntimeR0_SOURCES.win = \
2657 nt/NtProcessStartup-stub.cpp
2658
2659RuntimeR0_SOURCES.os2 = \
2660 os2/sys0.asm
2661
2662
2663#
2664# RuntimeR0Stub - Ring-0 context startup stub for Windows and Solaris.
2665#
2666RuntimeR0Stub_TEMPLATE = $(if-expr "$(KBUILD_TARGET)" == "solaris",VBoxR0DrvLib,VBoxR0)
2667RuntimeR0Stub_SOURCES.win = \
2668 nt/NtProcessStartup-stub.cpp
2669RuntimeR0Stub_SOURCES.solaris = \
2670 r0drv/solaris/modulestub-r0drv-solaris.c
2671
2672
2673#
2674# RuntimeR0Drv - Ring-0 library for host drivers.
2675#
2676RuntimeR0Drv_TEMPLATE = VBoxR0DrvLib
2677RuntimeR0Drv_SDKS.win = ReorderCompilerIncs $(VBOX_WINDDK) $(VBOX_WINPSDK)INCS VBOX_OPENSSL
2678RuntimeR0Drv_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS RT_NO_EXPORT_SYMBOL NOFILEID
2679RuntimeR0Drv_DEFS.win = IN_SUP_R0 LDR_ONLY_PE IPRT_WITHOUT_DIGEST_MD4
2680RuntimeR0Drv_DEFS.darwin= IN_SUP_R0 LDR_ONLY_MACHO IPRT_WITHOUT_DIGEST_MD4
2681
2682RuntimeR0Drv_INCS := $(PATH_SUB_CURRENT) include
2683RuntimeR0Drv_INCS.freebsd = \
2684 $(PATH_STAGE)/gen-sys-hdrs
2685RuntimeR0Drv_INCS.solaris = \
2686 r0drv/solaris/vbi/i86pc \
2687 r0drv/solaris/vbi/i86pc/sys
2688
2689RuntimeR0Drv_SOURCES = \
2690 common/alloc/alloc.cpp \
2691 common/alloc/heapsimple.cpp \
2692 common/alloc/heapoffset.cpp \
2693 common/checksum/alt-md5.cpp \
2694 common/checksum/crc32.cpp \
2695 common/checksum/crc64.cpp \
2696 common/checksum/ipv4.cpp \
2697 common/checksum/ipv6.cpp \
2698 common/err/RTErrConvertToErrno.cpp \
2699 common/err/RTErrConvertFromErrno.cpp \
2700 common/err/errinfo.cpp \
2701 common/log/log.cpp \
2702 common/log/logellipsis.cpp \
2703 common/log/logrel.cpp \
2704 common/log/logrelellipsis.cpp \
2705 common/log/logcom.cpp \
2706 common/log/logformat.cpp \
2707 common/log/tracebuf.cpp \
2708 common/log/tracedefault.cpp \
2709 common/misc/RTAssertMsg1Weak.cpp \
2710 common/misc/RTAssertMsg2.cpp \
2711 common/misc/RTAssertMsg2Add.cpp \
2712 common/misc/RTAssertMsg2AddWeak.cpp \
2713 common/misc/RTAssertMsg2AddWeakV.cpp \
2714 common/misc/RTAssertMsg2Weak.cpp \
2715 common/misc/RTAssertMsg2WeakV.cpp \
2716 common/misc/assert.cpp \
2717 common/misc/buildconfig.cpp \
2718 common/misc/handletable.cpp \
2719 common/misc/handletablectx.cpp \
2720 common/misc/handletablesimple.cpp \
2721 common/misc/once.cpp \
2722 common/misc/sanity-c.c \
2723 common/misc/sanity-cpp.cpp \
2724 common/misc/term.cpp \
2725 common/misc/RTMemWipeThoroughly.cpp \
2726 common/path/rtPathVolumeSpecLen.cpp \
2727 common/path/RTPathAbsDup.cpp \
2728 common/path/RTPathAbsEx.cpp \
2729 common/path/RTPathAbsExDup.cpp \
2730 common/path/RTPathAppend.cpp \
2731 common/path/RTPathAppendEx.cpp \
2732 common/path/RTPathExt.cpp \
2733 common/path/RTPathFilename.cpp \
2734 common/path/RTPathHasExt.cpp \
2735 common/path/RTPathHasPath.cpp \
2736 common/path/RTPathParseSimple.cpp \
2737 common/path/RTPathRealDup.cpp \
2738 common/path/RTPathStripExt.cpp \
2739 common/path/RTPathStripFilename.cpp \
2740 common/path/RTPathStripTrailingSlash.cpp \
2741 common/rand/rand.cpp \
2742 common/rand/randadv.cpp \
2743 common/rand/randparkmiller.cpp \
2744 common/string/RTStrCat.cpp \
2745 common/string/RTStrCatEx.cpp \
2746 common/string/RTStrCatP.cpp \
2747 common/string/RTStrCatPEx.cpp \
2748 common/string/RTStrCmp.cpp \
2749 common/string/RTStrCopy.cpp \
2750 common/string/RTStrCopyEx.cpp \
2751 common/string/RTStrCopyP.cpp \
2752 common/string/RTStrCopyPEx.cpp \
2753 common/string/RTStrICmpAscii.cpp \
2754 common/string/RTStrNICmpAscii.cpp \
2755 common/string/RTStrNCmp.cpp \
2756 common/string/RTStrNLen.cpp \
2757 common/string/RTStrNLenEx.cpp \
2758 common/string/RTUtf16ICmpAscii.cpp \
2759 common/string/RTUtf16NICmpAscii.cpp \
2760 common/string/straprintf.cpp \
2761 common/string/strformat.cpp \
2762 common/string/strformatnum.cpp \
2763 common/string/strformatrt.cpp \
2764 common/string/strformattype.cpp \
2765 common/string/strhash1.cpp \
2766 common/string/strprintf.cpp \
2767 common/string/strprintf2.cpp \
2768 common/string/strtonum.cpp \
2769 common/string/stringalloc.cpp \
2770 common/string/unidata-flags.cpp \
2771 common/string/unidata-lower.cpp \
2772 common/string/unidata-upper.cpp \
2773 common/string/utf-8.cpp \
2774 common/string/utf-8-case.cpp \
2775 common/string/utf-8-case2.cpp \
2776 common/string/utf-16.cpp \
2777 common/string/utf-16-case.cpp \
2778 common/string/utf-16-latin-1.cpp \
2779 common/table/avlpv.cpp \
2780 common/table/avlu32.cpp \
2781 common/time/time.cpp \
2782 generic/RTLogWriteStdErr-stub-generic.cpp \
2783 generic/RTLogWriteUser-generic.cpp \
2784 generic/RTMpGetArraySize-generic.cpp \
2785 generic/RTRandAdvCreateSystemFaster-generic.cpp \
2786 generic/RTSemEventWait-2-ex-generic.cpp \
2787 generic/RTSemEventWaitNoResume-2-ex-generic.cpp \
2788 generic/RTSemEventMultiWait-2-ex-generic.cpp \
2789 generic/RTSemEventMultiWaitNoResume-2-ex-generic.cpp \
2790 generic/critsect-generic.cpp \
2791 generic/critsectrw-generic.cpp \
2792 generic/errvars-generic.cpp \
2793 generic/uuid-generic.cpp \
2794 r0drv/alloc-r0drv.cpp \
2795 r0drv/initterm-r0drv.cpp \
2796 r0drv/generic/semspinmutex-r0drv-generic.c \
2797 r0drv/RTR0DbgKrnlInfoGetSymbol.cpp \
2798 VBox/log-vbox.cpp \
2799
2800RuntimeR0Drv_SOURCES.amd64 = \
2801 common/asm/ASMMemFirstMismatchingU8.asm \
2802 common/asm/ASMRdMsrEx.asm \
2803 common/asm/ASMWrMsrEx.asm \
2804 common/math/bignum-amd64-x86.asm \
2805 common/math/RTUInt128MulByU64.asm
2806RuntimeR0Drv_SOURCES.x86 = \
2807 common/asm/ASMMemFirstMismatchingU8.asm \
2808 common/asm/ASMRdMsrEx.asm \
2809 common/asm/ASMWrMsrEx.asm \
2810 common/math/bignum-amd64-x86.asm
2811
2812
2813RuntimeR0Drv_SOURCES.linux = \
2814 common/misc/thread.cpp \
2815 common/string/strpbrk.cpp \
2816 generic/RTAssertShouldPanic-generic.cpp \
2817 generic/RTLogWriteStdOut-stub-generic.cpp \
2818 generic/RTMpGetCoreCount-generic.cpp \
2819 generic/mppresent-generic.cpp \
2820 generic/rtStrFormatKernelAddress-generic.cpp \
2821 r0drv/linux/alloc-r0drv-linux.c \
2822 r0drv/linux/assert-r0drv-linux.c \
2823 r0drv/linux/initterm-r0drv-linux.c \
2824 r0drv/linux/memobj-r0drv-linux.c \
2825 r0drv/linux/memuserkernel-r0drv-linux.c \
2826 r0drv/linux/mp-r0drv-linux.c \
2827 r0drv/linux/mpnotification-r0drv-linux.c \
2828 r0drv/linux/process-r0drv-linux.c \
2829 r0drv/linux/RTLogWriteDebugger-r0drv-linux.c \
2830 r0drv/linux/semevent-r0drv-linux.c \
2831 r0drv/linux/semeventmulti-r0drv-linux.c \
2832 r0drv/linux/semfastmutex-r0drv-linux.c \
2833 r0drv/linux/semmutex-r0drv-linux.c \
2834 r0drv/linux/spinlock-r0drv-linux.c \
2835 r0drv/linux/thread-r0drv-linux.c \
2836 r0drv/linux/thread2-r0drv-linux.c \
2837 r0drv/linux/threadctxhooks-r0drv-linux.c \
2838 r0drv/linux/time-r0drv-linux.c \
2839 r0drv/linux/timer-r0drv-linux.c \
2840 r0drv/memobj-r0drv.cpp \
2841 r0drv/mpnotification-r0drv.c \
2842 r0drv/powernotification-r0drv.c
2843
2844RuntimeR0Drv_SOURCES.win = \
2845 common/asm/ASMCpuIdExSlow.asm \
2846 common/ldr/ldr.cpp \
2847 common/ldr/ldrEx.cpp \
2848 common/ldr/ldrPE.cpp \
2849 common/asn1/asn1-basics.cpp \
2850 common/asn1/asn1-dump.cpp \
2851 common/asn1/asn1-cursor.cpp \
2852 common/asn1/asn1-default-allocator.cpp \
2853 common/asn1/asn1-safer-allocator.cpp \
2854 common/asn1/asn1-encode.cpp \
2855 common/asn1/asn1-ut-bitstring.cpp \
2856 common/asn1/asn1-ut-bitstring-decode.cpp \
2857 common/asn1/asn1-ut-boolean.cpp \
2858 common/asn1/asn1-ut-boolean-decode.cpp \
2859 common/asn1/asn1-ut-core.cpp \
2860 common/asn1/asn1-ut-core-decode.cpp \
2861 common/asn1/asn1-ut-dyntype.cpp \
2862 common/asn1/asn1-ut-dyntype-decode.cpp \
2863 common/asn1/asn1-ut-integer.cpp \
2864 common/asn1/asn1-ut-integer-decode.cpp \
2865 common/asn1/asn1-ut-null.cpp \
2866 common/asn1/asn1-ut-null-decode.cpp \
2867 common/asn1/asn1-ut-objid.cpp \
2868 common/asn1/asn1-ut-objid-decode.cpp \
2869 common/asn1/asn1-ut-octetstring.cpp \
2870 common/asn1/asn1-ut-octetstring-decode.cpp \
2871 common/asn1/asn1-ut-string.cpp \
2872 common/asn1/asn1-ut-string-decode.cpp \
2873 common/asn1/asn1-ut-time.cpp \
2874 common/asn1/asn1-ut-time-decode.cpp \
2875 common/crypto/digest-core.cpp \
2876 common/crypto/digest-builtin.cpp \
2877 common/crypto/key.cpp \
2878 common/crypto/rsa-asn1-decoder.cpp \
2879 common/crypto/rsa-core.cpp \
2880 common/crypto/rsa-init.cpp \
2881 common/crypto/rsa-sanity.cpp \
2882 common/crypto/pkcs7-asn1-decoder.cpp \
2883 common/crypto/pkcs7-core.cpp \
2884 common/crypto/pkcs7-init.cpp \
2885 common/crypto/pkcs7-sanity.cpp \
2886 common/crypto/pkcs7-verify.cpp \
2887 common/crypto/pkix-signature-builtin.cpp \
2888 common/crypto/pkix-signature-core.cpp \
2889 common/crypto/pkix-signature-rsa.cpp \
2890 common/crypto/pkix-util.cpp \
2891 common/crypto/pkix-verify.cpp \
2892 common/crypto/spc-asn1-decoder.cpp \
2893 common/crypto/spc-core.cpp \
2894 common/crypto/spc-init.cpp \
2895 common/crypto/spc-sanity.cpp \
2896 common/crypto/x509-asn1-decoder.cpp \
2897 common/crypto/x509-certpaths.cpp \
2898 common/crypto/x509-core.cpp \
2899 common/crypto/x509-init.cpp \
2900 common/crypto/x509-sanity.cpp \
2901 common/crypto/x509-verify.cpp \
2902 common/crypto/store.cpp \
2903 common/crypto/store-inmem.cpp \
2904 common/crypto/taf-asn1-decoder.cpp \
2905 common/crypto/taf-core.cpp \
2906 common/crypto/taf-init.cpp \
2907 common/crypto/taf-sanity.cpp \
2908 common/crypto/tsp-asn1-decoder.cpp \
2909 common/crypto/tsp-core.cpp \
2910 common/crypto/tsp-init.cpp \
2911 common/crypto/tsp-sanity.cpp \
2912 common/checksum/alt-md2.cpp \
2913 common/checksum/alt-sha1.cpp \
2914 common/checksum/alt-sha256.cpp \
2915 common/checksum/alt-sha512.cpp \
2916 common/checksum/md2str.cpp \
2917 common/checksum/md4str.cpp \
2918 common/checksum/md5str.cpp \
2919 common/checksum/sha1str.cpp \
2920 common/checksum/sha224str.cpp \
2921 common/checksum/sha256str.cpp \
2922 common/checksum/sha384str.cpp \
2923 common/checksum/sha512str.cpp \
2924 common/checksum/sha512t224str.cpp \
2925 common/checksum/sha512t256str.cpp \
2926 common/err/errinfolog.cpp \
2927 common/path/RTPathFilenameUtf16.cpp \
2928 common/path/RTPathChangeToUnixSlashes.cpp \
2929 common/math/bignum.cpp \
2930 common/misc/zero.asm \
2931 common/string/RTStrPrintHexBytes.cpp \
2932 common/string/RTUtf16Copy.cpp \
2933 common/string/RTUtf16CopyAscii.cpp \
2934 common/string/RTUtf16CopyEx.cpp \
2935 common/string/RTUtf16Cat.cpp \
2936 common/string/RTUtf16CatAscii.cpp \
2937 common/string/RTUtf16End.cpp \
2938 common/string/RTUtf16NLen.cpp \
2939 common/string/RTUtf16NLenEx.cpp \
2940 common/string/RTUtf16PrintHexBytes.cpp \
2941 common/string/strstrip.cpp \
2942 generic/memsafer-generic.cpp \
2943 common/misc/thread.cpp \
2944 common/string/memcmp.asm \
2945 common/string/memchr.asm \
2946 common/string/memcpy.asm \
2947 common/string/memset.asm \
2948 common/string/memmove.asm \
2949 common/string/strlen.asm \
2950 common/string/strncmp.cpp \
2951 common/string/strpbrk.cpp \
2952 generic/RTAssertShouldPanic-generic.cpp \
2953 generic/RTLogWriteStdOut-stub-generic.cpp \
2954 generic/RTTimerCreate-generic.cpp \
2955 generic/mppresent-generic-online.cpp \
2956 generic/RTMpGetCoreCount-generic.cpp \
2957 generic/rtStrFormatKernelAddress-generic.cpp \
2958 nt/RTErrConvertFromNtStatus.cpp \
2959 nt/RTNtPathExpand8dot3Path.cpp \
2960 nt/RTNtPathExpand8dot3PathA.cpp \
2961 nt/RTNtPathFindPossible8dot3Name.cpp \
2962 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
2963 r0drv/alloc-ef-r0drv.cpp \
2964 r0drv/memobj-r0drv.cpp \
2965 r0drv/mpnotification-r0drv.c \
2966 r0drv/powernotification-r0drv.c \
2967 r0drv/nt/alloc-r0drv-nt.cpp \
2968 r0drv/nt/assert-r0drv-nt.cpp \
2969 r0drv/nt/dbgkrnlinfo-r0drv-nt.cpp \
2970 r0drv/nt/initterm-r0drv-nt.cpp \
2971 r0drv/nt/memobj-r0drv-nt.cpp \
2972 r0drv/nt/memuserkernel-r0drv-nt.cpp \
2973 r0drv/nt/mp-r0drv-nt.cpp \
2974 r0drv/nt/process-r0drv-nt.cpp \
2975 r0drv/nt/RTLogWriteDebugger-r0drv-nt.cpp \
2976 r0drv/nt/semevent-r0drv-nt.cpp \
2977 r0drv/nt/semeventmulti-r0drv-nt.cpp \
2978 r0drv/nt/semfastmutex-r0drv-nt.cpp \
2979 r0drv/nt/semmutex-r0drv-nt.cpp \
2980 r0drv/nt/spinlock-r0drv-nt.cpp \
2981 r0drv/nt/thread-r0drv-nt.cpp \
2982 r0drv/nt/thread2-r0drv-nt.cpp \
2983 r0drv/nt/time-r0drv-nt.cpp \
2984 r0drv/nt/timer-r0drv-nt.cpp \
2985 r0drv/nt/toxic-chkstk-r0drv-nt.asm \
2986 r0drv/nt/RTTimerGetSystemGranularity-r0drv-nt.cpp
2987
2988RuntimeR0Drv_SOURCES.win.amd64 := $(RuntimeWin64ASM_SOURCES)
2989RuntimeR0Drv_SOURCES.win.x86 := $(RuntimeWin32ASM_SOURCES) \
2990 r0drv/nt/nt3fakes-stub-r0drv-nt.cpp
2991
2992
2993RuntimeR0Drv_SOURCES.darwin = \
2994 common/ldr/ldr.cpp \
2995 common/ldr/ldrEx.cpp \
2996 common/ldr/ldrMachO.cpp \
2997 common/ldr/ldrMemory.cpp \
2998 common/asn1/asn1-basics.cpp \
2999 common/asn1/asn1-dump.cpp \
3000 common/asn1/asn1-cursor.cpp \
3001 common/asn1/asn1-default-allocator.cpp \
3002 common/asn1/asn1-safer-allocator.cpp \
3003 common/asn1/asn1-encode.cpp \
3004 common/asn1/asn1-ut-bitstring.cpp \
3005 common/asn1/asn1-ut-bitstring-decode.cpp \
3006 common/asn1/asn1-ut-boolean.cpp \
3007 common/asn1/asn1-ut-boolean-decode.cpp \
3008 common/asn1/asn1-ut-core.cpp \
3009 common/asn1/asn1-ut-core-decode.cpp \
3010 common/asn1/asn1-ut-dyntype.cpp \
3011 common/asn1/asn1-ut-dyntype-decode.cpp \
3012 common/asn1/asn1-ut-integer.cpp \
3013 common/asn1/asn1-ut-integer-decode.cpp \
3014 common/asn1/asn1-ut-null.cpp \
3015 common/asn1/asn1-ut-null-decode.cpp \
3016 common/asn1/asn1-ut-objid.cpp \
3017 common/asn1/asn1-ut-objid-decode.cpp \
3018 common/asn1/asn1-ut-octetstring.cpp \
3019 common/asn1/asn1-ut-octetstring-decode.cpp \
3020 common/asn1/asn1-ut-string.cpp \
3021 common/asn1/asn1-ut-string-decode.cpp \
3022 common/asn1/asn1-ut-time.cpp \
3023 common/asn1/asn1-ut-time-decode.cpp \
3024 common/crypto/digest-core.cpp \
3025 common/crypto/digest-builtin.cpp \
3026 common/crypto/key.cpp \
3027 common/crypto/rsa-asn1-decoder.cpp \
3028 common/crypto/rsa-core.cpp \
3029 common/crypto/rsa-init.cpp \
3030 common/crypto/rsa-sanity.cpp \
3031 common/crypto/pkcs7-asn1-decoder.cpp \
3032 common/crypto/pkcs7-core.cpp \
3033 common/crypto/pkcs7-init.cpp \
3034 common/crypto/pkcs7-sanity.cpp \
3035 common/crypto/pkcs7-verify.cpp \
3036 common/crypto/pkix-signature-builtin.cpp \
3037 common/crypto/pkix-signature-core.cpp \
3038 common/crypto/pkix-signature-rsa.cpp \
3039 common/crypto/pkix-util.cpp \
3040 common/crypto/pkix-verify.cpp \
3041 common/crypto/spc-asn1-decoder.cpp \
3042 common/crypto/spc-core.cpp \
3043 common/crypto/spc-init.cpp \
3044 common/crypto/spc-sanity.cpp \
3045 common/crypto/x509-asn1-decoder.cpp \
3046 common/crypto/x509-certpaths.cpp \
3047 common/crypto/x509-core.cpp \
3048 common/crypto/x509-init.cpp \
3049 common/crypto/x509-sanity.cpp \
3050 common/crypto/x509-verify.cpp \
3051 common/crypto/store.cpp \
3052 common/crypto/store-inmem.cpp \
3053 common/crypto/taf-asn1-decoder.cpp \
3054 common/crypto/taf-core.cpp \
3055 common/crypto/taf-init.cpp \
3056 common/crypto/taf-sanity.cpp \
3057 common/crypto/tsp-asn1-decoder.cpp \
3058 common/crypto/tsp-core.cpp \
3059 common/crypto/tsp-init.cpp \
3060 common/crypto/tsp-sanity.cpp \
3061 common/checksum/alt-md2.cpp \
3062 common/checksum/alt-sha1.cpp \
3063 common/checksum/alt-sha256.cpp \
3064 common/checksum/alt-sha512.cpp \
3065 common/checksum/md2str.cpp \
3066 common/checksum/md4str.cpp \
3067 common/checksum/md5str.cpp \
3068 common/checksum/sha1str.cpp \
3069 common/checksum/sha224str.cpp \
3070 common/checksum/sha256str.cpp \
3071 common/checksum/sha384str.cpp \
3072 common/checksum/sha512str.cpp \
3073 common/checksum/sha512t224str.cpp \
3074 common/checksum/sha512t256str.cpp \
3075 common/err/errinfolog.cpp \
3076 common/math/bignum.cpp \
3077 common/misc/thread.cpp \
3078 common/string/base64.cpp \
3079 common/string/memchr.asm \
3080 common/string/strpbrk.cpp \
3081 common/string/RTStrPrintHexBytes.cpp \
3082 darwin/RTErrConvertFromDarwin.cpp \
3083 darwin/RTErrConvertFromDarwinIO.cpp \
3084 darwin/RTErrConvertFromDarwinKern.cpp \
3085 generic/RTAssertShouldPanic-generic.cpp \
3086 generic/RTFileReadAll-generic.cpp \
3087 generic/RTFileReadAllByHandle-generic.cpp \
3088 generic/RTFileReadAllByHandleEx-generic.cpp \
3089 generic/RTFileReadAllEx-generic.cpp \
3090 generic/RTFileReadAllFree-generic.cpp \
3091 generic/RTMpGetCoreCount-generic.cpp \
3092 generic/RTMpOnPair-generic.cpp \
3093 generic/RTTimerCreate-generic.cpp \
3094 generic/memsafer-generic.cpp \
3095 generic/mppresent-generic.cpp \
3096 generic/timer-generic.cpp \
3097 r0drv/generic/mpnotification-r0drv-generic.cpp \
3098 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
3099 r0drv/darwin/alloc-r0drv-darwin.cpp \
3100 r0drv/darwin/assert-r0drv-darwin.cpp \
3101 r0drv/darwin/initterm-r0drv-darwin.cpp \
3102 r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp \
3103 r0drv/darwin/fileio-r0drv-darwin.cpp \
3104 r0drv/darwin/memobj-r0drv-darwin.cpp \
3105 r0drv/darwin/mp-r0drv-darwin.cpp \
3106 r0drv/darwin/memuserkernel-r0drv-darwin.cpp \
3107 r0drv/darwin/process-r0drv-darwin.cpp \
3108 r0drv/darwin/RTLogWriteDebugger-r0drv-darwin.cpp \
3109 r0drv/darwin/RTLogWriteStdOut-r0drv-darwin.cpp \
3110 r0drv/darwin/rtStrFormatKernelAddress-r0drv-darwin.cpp \
3111 r0drv/darwin/semevent-r0drv-darwin.cpp \
3112 r0drv/darwin/semeventmulti-r0drv-darwin.cpp \
3113 r0drv/darwin/semfastmutex-r0drv-darwin.cpp \
3114 r0drv/darwin/semmutex-r0drv-darwin.cpp \
3115 r0drv/darwin/spinlock-r0drv-darwin.cpp \
3116 r0drv/darwin/thread-r0drv-darwin.cpp \
3117 r0drv/darwin/thread2-r0drv-darwin.cpp \
3118 r0drv/darwin/threadpreempt-r0drv-darwin.cpp \
3119 r0drv/darwin/time-r0drv-darwin.cpp \
3120 r0drv/alloc-ef-r0drv.cpp \
3121 r0drv/memobj-r0drv.cpp \
3122 r0drv/powernotification-r0drv.c
3123
3124RuntimeR0Drv_SOURCES.os2 = \
3125 common/path/RTPathFilenameUtf16.cpp \
3126 common/string/RTUtf16Chr.cpp \
3127 common/string/RTUtf16CmpAscii.cpp \
3128 common/string/memchr.asm \
3129 common/string/memcmp.asm \
3130 common/string/memcpy.asm \
3131 common/string/mempcpy.asm \
3132 common/string/memmove.asm \
3133 common/string/memset.asm \
3134 common/string/strchr.asm \
3135 common/string/strcmp.asm \
3136 common/string/strcpy.asm \
3137 common/string/strlen.asm \
3138 common/string/strncmp.cpp \
3139 common/string/strpbrk.cpp \
3140 common/misc/thread.cpp \
3141 generic/RTAssertShouldPanic-generic.cpp \
3142 generic/RTLogWriteDebugger-generic.cpp \
3143 generic/RTLogWriteStdOut-stub-generic.cpp \
3144 generic/RTMpCpuId-generic.cpp \
3145 generic/RTMpCpuIdFromSetIndex-generic.cpp \
3146 generic/RTMpCpuIdToSetIndex-generic.cpp \
3147 generic/RTMpIsCpuPossible-generic.cpp \
3148 generic/RTMpGetCount-generic.cpp \
3149 generic/RTMpGetMaxCpuId-generic.cpp \
3150 generic/RTMpGetOnlineCount-generic.cpp \
3151 generic/RTMpGetOnlineSet-generic.cpp \
3152 generic/RTMpGetSet-generic.cpp \
3153 generic/RTMpIsCpuOnline-generic.cpp \
3154 generic/RTTimerCreate-generic.cpp \
3155 generic/mppresent-generic.cpp \
3156 generic/rtStrFormatKernelAddress-generic.cpp \
3157 os2/RTErrConvertFromOS2.cpp \
3158 os2/rtSemWaitOs2ConvertTimeout.cpp \
3159 os2/sys0.asm \
3160 r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
3161 r0drv/generic/RTMpOn-r0drv-generic.cpp \
3162 r0drv/generic/mpnotification-r0drv-generic.cpp \
3163 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
3164 r0drv/memobj-r0drv.cpp \
3165 r0drv/powernotification-r0drv.c \
3166 r0drv/os2/alloc-r0drv-os2.cpp \
3167 r0drv/os2/assert-r0drv-os2.cpp \
3168 r0drv/os2/assertA-r0drv-os2.asm \
3169 r0drv/os2/initterm-r0drv-os2.cpp \
3170 r0drv/os2/memobj-r0drv-os2.cpp \
3171 r0drv/os2/memuserkernel-r0drv-os2.cpp \
3172 r0drv/os2/os2imports.imp \
3173 r0drv/os2/process-r0drv-os2.cpp \
3174 r0drv/os2/RTR0AssertPanicSystem-r0drv-os2.asm \
3175 r0drv/os2/RTR0Os2DHQueryDOSVar.asm \
3176 r0drv/os2/RTR0Os2DHVMGlobalToProcess.asm \
3177 r0drv/os2/semevent-r0drv-os2.cpp \
3178 r0drv/os2/semeventmulti-r0drv-os2.cpp \
3179 r0drv/os2/semfastmutex-r0drv-os2.cpp \
3180 r0drv/os2/spinlock-r0drv-os2.cpp \
3181 r0drv/os2/thread-r0drv-os2.cpp \
3182 r0drv/os2/thread2-r0drv-os2.cpp \
3183 r0drv/os2/time-r0drv-os2.cpp \
3184 r0drv/os2/timer-r0drv-os2.cpp \
3185 r0drv/os2/timerA-r0drv-os2.asm
3186ifndef VBOX_USE_WATCOM_FOR_OS2
3187 RuntimeR0Drv_SOURCES.os2 += \
3188 common/math/gcc/adddi3.c \
3189 common/math/gcc/anddi3.c \
3190 common/math/gcc/ashldi3.c \
3191 common/math/gcc/ashrdi3.c \
3192 common/math/gcc/cmpdi2.c \
3193 common/math/gcc/divdi3.c \
3194 common/math/gcc/iordi3.c \
3195 common/math/gcc/lshldi3.c \
3196 common/math/gcc/lshrdi3.c \
3197 common/math/gcc/moddi3.c \
3198 common/math/gcc/muldi3.c \
3199 common/math/gcc/negdi2.c \
3200 common/math/gcc/notdi2.c \
3201 common/math/gcc/qdivrem.c \
3202 common/math/gcc/subdi3.c \
3203 common/math/gcc/ucmpdi2.c \
3204 common/math/gcc/udivdi3.c \
3205 common/math/gcc/udivmoddi4.c \
3206 common/math/gcc/umoddi3.c \
3207 common/math/gcc/xordi3.c
3208else
3209 RuntimeR0Drv_SOURCES.os2 += \
3210 common/math/watcom/I8D-x86-32.asm \
3211 common/math/watcom/U8D-x86-32.asm \
3212 common/math/watcom/RTWatcomUInt64Div.c \
3213 common/math/watcom/U8LS-x86-32.asm \
3214 common/math/watcom/U8RS-x86-32.asm \
3215 common/math/watcom/U8M-I8M-x86-32.asm \
3216 common/string/watcom/bzero.asm \
3217 common/string/watcom/memchr.asm \
3218 common/string/watcom/memcmp.asm \
3219 common/string/watcom/memcpy.asm \
3220 common/string/watcom/memmove.asm \
3221 common/string/watcom/mempcpy.asm \
3222 common/string/watcom/memrchr.asm \
3223 common/string/watcom/memset.asm \
3224 common/string/watcom/strchr.asm \
3225 common/string/watcom/strcmp.asm \
3226 common/string/watcom/strcpy.asm \
3227 common/string/watcom/strlen.asm \
3228 common/string/watcom/strncmp.asm \
3229 common/string/watcom/strncpy.asm
3230endif
3231
3232RuntimeR0Drv_SOURCES.freebsd = \
3233 common/misc/thread.cpp \
3234 common/string/memchr.asm \
3235 common/string/memmove.asm \
3236 common/string/strpbrk.cpp \
3237 common/string/memcmp.asm \
3238 common/string/strchr.asm \
3239 generic/RTAssertShouldPanic-generic.cpp \
3240 generic/RTLogWriteDebugger-generic.cpp \
3241 generic/RTLogWriteStdOut-stub-generic.cpp \
3242 generic/RTMpOnPair-generic.cpp \
3243 generic/RTTimerCreate-generic.cpp \
3244 generic/mppresent-generic.cpp \
3245 generic/rtStrFormatKernelAddress-generic.cpp \
3246 r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
3247 r0drv/generic/mpnotification-r0drv-generic.cpp \
3248 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
3249 r0drv/freebsd/alloc-r0drv-freebsd.c \
3250 r0drv/freebsd/assert-r0drv-freebsd.c \
3251 r0drv/freebsd/initterm-r0drv-freebsd.c \
3252 r0drv/freebsd/memobj-r0drv-freebsd.c \
3253 r0drv/freebsd/memuserkernel-r0drv-freebsd.c \
3254 r0drv/freebsd/process-r0drv-freebsd.c \
3255 r0drv/freebsd/semevent-r0drv-freebsd.c \
3256 r0drv/freebsd/semeventmulti-r0drv-freebsd.c \
3257 r0drv/freebsd/semfastmutex-r0drv-freebsd.c \
3258 r0drv/freebsd/semmutex-r0drv-freebsd.c \
3259 r0drv/freebsd/spinlock-r0drv-freebsd.c \
3260 r0drv/freebsd/thread-r0drv-freebsd.c \
3261 r0drv/freebsd/thread2-r0drv-freebsd.c \
3262 r0drv/freebsd/time-r0drv-freebsd.c \
3263 r0drv/freebsd/mp-r0drv-freebsd.c \
3264 generic/timer-generic.cpp \
3265 r0drv/alloc-ef-r0drv.cpp \
3266 r0drv/memobj-r0drv.cpp \
3267 r0drv/powernotification-r0drv.c
3268
3269RuntimeR0Drv_SOURCES.netbsd = \
3270 common/misc/thread.cpp \
3271 common/string/strpbrk.cpp \
3272 generic/RTAssertShouldPanic-generic.cpp \
3273 generic/RTLogWriteDebugger-generic.cpp \
3274 generic/RTTimerCreate-generic.cpp \
3275 generic/mppresent-generic.cpp \
3276 generic/rtStrFormatKernelAddress-generic.cpp \
3277 r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
3278 r0drv/generic/mpnotification-r0drv-generic.cpp \
3279 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
3280 r0drv/netbsd/RTLogWriteStdOut-r0drv-netbsd.c \
3281 r0drv/netbsd/alloc-r0drv-netbsd.c \
3282 r0drv/netbsd/assert-r0drv-netbsd.c \
3283 r0drv/netbsd/initterm-r0drv-netbsd.c \
3284 r0drv/netbsd/memobj-r0drv-netbsd.c \
3285 r0drv/netbsd/memuserkernel-r0drv-netbsd.c \
3286 r0drv/netbsd/process-r0drv-netbsd.c \
3287 r0drv/netbsd/semevent-r0drv-netbsd.c \
3288 r0drv/netbsd/semeventmulti-r0drv-netbsd.c \
3289 r0drv/netbsd/semfastmutex-r0drv-netbsd.c \
3290 r0drv/netbsd/spinlock-r0drv-netbsd.c \
3291 r0drv/netbsd/thread-r0drv-netbsd.c \
3292 r0drv/netbsd/thread2-r0drv-netbsd.c \
3293 r0drv/netbsd/time-r0drv-netbsd.c \
3294 r0drv/netbsd/mp-r0drv-netbsd.c \
3295 generic/timer-generic.cpp \
3296 r0drv/memobj-r0drv.cpp \
3297 r0drv/powernotification-r0drv.c
3298
3299RuntimeR0Drv_SOURCES.solaris = \
3300 common/misc/thread.cpp \
3301 common/string/memchr.asm \
3302 generic/RTAssertShouldPanic-generic.cpp \
3303 generic/RTLogWriteStdOut-stub-generic.cpp \
3304 generic/RTMpGetCoreCount-generic.cpp \
3305 generic/RTTimerCreate-generic.cpp \
3306 generic/mppresent-generic.cpp \
3307 generic/rtStrFormatKernelAddress-generic.cpp \
3308 r0drv/memobj-r0drv.cpp \
3309 r0drv/mpnotification-r0drv.c \
3310 r0drv/powernotification-r0drv.c \
3311 r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c \
3312 r0drv/solaris/RTMpPokeCpu-r0drv-solaris.c \
3313 r0drv/solaris/alloc-r0drv-solaris.c \
3314 r0drv/solaris/assert-r0drv-solaris.c \
3315 r0drv/solaris/dbgkrnlinfo-r0drv-solaris.c \
3316 r0drv/solaris/initterm-r0drv-solaris.c \
3317 r0drv/solaris/memuserkernel-r0drv-solaris.c \
3318 r0drv/solaris/mpnotification-r0drv-solaris.c \
3319 r0drv/solaris/memobj-r0drv-solaris.c \
3320 r0drv/solaris/mp-r0drv-solaris.c \
3321 r0drv/solaris/process-r0drv-solaris.c \
3322 r0drv/solaris/semevent-r0drv-solaris.c \
3323 r0drv/solaris/semeventmulti-r0drv-solaris.c \
3324 r0drv/solaris/semfastmutex-r0drv-solaris.c \
3325 r0drv/solaris/semmutex-r0drv-solaris.c \
3326 r0drv/solaris/spinlock-r0drv-solaris.c \
3327 r0drv/solaris/thread-r0drv-solaris.c \
3328 r0drv/solaris/thread2-r0drv-solaris.c \
3329 r0drv/solaris/threadctxhooks-r0drv-solaris.c \
3330 r0drv/solaris/time-r0drv-solaris.c \
3331 r0drv/solaris/timer-r0drv-solaris.c
3332
3333RuntimeR0Drv_SOURCES.haiku = \
3334 common/misc/thread.cpp \
3335 common/string/memchr.asm \
3336 common/string/memmove.asm \
3337 common/string/strpbrk.cpp \
3338 common/string/memcmp.asm \
3339 common/string/strchr.asm \
3340 generic/RTAssertShouldPanic-generic.cpp \
3341 generic/RTMpOnPair-generic.cpp \
3342 generic/RTTimerCreate-generic.cpp \
3343 generic/mppresent-generic.cpp \
3344 generic/rtStrFormatKernelAddress-generic.cpp \
3345 r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
3346 r0drv/generic/mpnotification-r0drv-generic.cpp \
3347 r0drv/generic/threadctxhooks-r0drv-generic.cpp \
3348 r0drv/haiku/alloc-r0drv-haiku.c \
3349 r0drv/haiku/assert-r0drv-haiku.c \
3350 r0drv/haiku/initterm-r0drv-haiku.c \
3351 r0drv/haiku/memobj-r0drv-haiku.c \
3352 r0drv/haiku/mp-r0drv-haiku.c \
3353 r0drv/haiku/process-r0drv-haiku.c \
3354 r0drv/haiku/RTLogWriteDebugger-r0drv-haiku.c \
3355 r0drv/haiku/RTLogWriteStdOut-r0drv-haiku.c \
3356 r0drv/haiku/semevent-r0drv-haiku.c \
3357 r0drv/haiku/semeventmulti-r0drv-haiku.c \
3358 r0drv/haiku/semfastmutex-r0drv-haiku.c \
3359 r0drv/haiku/semmutex-r0drv-haiku.c \
3360 r0drv/haiku/spinlock-r0drv-haiku.c \
3361 r0drv/haiku/thread-r0drv-haiku.c \
3362 r0drv/haiku/thread2-r0drv-haiku.c \
3363 r0drv/haiku/time-r0drv-haiku.c \
3364 generic/timer-generic.cpp \
3365 r0drv/memobj-r0drv.cpp \
3366 r0drv/powernotification-r0drv.c
3367
3368## PORTME: Porters create and add their selection of platform specific Ring-0 Driver files here.
3369
3370RuntimeR0Drv_ORDERDEPS.freebsd = \
3371 $(PATH_STAGE)/gen-sys-hdrs/bus_if.h \
3372 $(PATH_STAGE)/gen-sys-hdrs/device_if.h
3373
3374
3375#
3376# RuntimeGuestR0 - Guest driver runtime.
3377# This is almost the same as the RuntimeR0Drv, the main difference
3378# is in the backdoor logging and the lack of sup.h (which should be
3379# made irrelevant even for RuntimeR0Drv).
3380#
3381RuntimeGuestR0_TEMPLATE := VBOXGUESTR0LIB
3382RuntimeGuestR0_EXTENDS = RuntimeR0Drv
3383RuntimeGuestR0_DEFS.win.x86 = $(RuntimeR0Drv_DEFS.win.x86) IPRT_TARGET_NT4 # The 32-bit version needs to work on NT4 too.
3384RuntimeGuestR0_SOURCES := $(filter-out generic/RTLogWriteUser-generic.cpp, $(RuntimeR0Drv_SOURCES))
3385RuntimeGuestR0_SOURCES += \
3386 VBox/logbackdoor.cpp
3387RuntimeGuestR0_SOURCES.win := \
3388 $(filter-out common/checksum/md% common/checksum/sha%, $(RuntimeR0Drv_SOURCES.win))
3389
3390
3391ifdef VBOX_WITH_RAW_MODE
3392 #
3393 # RuntimeRC - Raw-mode context library.
3394 #
3395 RuntimeRC_TEMPLATE = VBoxRc
3396 RuntimeRC_DEFS = IN_RT_RC RT_WITH_VBOX IN_SUP_RC IN_VMM_RC NOFILEID
3397 RuntimeRC_INCS = include
3398 RuntimeRC_SOURCES := \
3399 common/asm/ASMMemFirstMismatchingU8.asm \
3400 common/asm/ASMGetXcr0.asm \
3401 common/asm/ASMSetXcr0.asm \
3402 common/asm/ASMXSave.asm \
3403 common/asm/ASMXRstor.asm \
3404 common/asm/ASMFxSave.asm \
3405 common/asm/ASMFxRstor.asm \
3406 common/checksum/alt-md5.cpp \
3407 common/checksum/crc32.cpp \
3408 common/checksum/crc64.cpp \
3409 common/log/log.cpp \
3410 common/log/logellipsis.cpp \
3411 common/log/logrel.cpp \
3412 common/log/logrelellipsis.cpp \
3413 common/log/logcom.cpp \
3414 common/log/logformat.cpp \
3415 common/log/tracebuf.cpp \
3416 common/log/tracedefault.cpp \
3417 common/misc/RTAssertMsg1Weak.cpp \
3418 common/misc/RTAssertMsg2.cpp \
3419 common/misc/RTAssertMsg2Add.cpp \
3420 common/misc/RTAssertMsg2AddWeak.cpp \
3421 common/misc/RTAssertMsg2AddWeakV.cpp \
3422 common/misc/RTAssertMsg2Weak.cpp \
3423 common/misc/RTAssertMsg2WeakV.cpp \
3424 common/misc/assert.cpp \
3425 common/misc/buildconfig.cpp \
3426 common/misc/sanity-c.c \
3427 common/misc/sanity-cpp.cpp \
3428 common/path/RTPathFilename.cpp \
3429 common/string/strformat.cpp \
3430 common/string/strformatnum.cpp \
3431 common/string/strformatrt.cpp \
3432 common/string/strformattype.cpp \
3433 common/string/strncmp.cpp \
3434 common/string/strpbrk.cpp \
3435 common/string/strprintf.cpp \
3436 common/string/strprintf2.cpp \
3437 common/string/RTStrCmp.cpp \
3438 common/string/RTStrCopy.cpp \
3439 common/string/RTStrCopyEx.cpp \
3440 common/string/RTStrICmpAscii.cpp \
3441 common/table/avllu32.cpp \
3442 common/table/avlou32.cpp \
3443 common/table/avlogcphys.cpp \
3444 common/table/avlogcptr.cpp \
3445 common/table/avlohcphys.cpp \
3446 common/table/avloioport.cpp \
3447 common/table/avlrogcphys.cpp \
3448 common/table/avlrogcptr.cpp \
3449 common/table/avlroioport.cpp \
3450 common/table/avlroogcptr.cpp \
3451 common/table/avlu32.cpp \
3452 common/time/timeprog.cpp \
3453 common/time/timesup.cpp \
3454 gc/initterm-gc.cpp \
3455 generic/RTAssertShouldPanic-generic.cpp \
3456 generic/rtStrFormatKernelAddress-generic.cpp \
3457 generic/errvars-generic.cpp \
3458 \
3459 $(RuntimeNoCrt_SOURCES)
3460
3461 #if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
3462 # RuntimeRC_SOURCES += common/time/timesupA.asm
3463 #else
3464 RuntimeRC_SOURCES += common/time/timesupref.cpp
3465 #endif
3466
3467 RuntimeRC_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
3468
3469 ifeq ($(VBOX_LDR_FMT32),lx)
3470 RuntimeRC_SOURCES += os2/sys0.asm
3471 endif
3472
3473 if1of ($(KBUILD_TARGET), darwin solaris freebsd os2)
3474 RuntimeRC_SOURCES += \
3475 common/math/gcc/adddi3.c \
3476 common/math/gcc/anddi3.c \
3477 common/math/gcc/ashldi3.c \
3478 common/math/gcc/ashrdi3.c \
3479 common/math/gcc/cmpdi2.c \
3480 common/math/gcc/divdi3.c \
3481 common/math/gcc/iordi3.c \
3482 common/math/gcc/lshldi3.c \
3483 common/math/gcc/lshrdi3.c \
3484 common/math/gcc/moddi3.c \
3485 common/math/gcc/muldi3.c \
3486 common/math/gcc/negdi2.c \
3487 common/math/gcc/notdi2.c \
3488 common/math/gcc/qdivrem.c \
3489 common/math/gcc/subdi3.c \
3490 common/math/gcc/ucmpdi2.c \
3491 common/math/gcc/udivdi3.c \
3492 common/math/gcc/udivmoddi4.c \
3493 common/math/gcc/umoddi3.c \
3494 common/math/gcc/xordi3.c
3495 endif
3496
3497
3498 #
3499 # RuntimeRCStub - Raw-mode context startup stub for Windows.
3500 #
3501 RuntimeRCStub_TEMPLATE = VBoxRc
3502 RuntimeRCStub_SOURCES.win = \
3503 nt/NtProcessStartup-stub.cpp
3504
3505
3506endif # VBOX_WITH_RAW_MODE
3507
3508
3509#
3510# Static library for new & delete for the electric fence.
3511#
3512RuntimeEFCPP_TEMPLATE := $(VBoxRT_TEMPLATE)
3513RuntimeEFCPP_SDKS := $(RuntimeR3_SDKS)
3514RuntimeEFCPP_SDKS.$(KBUILD_TARGET) := $(RuntimeR3_SDKS.$(KBUILD_TARGET))
3515RuntimeEFCPP_DEFS := $(RuntimeR3_DEFS)
3516RuntimeEFCPP_DEFS.$(KBUILD_TARGET) := $(RuntimeR3_DEFS.$(KBUILD_TARGET))
3517RuntimeEFCPP_INCS := $(RuntimeR3_INCS)
3518RuntimeEFCPP_INCS.$(KBUILD_TARGET) := $(RuntimeR3_INCS.$(KBUILD_TARGET))
3519RuntimeEFCPP_SOURCES := r3/alloc-ef-cpp.cpp
3520
3521
3522
3523#
3524# The NTDLL mini import library.
3525#
3526# Note! The reason for doing this is to avoid importing CRT symbols from the
3527# NTDLL. We do not wish to do this because:
3528# - Our compiler is usually a different one and we should use the
3529# matching CRT,
3530# - Older versions of NTDLL may not sport all the exports our w2k3 or
3531# later WINDDK ntdll.lib have and thus we may easily end up with
3532# images that does not load on older windows versions.
3533#
3534if1of (win,$(KBUILD_TARGET) $(KBUILD_HOST))
3535RuntimeR3NtDll-amd64_TEMPLATE = VBoxR3Dll
3536RuntimeR3NtDll-amd64_BLD_TRG_ARCH = amd64
3537RuntimeR3NtDll-amd64_ARFLAGS = /NODEFAULTLIB /MACHINE:amd64
3538RuntimeR3NtDll-amd64_SOURCES = \
3539 r3/win/ntdll-mini-implib.def
3540
3541RuntimeR3NtDll-x86_TEMPLATE = VBoxR3Dll
3542RuntimeR3NtDll-x86_BLD_TRG_ARCH = x86
3543RuntimeR3NtDll-x86_ARFLAGS = /NODEFAULTLIB /MACHINE:x86
3544RuntimeR3NtDll-x86_SOURCES = \
3545 r3/win/ntdll-mini-implib.def \
3546 $(RuntimeR3NtDll-x86_0_OUTDIR)/ntdll-mini-implib.asm
3547RuntimeR3NtDll-x86_CLEAN = \
3548 $(RuntimeR3NtDll-x86_0_OUTDIR)/ntdll-mini-implib.asm
3549
3550$$(RuntimeR3NtDll-x86_0_OUTDIR)/ntdll-mini-implib.asm: $(PATH_SUB_CURRENT)/r3/win/ntdll-mini-implib.def | $$(dir $$@)
3551 $(call MSG_GENERATE,,$@,$<)
3552 $(QUIET)$(APPEND) -nt "$@" \
3553 ';Autogenerated, do not edit' \
3554 '%include "iprt/asmdefs.mac"' \
3555 'BEGINCODE' \
3556 '%macro IMPLIB_EXPORT 1' \
3557 'global %1:function' \
3558 '%1: nop' \
3559 '%endm' \
3560 ''
3561 $(QUIET)$(SED) -e '1,/EXPORTS/d' \
3562 -e 's/^.*;;=[[:space:]]*\([^[:space:]]*\)[[:space:]]*$$/IMPLIB_EXPORT \1/' \
3563 $< --append $@
3564endif
3565
3566#
3567# Bag of tricks required for making VCC100 output binaries work on NT4, W2K
3568# early XP and early W2K3. Used by validation kit.
3569#
3570RuntimeR3VccTricks_TEMPLATE = VBoxR3Static
3571RuntimeR3VccTricks_SOURCES = \
3572 r3/win/vcc100-kernel32-fakes.cpp \
3573 r3/win/vcc100-kernel32-fakesA.asm \
3574 r3/win/vcc100-shell32-fakes.cpp \
3575 r3/win/vcc100-shell32-fakesA.asm
3576
3577if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" # Ugly hacks... :-)
3578LIBRARIES += RuntimeR3VccTricks2
3579RuntimeR3VccTricks2_TEMPLATE = VBoxR3Dll
3580RuntimeR3VccTricks2_SOURCES = $(RuntimeR3VccTricks_SOURCES)
3581RuntimeR3VccTricks2_SOURCES += $(RuntimeR3VccTricks2_0_OUTDIR)/dynobjs.lib
3582RuntimeR3VccTricks2_CLEAN = $(RuntimeR3VccTricks2_0_OUTDIR)/dynobjs.lib
3583RuntimeR3VccTricks2_VBOX_LIBCMT_NEEDED =
3584
3585$$(RuntimeR3VccTricks2_0_OUTDIR)/dynobjs.lib: \
3586 $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/msvcrt$(VBOX_VCC_CRT_TYPE).lib \
3587 $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
3588 $$(LIB_RUNTIME) \
3589 $(MAKEFILE) | $$(dir $$@)
3590 $(RM) -f -- "$@"
3591# $(REDIRECT) -C $(dir $@) -- $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib \
3592# $(PATH_TOOL_$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
3593# $(foreach file, $(RuntimeR3VccTricks2_VBOX_LIBCMT_NEEDED), *$(file))
3594 $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib [email protected] $< \
3595 -MSVCR100.dll \
3596 $(addprefix $(RuntimeR3VccTricks2_0_OUTDIR)/, $(RuntimeR3VccTricks2_VBOX_LIBCMT_NEEDED)) \
3597 -chandler4gs.obj
3598 $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib -o=$@ \
3599 $(LIB_RUNTIME) \
3600 [email protected]
3601 $(RM) -f -- [email protected] $(addprefix $(RuntimeR3VccTricks2_0_OUTDIR)/, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED))
3602endif
3603
3604
3605#
3606# errmsg.cpp depends on a generated header.
3607#
3608common/err/errmsg.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgdata.h
3609common/err/errmsg.cpp_INCS = $(IPRT_OUT_DIR)
3610
3611win/errmsgwin.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgcomdata.h
3612win/errmsgwin.cpp_INCS = $(IPRT_OUT_DIR)
3613
3614# Our COM errors only for R3 libraries on the host
3615define def_errmsgwin_deps
3616 $(lib)_win/errmsgwin.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgvboxcomdata.h
3617 $(lib)_common/err/errmsgxpcom.cpp_INCS = $(IPRT_OUT_DIR)
3618 $(lib)_common/err/errmsgxpcom.cpp_DEPS = $(IPRT_OUT_DIR)/errmsgvboxcomdata.h
3619endef
3620$(foreach lib,RuntimeR3 RuntimeBldProg VBoxRT VBoxRT-x86,$(eval $(def_errmsgwin_deps)))
3621
3622
3623#
3624# Generate the status code data.
3625#
3626$(IPRT_OUT_DIR)/errmsgdata.h: \
3627 $(VBOX_PATH_RUNTIME_SRC)/common/err/errmsg.sed \
3628 $(PATH_ROOT)/include/iprt/err.h \
3629 $(PATH_ROOT)/include/VBox/err.h \
3630 | $$(dir $$@)
3631 $(call MSG_GENERATE,,$@,$(filter %.h,$^))
3632 $(QUIET)$(REDIRECT) -wo $@ -- $(SED) -f $< $(filter %.h,$^)
3633
3634## @todo r=bird: rename this to indicate that it's not only COM errors, but all win32/64 errors.
3635$(IPRT_OUT_DIR)/errmsgcomdata.h: \
3636 $(VBOX_PATH_RUNTIME_SRC)/common/err/errmsgcom.sed \
3637 $$(PATH_SDK_$(VBOX_WINPSDK)_INC)/WinError.h \
3638 | $$(dir $$@)
3639 $(call MSG_GENERATE,,$@,$(filter %.h,$^))
3640 $(QUIET)$(REDIRECT) -wo $@ -- $(SED) -f $< $(filter %.h,$^)
3641
3642$(IPRT_OUT_DIR)/errmsgvboxcomdata.h.ts +| $(IPRT_OUT_DIR)/errmsgvboxcomdata.h: \
3643 $(VBOX_PATH_RUNTIME_SRC)/VBox/errmsgvboxcom.xsl \
3644 $(VBOX_XIDL_FILE_SRC) \
3645 | $$(dir $$@)
3646 $(call MSG_GENERATE,,$@,$(filter %.xidl,$^))
3647 $(QUIET)$(VBOX_XSLTPROC) -o $(IPRT_OUT_DIR)/errmsgvboxcomdata.h.ts $< $(filter %.xidl,$^)
3648 $(QUIET)$(CP) --changed -fv $(IPRT_OUT_DIR)/errmsgvboxcomdata.h.ts $(IPRT_OUT_DIR)/errmsgvboxcomdata.h
3649
3650
3651if "$(KBUILD_TARGET)" == "freebsd"
3652#
3653# FreeBSDGeneratedKernelHeaders - Generate some kernel interface headers.
3654#
3655# These are used by:
3656# - The RTMp* API in IPRT.
3657# - VBoxGuest
3658#
3659# Note! We cannot give a output path to the awk program, it will always
3660# generate the header next to the source. So, we'll have to temporarily copy
3661# the source file to the destination directory to work.
3662#
3663VBOX_AWK := /usr/bin/awk
3664INSTALLS += FreeBSDGeneratedKernelHeaders
3665FreeBSDGeneratedKernelHeaders_INST = gen-sys-hdrs/
3666FreeBSDGeneratedKernelHeaders_SOURCES = \
3667 $(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/bus_if.h \
3668 $(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/device_if.h \
3669 $(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/pci_if.h
3670FreeBSDGeneratedKernelHeaders_CLEAN = $(FreeBSDGeneratedKernelHeaders_SOURCES)
3671
3672$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/bus_if.h: $(VBOX_FREEBSD_SRC)/kern/bus_if.m | $$(dir $$@)
3673 $(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
3674 $(QUIET)$(CP) -f $< $(@D)/bus_if.m
3675 $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/bus_if.m -h -p
3676 $(QUIET)$(RM) $(@D)/bus_if.m
3677
3678$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/device_if.h: $(VBOX_FREEBSD_SRC)/kern/device_if.m | $$(dir $$@)
3679 $(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
3680 $(QUIET)$(CP) -f $< $(@D)/device_if.m
3681 $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/device_if.m -h -p
3682 $(QUIET)$(RM) $(@D)/device_if.m
3683
3684$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/pci_if.h: $(VBOX_FREEBSD_SRC)/dev/pci/pci_if.m | $$(dir $$@)
3685 $(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
3686 $(QUIET)$(CP) -f $< $(@D)/pci_if.m
3687 $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/pci_if.m -h -p
3688 $(QUIET)$(RM) $(@D)/pci_if.m
3689endif # FreeBSD
3690
3691
3692#
3693# Aliases for .cpp.h files so we can more easily do syntax checking from the editor.
3694#
3695ldrELFRelocatable.cpp.o: ldrELF.o
3696ldrELFRelocatable.cpp.obj: ldrELF.obj
3697
3698
3699#
3700# Doxygen documentation.
3701#
3702IPRT_DOXYFILE_INPUT_DIRS = \
3703 $(PATH_ROOT)/include/iprt \
3704 $(PATH_ROOT)/include/iprt/cpp \
3705 $(PATH_ROOT)/include/iprt/linux \
3706 $(PATH_ROOT)/include/iprt/nocrt \
3707 $(PATH_ROOT)/include/iprt/nocrt/x86 \
3708 $(PATH_ROOT)/include/iprt/nocrt/amd64 \
3709 $(PATH_ROOT)/include/iprt/nocrt/compiler \
3710 $(VBOX_PATH_RUNTIME_SRC)/include/internal \
3711 $(VBOX_PATH_RUNTIME_SRC)/common/alloc \
3712 $(VBOX_PATH_RUNTIME_SRC)/common/asm \
3713 $(VBOX_PATH_RUNTIME_SRC)/common/checksum \
3714 $(VBOX_PATH_RUNTIME_SRC)/common/dbg \
3715 $(VBOX_PATH_RUNTIME_SRC)/common/err \
3716 $(VBOX_PATH_RUNTIME_SRC)/common/ldr \
3717 $(VBOX_PATH_RUNTIME_SRC)/common/log \
3718 $(VBOX_PATH_RUNTIME_SRC)/common/math \
3719 $(VBOX_PATH_RUNTIME_SRC)/common/math/amd64 \
3720 $(VBOX_PATH_RUNTIME_SRC)/common/math/gcc \
3721 $(VBOX_PATH_RUNTIME_SRC)/common/math/x86 \
3722 $(VBOX_PATH_RUNTIME_SRC)/common/misc \
3723 $(VBOX_PATH_RUNTIME_SRC)/common/path \
3724 $(VBOX_PATH_RUNTIME_SRC)/common/rand \
3725 $(VBOX_PATH_RUNTIME_SRC)/common/string \
3726 $(VBOX_PATH_RUNTIME_SRC)/common/table \
3727 $(VBOX_PATH_RUNTIME_SRC)/common/time \
3728 $(VBOX_PATH_RUNTIME_SRC)/VBox \
3729 $(foreach dir, $(VBOX_PATH_RUNTIME_SRC) $(VBOX_PATH_RUNTIME_SRC)/r3 $(VBOX_PATH_RUNTIME_SRC)/r0drv,\
3730 $(dir) \
3731 $(dir)/darwin \
3732 $(dir)/haiku \
3733 $(dir)/linux \
3734 $(dir)/nt \
3735 $(dir)/os2 \
3736 $(dir)/solaris \
3737 $(dir)/win \
3738 $(dir)/win32 \
3739 $(dir)/win64 \
3740 $(dir)/generic \
3741 )
3742
3743# These must come first in order to make things look nice.
3744IPRT_DOXYFILE_INPUT_FIRST =\
3745 $(PATH_ROOT)/include/iprt/cdefs.h \
3746 $(PATH_ROOT)/include/iprt/types.h \
3747 $(PATH_ROOT)/include/iprt/runtime.h \
3748 $(PATH_ROOT)/include/iprt/param.h \
3749 $(PATH_ROOT)/include/iprt/assert.h \
3750 $(PATH_ROOT)/include/iprt/asm.h \
3751
3752IPRT_DOXYFILE_INPUT := \
3753 $(filter-out %.cpp.h, $(sort $(wildcard $(addsuffix /*.h, $(IPRT_DOXYFILE_INPUT_DIRS)))) ) \
3754 $(foreach dir, $(IPRT_DOXYFILE_INPUT_DIRS), $(wildcard $(dir)/*.cpp $(dir)/.c $(dir)/.asm))
3755IPRT_DOXYFILE_INPUT := \
3756 $(IPRT_DOXYFILE_INPUT_FIRST) \
3757 $(sort $(filter-out $(IPRT_DOXYFILE_INPUT_FIRST), $(IPRT_DOXYFILE_INPUT)))
3758
3759
3760IPRT_DOXYFILE_OUTPUT = $(PATH_OUT)/docs/iprt
3761BLDDIRS += $(IPRT_DOXYFILE_OUTPUT)
3762
3763includedep $(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt.dep
3764
3765# Generate the Doxyfile
3766$(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt: \
3767 $(VBOX_PATH_RUNTIME_SRC)/Doxyfile \
3768 $(VBOX_PATH_RUNTIME_SRC)/Makefile.kmk \
3769 $(comp-vars IPRT_DOXYFILE_INPUT,DOXYGEN_IPRT_INPUT_PREV,FORCE) \
3770 $(comp-vars IPRT_DOXYFILE_OUTPUT,DOXYGEN_IPRT_OUTPUT_PREV,FORCE) \
3771 | $$(dir $$@)
3772 $(QUIET)$(RM) -f $@ [email protected] [email protected]
3773 $(QUIET)$(CP) -f $(VBOX_PATH_RUNTIME_SRC)/Doxyfile [email protected]
3774 $(QUIET)$(APPEND) [email protected]
3775 $(QUIET)$(APPEND) [email protected] "OUTPUT_DIRECTORY = $(IPRT_DOXYFILE_OUTPUT)"
3776 $(QUIET)$(APPEND) [email protected] "WARN_LOGFILE = $(IPRT_DOXYFILE_OUTPUT)/errors"
3777 $(QUIET)$(APPEND) [email protected] 'INCLUDE_PATH = ' \
3778 '$(PATH_ROOT)/include' \
3779 '$(VBOX_PATH_RUNTIME_SRC)/include' \
3780 '$(VBOX_PATH_RUNTIME_SRC)/' \
3781 '$(VBOX_PATH_RUNTIME_SRC)/common/table'
3782 $(QUIET)$(APPEND) [email protected] "INCLUDE_FILE_PATTERNS = *.cpp.h"
3783 $(QUIET)$(APPEND) [email protected] "PREDEFINED += $(ARCH_BITS_DEFS)"
3784 $(QUIET)$(APPEND) [email protected] 'EXCLUDE = '\
3785 '$(VBOX_PATH_RUNTIME_SRC)/common/string/unidata-flags.cpp' \
3786 '$(VBOX_PATH_RUNTIME_SRC)/common/string/unidata-lower.cpp' \
3787 '$(VBOX_PATH_RUNTIME_SRC)/common/string/unidata-upper.cpp' \
3788 $(QUIET)$(APPEND) [email protected]
3789 $(QUIET)$(APPEND) [email protected] 'INPUT = $(foreach x,$(IPRT_DOXYFILE_INPUT),\$(NLTAB)$(x))'
3790 $(QUIET)$(APPEND) [email protected]
3791 $(QUIET)$(MV) -f [email protected] $@
3792 $(QUIET)$(APPEND) [email protected] "DOXYGEN_IPRT_OUTPUT_PREV = $(IPRT_DOXYFILE_OUTPUT)"
3793 $(QUIET)$(APPEND) [email protected] "DOXYGEN_IPRT_INPUT_PREV = $(IPRT_DOXYFILE_INPUT)"
3794
3795# Do the actual job.
3796$(IPRT_DOXYFILE_OUTPUT)/docs.iprt: $(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt $$(IPRT_DOXYFILE_INPUT) \
3797 | $(IPRT_DOXYFILE_OUTPUT)/
3798 $(QUIET)$(RM) -f $@
3799 $(QUIET)$(RM) -Rf $(IPRT_DOXYFILE_OUTPUT)/html/
3800 doxygen $(DOXYGEN_OPTS) $(IPRT_DOXYFILE_OUTPUT)/Doxyfile.iprt
3801 $(SED) -e '/warning. Unexpected tag .dd. found/d' \
3802 -e '/warning. Unsupported xml.html tag .globalScope. found/d' \
3803 --output $(IPRT_DOXYFILE_OUTPUT)/errors2 \
3804 $(IPRT_DOXYFILE_OUTPUT)/errors
3805 $(CAT) $(IPRT_DOXYFILE_OUTPUT)/errors2
3806 $(SED) -e "/[^ ]/q 1" $(IPRT_DOXYFILE_OUTPUT)/errors2
3807 $(APPEND) $@
3808
3809# aliases
3810docs.iprt: $(IPRT_DOXYFILE_OUTPUT)/docs.iprt
3811if !defined(VBOX_ONLY_DOCS) && defined(VBOX_WITH_ALL_DOXYGEN_TARGETS)
3812docs: $(IPRT_DOXYFILE_OUTPUT)/docs.iprt
3813endif
3814
3815test-doxygen::
3816 @echo test-$(comp-vars IPRT_DOXYFILE_OUTPUT,DOXYGEN_IPRT_OUTPUT_PREV,FORCE)
3817 @echo $(IPRT_DOXYFILE_OUTPUT)
3818 @echo $(DOXYGEN_IPRT_OUTPUT_PREV)
3819 @echo $(IPRT_DOXYFILE_INPUT)
3820
3821
3822#
3823# Test mangling.
3824#
3825if1of ($(LIBRARIES),RuntimeR3 RuntimeR0 RuntimeR0Drv RuntimeRC)
3826 test-mangling:: $(IPRT_OUT_DIR)/mangling.run
3827 OTHERS += $(IPRT_OUT_DIR)/mangling.run
3828 CLEANS += $(IPRT_OUT_DIR)/mangling.run
3829 $(IPRT_OUT_DIR)/mangling.run: \
3830 $$(RuntimeR3_1_TARGET) \
3831 $$(RuntimeR0_1_TARGET) \
3832 $$(RuntimeR0Drv_1_TARGET) \
3833 $$(RuntimeRC_1_TARGET)
3834 if1of ($(KBUILD_TARGET), win os2)
3835 $(call MSG_L1,IPRT: skipped mangling test.)
3836 else
3837# Generate a SED script from mangling.h that checks for known symbols.
3838 $(QUIET)$(SED) \
3839 -e '/^# *define.*RT_MANGLER/!d' \
3840 -e 's/^.*RT_MANGLER(\([^)][^)]*\)).*$(DOLLAR)/\/^\1$(DOLLAR)\/b ok/' \
3841 $(PATH_ROOT)/include/iprt/mangling.h \
3842 --output "$@"
3843 $(QUIET)$(APPEND) -n '$@' \
3844 ':bad' \
3845 's/^\(.*\)$(DOLLAR)/error: Missing # define \1 /' \
3846 ':bad-pad' \
3847 '/^.\{0,70\}$(DOLLAR)/ { s/$(DOLLAR)/ /; bbad-pad; }' \
3848 's/define \([^ ]*\) \([ ]*\)$(DOLLAR)/define \1 \2RT_MANGLER(\1)/' \
3849 'p' \
3850 $(if-expr !defined(IPRT_IGNORE_TEST_MANGLING),'q 1') \
3851 '' \
3852 ':ok' \
3853 'd'
3854# Find the best way to generate a symbol list and subject it to mangling.h.
3855 if $(intersects $(KBUILD_TARGET), linux) && "$(VBOX_GCC_fvisibility-hidden)"
3856 $(call MSG_L1,IPRT: Testing mangling and visiblity for newer gcc...)
3857 $(QUIET)readelf -Ws $^ \
3858 | $(SED) \
3859 -e 's/[[:space:]]\+/ /g' \
3860 -e '/^ *[[:digit:]]\+:/!d' \
3861 -e 's/^ \+[[:digit:]]\+: \+[[:xdigit:]]\+ \+[[:digit:]]\+ \+//' \
3862 -e '/^SECTION/d' \
3863 -e '/^FILE/d' \
3864 -e 's/^[[:alpha:]]\+ \+//' \
3865 -e '/LOCAL/d' \
3866 -e 's/^[[:alpha:]]\+ \+//' \
3867 -e '/^HIDDEN [[:xdigit:]]\+ RT/bkeep-hidden' \
3868 -e '/^HIDDEN [[:xdigit:]]\+ g_[a-z0-9]*RT/bkeep-hidden' \
3869 -e '/^HIDDEN/d' \
3870 -e ':keep-hidden' \
3871 -e 's/^[[:alpha:]]\+ \+//' \
3872 -e '/^UND/d' \
3873 -e 's/^[[:digit:]]\+ \+//' \
3874 \
3875 -e '/^nocrt_/d' \
3876 -e '/^bzero/d' \
3877 -e '/^memchr/d' \
3878 -e '/^memcmp/d' \
3879 -e '/^memcpy/d' \
3880 -e '/^mempcpy/d' \
3881 -e '/^memmove/d' \
3882 -e '/^memset/d' \
3883 -e '/^strchr/d' \
3884 -e '/^strpbrk/d' \
3885 -e '/^_Z7strpbrk/d' \
3886 -e '/^strcmp/d' \
3887 -e '/^strcpy/d' \
3888 -e '/^strncpy/d' \
3889 -e '/^strlen/d' \
3890 -e '/^_Z[[:alpha:]]*[[:digit:]]\+RTC/d' \
3891 -e '/^_Z[[:alpha:]]*[[:digit:]]\+RTC/d' \
3892 \
3893 -e '/^_ZnwjPv/d' \
3894 -e '/^_ZnwmPv/d' \
3895 -e '/^_ZNSt9bad_allocC1Ev/d' \
3896 -e '/^_ZNSt9bad_allocC[12]ERKS_/d' \
3897 -e '/^_ZNSt9exceptionC2Ev/d' \
3898 -e '/^_ZNSt9exceptionC[12]ERKS_/d' \
3899 \
3900 -e '/^_ZN[a-zA-Z]*St[[:digit:]]*_*[lL]ist/d' \
3901 -e '/^_ZN[a-zA-Z]*[[:digit:]]*__gnu_cxx/d' \
3902 -e '/^_ZNSa.*ElementNode.*/d' \
3903 -e '/^_ZSt.*ElementNode.*/d' \
3904 \
3905 -e '/^_Z[[:digit:]]\+dbus/d' \
3906 -e '/^_Z13RTDBusLoadLibv/d' \
3907 \
3908 -e '/^g_[ac]VTG/d' \
3909 -e '/^g_VTGObjHeader/d' \
3910 -e '/^g_VTGProbeData/d' \
3911 -e '/^VTGProbeStub/d' \
3912 -e '/^g_achVTGStringTable/d' \
3913 -e '/^g_acVTGProbeEnabled/d' \
3914 \
3915 -e '/^VBoxHost_/d'\
3916 -e '/^VBoxGuest_/d'\
3917 | $(SED) -nf "$@"
3918 endif
3919 $(call MSG_L1,IPRT: Testing mangling using nm...)
3920 $(QUIET)$(VBOX_NM) $^ 2> /dev/null \
3921 | $(SED) -n \
3922 -e 's/^[0-9a-f][0-9a-f]* //' \
3923 -e '/^[TUDB] /!d' \
3924 -e 's/^. //' \
3925 $(if-expr "$(KBUILD_TARGET)" == "darwin" || "$(KBUILD_TARGET)" == "os2" || "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86", \
3926 -e 's/^_//',) \
3927 \
3928 -e '/^g_cchrt/d'\
3929 -e '/^g_frt/d'\
3930 -e '/^g_offrt/d'\
3931 -e '/^g_pfnrt/d'\
3932 -e '/^g_rt/d'\
3933 -e '/^g_szrt/d'\
3934 -e '/^g_ProcessSelf/d'\
3935 -e '/^g_u64ProgramStart/d'\
3936 -e '/^g_enmProcessPriority/d'\
3937 -e '/^g_hDbgModStrCache/d'\
3938 -e '/^g_pfnR0Darwin/d'\
3939 -e '/^g_pDarwinLockGroup/d'\
3940 $(if-expr "$(KBUILD_TARGET)" == "solaris", \
3941 -e '/^g_kLdrRdrFileOps/d' \
3942 -e '/^g_pSUPGlobalInfoPage/d' \
3943 -e '/^g_Logger/d' \
3944 -e '/^g_RelLogger/d' \
3945 -e '/^g_VM/d',) \
3946 $(if-expr "$(KBUILD_TARGET)" == "linux", \
3947 -e '/^g_kLdrRdrFileOps/d',) \
3948 \
3949 -e '/^g_[ac]VTG/d' \
3950 -e '/^g_VTGObjHeader/d' \
3951 -e '/^g_VTGProbeData/d' \
3952 -e '/^VTGProbeStub/d' \
3953 -e '/^g_achVTGStringTable/d' \
3954 -e '/^g_acVTGProbeEnabled/d' \
3955 \
3956 -e '/^RTDBusLoadLib/d' \
3957 \
3958 -e '/^RT/p' \
3959 -e '/^g_/p' \
3960 | $(SED) -nf "$@"
3961 endif
3962endif
3963 $(QUIET)$(APPEND) -t $@
3964
3965if !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_VALIDATIONKIT) && !defined(VBOX_ONLY_DOCS)
3966#
3967# Windows build tool.
3968#
3969BLDPROGS.win += ntBldSymDb
3970ntBldSymDb_TEMPLATE = VBoxAdvBldProg
3971ntBldSymDb_INCS = .
3972ntBldSymDb_SOURCES = r0drv/nt/ntBldSymDb.cpp
3973endif
3974
3975
3976#
3977# Generate the rules (we're the to sub-makefile).
3978#
3979include $(FILE_KBUILD_SUB_FOOTER)
3980
3981
3982#
3983# Aliases for code templates.
3984#
3985rsa-template.o rsa-template.obj: rsa-core.o rsa-asn1-decoder.o rsa-sanity.o rsa-init.o
3986spc-template.o spc-template.obj: spc-core.o spc-asn1-decoder.o spc-sanity.o spc-init.o
3987taf-template.o taf-template.obj: taf-core.o taf-asn1-decoder.o taf-sanity.o taf-init.o
3988tsp-template.o tsp-template.obj: tsp-core.o tsp-asn1-decoder.o tsp-sanity.o tsp-init.o
3989x509-template.o x509-template.obj: x509-core.o x509-asn1-decoder.o x509-sanity.o x509-init.o
3990pkcs7-template.o pkcs7-template.obj: pkcs7-core.o pkcs7-asn1-decoder.o pkcs7-sanity.o pkcs7-init.o
3991
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette