VirtualBox

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

最後變更 在這個檔案從97948是 97948,由 vboxsync 提交於 2 年 前

IPRT/testcases: Added a first (minimal) testcase for the No-CRT vector implementation, to also detect further compilation issues [build fix; only do this for Windows for now].

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 31.9 KB
 
1# $Id: Makefile.kmk 97948 2023-01-03 09:11:04Z vboxsync $
2## @file
3# Sub-Makefile for the IPRT testcases.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.alldomusa.eu.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# The contents of this file may alternatively be used under the terms
26# of the Common Development and Distribution License Version 1.0
27# (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28# in the VirtualBox distribution, in which case the provisions of the
29# CDDL are applicable instead of those of the GPL.
30#
31# You may elect to license modified versions of this file under the
32# terms and conditions of either the GPL or the CDDL or both.
33#
34# SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35#
36
37SUB_DEPTH = ../../../..
38include $(KBUILD_PATH)/subheader.kmk
39
40ifdef VBOX_WITH_TESTCASES # The whole file
41
42#
43# Include the Validation Kit configuration to make use of build templates needed
44# for testcases to be included on the Validation Kit .ISO.
45#
46ifdef VBOX_WITH_VALIDATIONKIT_UNITTESTS_PACKING
47 ifndef VBOX_VALIDATIONKIT_CONFIG_KMK_INCLUDED
48 include $(PATH_ROOT)/src/VBox/ValidationKit/Config.kmk
49 endif
50endif
51
52
53#
54# Globals
55#
56# WARNING: Careful with this wrt to the other sub-makefiles this joins.
57#
58TEMPLATE = VBOXR3TSTEXE
59
60# Defined by the parent makefile as well (for errmsgdata.h).
61IPRT_OUT_DIR ?= $(PATH_TARGET)/Runtime
62
63
64#
65# Target lists
66#
67ifndef VBOX_ONLY_VALIDATIONKIT
68 PROGRAMS += \
69 tstRTAssertCompile \
70 tstRTAvl \
71 tstRTBase64 \
72 tstRTBitOperations \
73 tstRTBigNum \
74 tstRTCidr \
75 tstRTCritSect \
76 tstRTCritSectRw \
77 tstRTCrPkix-1 \
78 tstRTCrX509-1 \
79 tstRTCType \
80 tstRTDigest \
81 tstRTDigest-2 \
82 tstDir \
83 tstDir-2 \
84 tstDir-3 \
85 tstRTDvm \
86 tstRTEnv \
87 tstRTErr-1 \
88 tstFile \
89 tstRTFileAio \
90 tstRTFileAppend-1 \
91 tstRTFileQuerySize-1 \
92 tstRTFileModeStringToFlags \
93 tstFileLock \
94 tstRTFileOpenEx-1 \
95 tstFork \
96 tstRTFsQueries \
97 tstRTFilesystem \
98 tstRTExprEval\
99 tstRTGetOpt \
100 tstRTGetOptArgv \
101 tstHandleTable \
102 tstRTHeapOffset \
103 tstRTHeapSimple \
104 tstRTInlineAsm \
105 tstIprtList \
106 tstIprtMiniList \
107 tstIprtMiniString \
108 tstLdr \
109 tstLdrLoad \
110 tstRTLocalIpc \
111 tstRTLdrVerifyPeImage \
112 tstRTList \
113 tstRTLockValidator \
114 tstLog \
115 tstRTMath \
116 tstRTMemEf \
117 tstRTMemCache \
118 tstRTMemPool \
119 tstRTMemWipe \
120 tstRTMemSafer \
121 tstMove \
122 tstRTMp-1 \
123 tstRTNetIPv4 \
124 tstRTNetIPv6 \
125 tstOnce \
126 tstRTPath \
127 tstRTPathGlob \
128 tstRTPathQueryInfo \
129 tstRTPipe \
130 tstRTPoll \
131 tstRTPrfIO \
132 tstRTProcCreateEx \
133 tstRTProcCreatePrf \
134 tstRTProcQueryUsername \
135 tstPrfRT \
136 tstRand \
137 tstRTReqPool \
138 tstRTSemEvent \
139 tstRTSemEventMulti \
140 tstSemMutex \
141 tstSemPingPong \
142 tstRTSemRW \
143 tstRTSemXRoads \
144 tstRTSort \
145 tstRTStrAlloc \
146 tstRTStrCache \
147 tstRTStrCatCopy \
148 tstRTStrFormat \
149 tstRTStrSplit \
150 tstRTStrSimplePattern \
151 tstStrToNum \
152 tstRTStrVersion \
153 tstRTSymlink \
154 tstRTSystemQueryDmi \
155 tstRTSystemQueryFirmware \
156 tstRTSystemQueryOsInfo \
157 tstRTTcp-1 \
158 tstRTTemp \
159 tstRTDirCreateUniqueNumbered \
160 tstTermCallbacks \
161 tstThread-1 \
162 tstRTThreadPoke \
163 tstRTThreadExecutionTime \
164 tstRTTime \
165 tstTime-2 \
166 tstTime-3 \
167 tstTime-4 \
168 tstTimer \
169 tstRTTimerLR \
170 tstRTTimeSpec \
171 tstRTTls-1 \
172 tstRTTraceLog \
173 tstRTUdp-1 \
174 tstUtf8 \
175 tstRTUuid \
176 tstRTCircBuf \
177 tstRTManifest \
178 tstRTUri \
179 tstVector \
180 tstRTVfs \
181 tstRTZip \
182 tstRTJson \
183 tstRTShMem
184
185 PROGRAMS.win += \
186 tstRTCritSectW32 \
187 tstRTProcWait \
188 tstFileAppendWin-1 \
189 tstRTNtPath-1 \
190 ntGetTimerResolution \
191 tstRTDarwinMachKernel
192
193 PROGRAMS.linux += \
194 tstRTProcWait \
195 tstRTProcIsRunningByName \
196 tstRTBitOperationsPIC3 \
197 tstRTInlineAsmPIC \
198 tstRTInlineAsmPIC3
199 PROGRAMS.solaris += \
200 tstRTCoreDump
201 PROGRAMS.darwin += \
202 tstDarwinSched \
203 tstRTDarwinMachKernel
204 ifdef VBOX_WITH_LIBCURL
205 PROGRAMS += \
206 tstRTHttp-1 \
207 tstRTCRest-1 \
208 tstRTS3
209 endif
210
211 if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
212 PROGRAMS += \
213 tstNoCrt-1
214 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.amd64) ## Build and test x86 too!
215 PROGRAMS += tstRTNoCrt-2
216 endif
217 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64)
218 PROGRAMS += tstRTNoCrt-3 tstRTNoCrt-3r tstRTNoCrt-4
219 endif
220 endif
221
222 if defined(VBOX_WITH_R0_MODULES)
223 PROGRAMS += \
224 tstLdr-2 \
225 tstLdr-3 \
226 tstLdr-4 \
227 tstTSC
228 if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
229 PROGRAMS += \
230 tstRTR0MemUserKernelDriverHardened \
231 tstRTR0SemMutexDriverHardened \
232 tstRTR0TimerDriverHardened \
233 tstRTR0ThreadPreemptionDriverHardened \
234 tstRTR0ThreadDriverHardened
235 DLLS += \
236 tstRTR0MemUserKernelDriver \
237 tstRTR0SemMutexDriver \
238 tstRTR0TimerDriver \
239 tstRTR0ThreadPreemptionDriver \
240 tstRTR0ThreadDriver
241 else
242 PROGRAMS += \
243 tstRTR0MemUserKernelDriver \
244 tstRTR0SemMutexDriver \
245 tstRTR0TimerDriver \
246 tstRTR0ThreadPreemptionDriver \
247 tstRTR0ThreadDriver
248 endif
249 if1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS))
250 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
251 tstLdrObjR0
252 ifdef VBOX_WITH_RAW_MODE
253 SYSMODS += tstLdrObj
254 endif
255 endif
256 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += \
257 tstRTR0MemUserKernel \
258 tstRTR0SemMutex \
259 tstRTR0Timer \
260 tstRTR0ThreadPreemption \
261 tstRTR0Thread
262 if1of ($(KBUILD_TARGET), solaris darwin)
263 PROGRAMS += tstRTR0DbgKrnlInfoDriver
264 $(if-expr defined(VBOX_WITH_VBOXR0_AS_DLL),DLLS,SYSMODS) += tstRTR0DbgKrnlInfo
265 endif # VBOX_SUPPORTED_HOST_ARCHS only
266
267 endif
268 if1of ($(VBOX_LDR_FMT)), lx pe)
269 LIBRARIES += \
270 tstLdr-4Imp
271 endif
272
273endif # !VBOX_ONLY_VALIDATIONKIT
274
275
276#
277# Target configs in almost alphabetical order.
278#
279
280tstRTAssertCompile_TEMPLATE = VBOXR3TSTEXE
281tstRTAssertCompile_INSTTYPE = none
282tstRTAssertCompile_SOURCES = tstRTAssertCompile.cpp
283
284tstRTAvl_TEMPLATE = VBOXR3TSTEXE
285tstRTAvl_SOURCES = tstRTAvl.cpp
286
287tstRTBase64_TEMPLATE = VBOXR3TSTEXE
288tstRTBase64_SOURCES = tstRTBase64.cpp
289
290tstRTBigNum_TEMPLATE = VBOXR3TSTEXE
291tstRTBigNum_SOURCES = tstRTBigNum.cpp
292tstRTBigNum_SDKS = VBOX_OPENSSL2
293tstRTBigNum_CXXFLAGS.win = -bigobj
294
295tstRTBitOperations_TEMPLATE = VBOXR3TSTEXE
296tstRTBitOperations_SOURCES = tstRTBitOperations.cpp
297
298tstRTBitOperationsPIC3_TEMPLATE = VBOXR3TSTEXE
299tstRTBitOperationsPIC3_SOURCES = tstRTBitOperations.cpp
300tstRTBitOperationsPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
301tstRTBitOperationsPIC3_DEFS = PIC
302
303tstRTCidr_TEMPLATE = VBOXR3TSTEXE
304tstRTCidr_SOURCES = tstRTCidr.cpp
305
306tstRTCritSect_TEMPLATE = VBOXR3TSTEXE
307tstRTCritSect_SOURCES = tstRTCritSect.cpp
308
309tstRTCritSectRw_TEMPLATE = VBOXR3TSTEXE
310tstRTCritSectRw_SOURCES = tstRTCritSectRw.cpp
311
312tstRTCritSectW32_TEMPLATE = VBOXR3TSTEXE
313tstRTCritSectW32_SOURCES = tstRTCritSect.cpp
314tstRTCritSectW32_DEFS = TRY_WIN32_CRIT
315
316tstRTCrPkix-1_TEMPLATE = VBOXR3TSTEXE
317tstRTCrPkix-1_SOURCES = tstRTCrPkix-1.cpp
318
319tstRTCrX509-1_TEMPLATE = VBOXR3TSTEXE
320tstRTCrX509-1_SOURCES = tstRTCrX509-1.cpp
321tstRTCrX509-1_INCS = $(tstRTCrX509-1_0_OUTDIR)
322tstRTCrX509-1_CLEAN = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
323tstRTCrX509-1_INTERMEDIATES = $(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h
324tstRTCrX509-1_VBOX_FILES := \
325 Pem_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4.pem \
326 Pem_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5.pem \
327 Pem_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1.pem \
328 Pem_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224.pem \
329 Pem_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256.pem \
330 Pem_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384.pem \
331 Pem_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512.pem \
332 Pem_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.pem \
333 \
334 Der_md4=$(PATH_SUB_CURRENT)/tstRTCrX509-md4-cert.der \
335 Der_md5=$(PATH_SUB_CURRENT)/tstRTCrX509-md5-cert.der \
336 Der_sha1=$(PATH_SUB_CURRENT)/tstRTCrX509-sha1-cert.der \
337 Der_sha224=$(PATH_SUB_CURRENT)/tstRTCrX509-sha224-cert.der \
338 Der_sha256=$(PATH_SUB_CURRENT)/tstRTCrX509-sha256-cert.der \
339 Der_sha384=$(PATH_SUB_CURRENT)/tstRTCrX509-sha384-cert.der \
340 Der_sha512=$(PATH_SUB_CURRENT)/tstRTCrX509-sha512-cert.der \
341 Der_cert1=$(PATH_SUB_CURRENT)/tstRTCrX509-cert1.der \
342 $(NO_SUCH_VARIABLE)
343$$(tstRTCrX509-1_0_OUTDIR)/tstRTCrX509-1.h: \
344 $(foreach file,$(tstRTCrX509-1_VBOX_FILES),$(lastword $(subst =,$(SP) ,$(file)))) \
345 $(VBOX_BIN2C) \
346 | $$(dir $$@)
347 $(RM) -f -- "$@"
348 $(foreach file,$(tstRTCrX509-1_VBOX_FILES) \
349 , $(NLTAB)$(VBOX_BIN2C) -ascii --append \
350 "$(firstword $(subst =,$(SP) ,$(file)))" \
351 "$(lastword $(subst =,$(SP) ,$(file)))" \
352 "$@")
353
354
355tstRTCType_TEMPLATE = VBOXR3TSTEXE
356tstRTCType_SOURCES = tstRTCType.cpp
357
358ifdef VBOX_WITH_LIBCURL
359 tstRTCRest-1_TEMPLATE = VBOXR3TSTEXE
360 tstRTCRest-1_SOURCES = tstRTCRest-1.cpp
361endif
362
363tstRTDigest_TEMPLATE = VBOXR3TSTEXE
364tstRTDigest_SOURCES = tstRTDigest.cpp
365
366tstRTDigest-2_TEMPLATE = VBOXR3TSTEXE
367ifndef VBOX_WITH_ALT_HASH_CODE
368 tstRTDigest-2_DEFS = IPRT_WITHOUT_SHA512T224 IPRT_WITHOUT_SHA512T256
369endif
370tstRTDigest-2_SOURCES = tstRTDigest-2.cpp
371
372ifdef VBOX_WITH_LIBCURL
373tstRTHttp-1_TEMPLATE = VBOXR3TSTEXE
374tstRTHttp-1_SOURCES = tstRTHttp-1.cpp
375tstRTHttp-1_SDKS = VBOX_LIBCURL
376endif
377
378tstDir_TEMPLATE = VBOXR3TSTEXE
379tstDir_SOURCES = tstDir.cpp
380
381tstDir-2_TEMPLATE = VBOXR3TSTEXE
382tstDir-2_SOURCES = tstDir-2.cpp
383
384tstDir-3_TEMPLATE = VBOXR3TSTEXE
385tstDir-3_SOURCES = tstDir-3.cpp
386
387tstRTDvm_TEMPLATE = VBOXR3TSTEXE
388tstRTDvm_SOURCES = tstRTDvm.cpp
389
390tstRTEnv_TEMPLATE = VBOXR3TSTEXE
391tstRTEnv_SOURCES = tstRTEnv.cpp
392
393tstRTErr-1_TEMPLATE = VBOXR3TSTEXE
394tstRTErr-1_SOURCES = tstRTErr-1.cpp
395
396tstFile_TEMPLATE = VBOXR3TSTEXE
397tstFile_SOURCES = tstFile.cpp
398
399tstRTFileAio_SOURCES = VBOXR3TSTEXE
400tstRTFileAio_SOURCES = tstRTFileAio.cpp
401
402tstRTFileAppend-1_TEMPLATE = VBOXR3TSTEXE
403tstRTFileAppend-1_SOURCES = tstRTFileAppend-1.cpp
404
405tstRTFileQuerySize-1_TEMPLATE = VBOXR3TSTEXE
406tstRTFileQuerySize-1_SOURCES = tstRTFileQuerySize-1.cpp
407
408tstRTFileModeStringToFlags_TEMPLATE = VBOXR3TSTEXE
409tstRTFileModeStringToFlags_SOURCES = tstRTFileModeStringToFlags.cpp
410
411tstRTFileOpenEx-1_TEMPLATE = VBOXR3TSTEXE
412tstRTFileOpenEx-1_SOURCES = tstRTFileOpenEx-1.cpp
413
414tstFileAppendWin-1_TEMPLATE = VBOXR3TSTEXE
415tstFileAppendWin-1_SOURCES = tstFileAppendWin-1.cpp
416
417tstFileLock_TEMPLATE = VBOXR3TSTEXE
418tstFileLock_SOURCES = tstFileLock.cpp
419
420tstFork_TEMPLATE = VBOXR3TSTEXE
421tstFork_SOURCES = tstFork.cpp
422
423tstRTFsQueries_TEMPLATE = VBOXR3TSTEXE
424tstRTFsQueries_SOURCES = tstRTFsQueries.cpp
425
426tstRTFilesystem_TEMPLATE = VBOXR3TSTEXE
427tstRTFilesystem_SOURCES = tstRTFilesystem.cpp
428
429tstRTExprEval_TEMPLATE = VBOXR3TSTEXE
430tstRTExprEval_SOURCES = tstRTExprEval.cpp
431
432tstRTGetOpt_TEMPLATE = VBOXR3TSTEXE
433tstRTGetOpt_SOURCES = tstRTGetOpt.cpp
434
435tstRTGetOptArgv_TEMPLATE = VBOXR3TSTEXE
436tstRTGetOptArgv_SOURCES = tstRTGetOptArgv.cpp
437
438tstHandleTable_SOURCES = tstHandleTable.cpp
439
440tstRTHeapOffset_TEMPLATE = VBOXR3TSTEXE
441tstRTHeapOffset_SOURCES = tstRTHeapOffset.cpp
442
443tstRTHeapSimple_TEMPLATE = VBOXR3TSTEXE
444tstRTHeapSimple_SOURCES = tstRTHeapSimple.cpp
445
446tstRTInlineAsm_TEMPLATE = VBOXR3TSTEXE
447tstRTInlineAsm_SOURCES = tstRTInlineAsm.cpp
448
449tstRTInlineAsmPIC_TEMPLATE = VBOXR3TSTEXE
450tstRTInlineAsmPIC_SOURCES = tstRTInlineAsm.cpp
451tstRTInlineAsmPIC_CXXFLAGS = -fPIC
452tstRTInlineAsmPIC_DEFS = PIC
453
454tstRTInlineAsmPIC3_TEMPLATE = VBOXR3TSTEXE
455tstRTInlineAsmPIC3_SOURCES = tstRTInlineAsm.cpp
456tstRTInlineAsmPIC3_CXXFLAGS = -fPIC -fomit-frame-pointer -O3
457tstRTInlineAsmPIC3_DEFS = PIC
458
459tstIprtList_TEMPLATE = VBOXR3TSTEXE
460tstIprtList_SOURCES = tstIprtList.cpp
461
462tstIprtMiniList_TEMPLATE = VBOXR3TSTEXE
463tstIprtMiniList_SOURCES = tstIprtMiniList.cpp
464
465tstIprtMiniString_TEMPLATE = VBOXR3TSTEXE
466tstIprtMiniString_SOURCES = tstIprtMiniString.cpp
467
468tstLdr_TEMPLATE = VBOXR3TSTEXE
469tstLdr_SOURCES = tstLdr.cpp
470
471tstLdr-2_TEMPLATE = VBOXR3TSTEXE
472tstLdr-2_SOURCES = tstLdr-2.cpp
473tstLdr-2_DEFS = IN_DIS
474tstLdr-2_LIBS = \
475 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
476
477ifdef VBOX_WITH_RAW_MODE
478 tstLdrObj_TEMPLATE = VBoxRc
479 tstLdrObj_INST = $(INST_TESTCASE)
480 tstLdrObj_SYSSUFF = .gc
481 tstLdrObj_SOURCES = tstLdrObj.cpp
482 tstLdrObj_DEFS = IN_DIS IN_RT_RC DIS_CORE_ONLY
483 ifeq ($(VBOX_LDR_FMT32),elf)
484 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
485 endif
486 tstLdrObj_LIBS = \
487 $(PATH_STAGE_LIB)/DisasmRC$(VBOX_SUFF_LIB) \
488 $(PATH_STAGE_LIB)/RuntimeRC$(VBOX_SUFF_LIB)
489 if1of ($(VBOX_LDR_FMT32),lx pe)
490 tstLdrObj_LIBS += \
491 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
492 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
493 endif
494endif # VBOX_WITH_RAW_MODE
495
496tstLdr-3_TEMPLATE = VBOXR3TSTEXE
497tstLdr-3_SOURCES = tstLdr-3.cpp
498tstLdr-3_DEFS = IN_DIS
499tstLdr-3_LIBS = \
500 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
501
502tstLdr-4Imp_TEMPLATE = VBoxR0
503ifeq ($(VBOX_LDR_FMT),lx)
504 tstLdr-4Imp_SOURCES = tstLdr-4Imp-os2.def
505else ifeq ($(VBOX_LDR_FMT),pe)
506 tstLdr-4Imp_SOURCES.win = tstLdr-4Imp-win.def
507endif
508
509tstLdrObjR0_TEMPLATE = VBoxR0
510tstLdrObjR0_INST = $(INST_TESTCASE)
511tstLdrObjR0_SYSSUFF = .r0
512tstLdrObjR0_SOURCES = tstLdrObjR0.cpp tstLdrDisasmTest.cpp
513tstLdrObjR0_DEFS = IN_DIS IN_RT_R0 DIS_CORE_ONLY
514ifeq ($(VBOX_LDR_FMT32),elf)
515 tstLdrObjR0_DEFS += VBOX_SOME_IMPORT_FUNCTION
516endif
517ifn1of ($(KBUILD_TARGET), win)
518 tstLdrObjR0_CXXFLAGS = $(VBOX_GCC_Wno-array_bounds)
519endif
520tstLdrObjR0_LIBS = \
521 $(PATH_STAGE_LIB)/DisasmR0$(VBOX_SUFF_LIB) \
522 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
523 $(VBOX_LIB_SUPR0)
524if1of ($(VBOX_LDR_FMT),pe lx)
525 tstLdrObjR0_LIBS += \
526 $(TARGET_tstLdr-4Imp)
527endif
528
529tstLdr-4_TEMPLATE = VBOXR3TSTEXE
530tstLdr-4_SOURCES = tstLdr-4.cpp tstLdrDisasmTest.cpp
531tstLdr-4_DEFS = IN_DIS
532tstLdr-4_LIBS = \
533 $(PATH_STAGE_LIB)/DisasmR3$(VBOX_SUFF_LIB)
534
535tstLdrLoad_TEMPLATE = VBOXR3TSTEXE
536tstLdrLoad_SOURCES = tstLdrLoad.cpp
537
538tstRTLdrVerifyPeImage_TEMPLATE = VBOXR3TSTEXE
539tstRTLdrVerifyPeImage_SOURCES = tstRTLdrVerifyPeImage.cpp
540
541tstRTList_TEMPLATE = VBOXR3TSTEXE
542tstRTList_SOURCES = tstRTList.cpp
543
544tstRTLocalIpc_TEMPLATE = VBOXR3TSTEXE
545tstRTLocalIpc_SOURCES = tstRTLocalIpc.cpp
546
547tstRTLockValidator_TEMPLATE = VBOXR3TSTEXE
548tstRTLockValidator_SOURCES = tstRTLockValidator.cpp
549
550tstLog_TEMPLATE = VBOXR3TSTEXE
551tstLog_SOURCES = tstLog.cpp
552tstLog_INCS = $(tstLog_0_OUTDIR)
553tstLog_INTERMEDIATES = $(tstLog_0_OUTDIR)/tstLogGroups.h
554tstLog_CLEAN = $(tstLog_0_OUTDIR)/tstLogGroups.h
555$$(tstLog_0_OUTDIR)/tstLogGroups.h: $(PATH_ROOT)/include/VBox/log.h
556 $(call MSG_GENERATE,,$@,$<)
557 $(QUIET)$(RM) -f -- "$@"
558 $(QUIET)$(SED) -n -e 's/^ *LOG_GROUP_\([A-Z0-9_]*\),.*$(DOLLAR)/{ LOG_GROUP_\1, "\1" },/p' --output "$@" "$<"
559
560tstRTMemEf_TEMPLATE = VBOXR3TSTEXE
561tstRTMemEf_SOURCES = tstRTMemEf.cpp
562
563tstRTMemCache_TEMPLATE = VBOXR3TSTEXE
564tstRTMemCache_SOURCES = tstRTMemCache.cpp
565
566tstRTMemPool_TEMPLATE = VBOXR3TSTEXE
567tstRTMemPool_SOURCES = tstRTMemPool.cpp
568
569tstRTMemWipe_TEMPLATE = VBOXR3TSTEXE
570tstRTMemWipe_SOURCES = tstRTMemWipe.cpp
571
572tstRTMemSafer_TEMPLATE = VBOXR3TSTEXE
573tstRTMemSafer_SOURCES = tstRTMemSafer.cpp
574
575tstMove_TEMPLATE = VBOXR3TSTEXE
576tstMove_SOURCES = tstMove.cpp
577
578tstRTMp-1_TEMPLATE = VBOXR3TSTEXE
579tstRTMp-1_SOURCES = tstRTMp-1.cpp
580
581tstRTNetIPv4_TEMPLATE = VBOXR3TSTEXE
582tstRTNetIPv4_SOURCES = tstRTNetIPv4.cpp
583
584tstRTNetIPv6_TEMPLATE = VBOXR3TSTEXE
585tstRTNetIPv6_SOURCES = tstRTNetIPv6.cpp
586
587tstNoCrt-1_TEMPLATE = VBOXR3TSTEXE
588tstNoCrt-1_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
589tstNoCrt-1_SOURCES = \
590 tstNoCrt-1.cpp \
591 ../common/string/memcpy.asm \
592 ../common/string/mempcpy.asm \
593 ../common/string/memmove.asm \
594 ../common/string/memset.asm \
595 ../common/string/memchr.asm \
596 ../common/string/memcmp.asm \
597 ../common/string/strchr.asm \
598 ../common/string/strcmp.asm \
599 ../common/string/strcpy.asm \
600 ../common/string/strlen.asm \
601 ../common/string/wcslen.asm
602
603tstRTNoCrt-2_TEMPLATE = VBOXR3TSTEXE
604tstRTNoCrt-2_DEFS = RT_WITHOUT_NOCRT_WRAPPER_ALIASES
605tstRTNoCrt-2_INCS = ../include
606tstRTNoCrt-2_SDKS = VBOX_SOFTFLOAT
607tstRTNoCrt-2_SOURCES = \
608 tstRTNoCrt-2.cpp \
609 \
610 ../common/math/copysign.cpp \
611 ../common/math/copysignf.cpp \
612 ../common/math/copysignl.cpp \
613 ../common/math/fma.cpp \
614 ../common/math/fmaf.cpp \
615 ../common/math/fmax.cpp \
616 ../common/math/fmaxf.cpp \
617 ../common/math/fmaxl.cpp \
618 ../common/math/fmin.cpp \
619 ../common/math/fminf.cpp \
620 ../common/math/fminl.cpp \
621 ../common/math/isinf.cpp \
622 ../common/math/isnan.cpp \
623 ../common/math/isnanf.cpp \
624 ../common/math/llround.cpp \
625 ../common/math/llroundf.cpp \
626 ../common/math/lround.cpp \
627 ../common/math/lroundf.cpp \
628 ../common/math/nocrt-abs.cpp \
629 ../common/math/nocrt-labs.cpp \
630 ../common/math/nocrt-llabs.cpp \
631 ../common/math/round.cpp \
632 ../common/math/roundf.cpp \
633 ../common/math/frexp.cpp \
634 ../common/math/frexpf.cpp \
635 ../common/math/frexpl.cpp \
636 ../common/math/__fpclassifyd.cpp \
637 ../common/math/__fpclassifyf.cpp \
638 ../common/math/__fpclassifyl.cpp \
639 ../common/math/__isfinite.cpp \
640 ../common/math/__isfinitef.cpp \
641 ../common/math/__isfinitel.cpp \
642 ../common/math/__isinff.cpp \
643 ../common/math/__isinfl.cpp \
644 ../common/math/__isnanl.cpp \
645 ../common/math/__isnormal.cpp \
646 ../common/math/__isnormalf.cpp \
647 ../common/math/__isnormall.cpp \
648 ../common/math/__signbit.cpp \
649 ../common/math/__signbitf.cpp \
650 ../common/math/__signbitl.cpp
651
652if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
653tstRTNoCrt-2_SOURCES.x86 += \
654 ../common/math/rtNoCrtHasSse.asm
655tstRTNoCrt-2_SOURCES += \
656 ../common/math/atan.asm \
657 ../common/math/atan2.asm \
658 ../common/math/atan2f.asm \
659 ../common/math/atanf.asm \
660 ../common/math/ceil.asm \
661 ../common/math/ceilf.asm \
662 ../common/math/cos.asm \
663 ../common/math/cosf.asm \
664 ../common/math/cosl.asm \
665 ../common/math/exp.asm \
666 ../common/math/expf.asm \
667 ../common/math/exp2.asm \
668 ../common/math/exp2f.asm \
669 ../common/math/fabs.asm \
670 ../common/math/fabsf.asm \
671 ../common/math/fegetenv.asm \
672 ../common/math/fesetenv.asm \
673 ../common/math/feholdexcept.asm \
674 ../common/math/fegetround.asm \
675 ../common/math/fesetround.asm \
676 ../common/math/fegetx87precision.asm \
677 ../common/math/fesetx87precision.asm \
678 ../common/math/fegetexcept.asm \
679 ../common/math/feenableexcept.asm \
680 ../common/math/fedisableexcept.asm \
681 ../common/math/feclearexcept.asm \
682 ../common/math/fegetexceptflag.asm \
683 ../common/math/fesetexceptflag.asm \
684 ../common/math/fetestexcept.asm \
685 ../common/math/feraiseexcept.asm \
686 ../common/math/floor.asm \
687 ../common/math/floorf.asm \
688 ../common/math/fma-asm.asm \
689 ../common/math/fmaf-asm.asm \
690 ../common/math/ldexp.asm \
691 ../common/math/ldexpf.asm \
692 ../common/math/llrint.asm \
693 ../common/math/llrintf.asm \
694 ../common/math/log.asm \
695 ../common/math/logf.asm \
696 ../common/math/log2.asm \
697 ../common/math/log2f.asm \
698 ../common/math/lrint.asm \
699 ../common/math/lrintf.asm \
700 ../common/math/pow.asm \
701 ../common/math/powf.asm \
702 ../common/math/powcore.asm \
703 ../common/math/remainder.asm \
704 ../common/math/remainderf.asm \
705 ../common/math/rint.asm \
706 ../common/math/rintf.asm \
707 ../common/math/sin.asm \
708 ../common/math/sinf.asm \
709 ../common/math/sincore.asm \
710 ../common/math/sqrt.asm \
711 ../common/math/sqrtf.asm \
712 ../common/math/tan.asm \
713 ../common/math/tanf.asm \
714 ../common/math/trunc.asm \
715 ../common/math/truncf.asm
716endif
717
718#
719# For testing no-CRT exception handling we need to use the static build,
720# assuming ofc that VBOX_WITH_NOCRT_STATIC is in effect.
721#
722TEMPLATE_VBoxR3TstExeStatic := Testcase for the static (no-CRT) libraries.
723TEMPLATE_VBoxR3TstExeStatic_EXTENDS := VBoxR3Static
724TEMPLATE_VBoxR3TstExeStatic_INST = $(INST_TESTCASE)
725
726tstRTNoCrt-3_TEMPLATE := VBoxR3TstExeStatic
727tstRTNoCrt-3_SOURCES := tstRTNoCrt-3.cpp
728
729tstRTNoCrt-3r_TEMPLATE := VBOXR3TSTEXE
730tstRTNoCrt-3r_SOURCES := tstRTNoCrt-3.cpp
731
732tstRTNoCrt-4_TEMPLATE := VBOXR3TSTEXE
733tstRTNoCrt-4_SOURCES := tstRTNoCrt-4.cpp
734
735tstRTNtPath-1_TEMPLATE = VBOXR3TSTEXE
736tstRTNtPath-1_SOURCES = tstRTNtPath-1.cpp
737
738tstOnce_TEMPLATE = VBOXR3TSTEXE
739tstOnce_SOURCES = tstOnce.cpp
740
741tstRTPath_TEMPLATE = VBOXR3TSTEXE
742tstRTPath_SOURCES = tstRTPath.cpp
743
744tstRTPathFindCommon_TEMPLATE = VBOXR3TSTEXE
745tstRTPathFindCommon_SOURCES = tstRTPathFindCommon.cpp
746
747tstRTPathGlob_TEMPLATE = VBOXR3TSTEXE
748tstRTPathGlob_SOURCES = tstRTPathGlob.cpp
749
750tstRTPathQueryInfo_TEMPLATE = VBOXR3TSTEXE
751tstRTPathQueryInfo_SOURCES = tstRTPathQueryInfo.cpp
752
753tstRTPipe_TEMPLATE = VBOXR3TSTEXE
754tstRTPipe_SOURCES = tstRTPipe.cpp
755
756tstRTPoll_TEMPLATE = VBOXR3TSTEXE
757tstRTPoll_SOURCES = tstRTPoll.cpp
758
759tstPrfRT_TEMPLATE = VBOXR3TSTEXE
760tstPrfRT_SOURCES = tstPrfRT.cpp
761tstPrfRT_SOURCES.x86 = tstRTPrfA.asm
762tstPrfRT_SOURCES.amd64 = tstRTPrfA.asm
763
764tstRTPrfIO_TEMPLATE = VBOXR3TSTEXE
765tstRTPrfIO_SOURCES = tstRTPrfIO.cpp
766
767tstRTProcCreateEx_TEMPLATE = VBOXR3TSTEXE
768tstRTProcCreateEx_SOURCES = tstRTProcCreateEx.cpp
769
770tstRTProcCreatePrf_TEMPLATE = VBOXR3TSTEXE
771tstRTProcCreatePrf_SOURCES = tstRTProcCreatePrf.cpp
772
773tstRTProcQueryUsername_TEMPLATE = VBOXR3TSTEXE
774tstRTProcQueryUsername_SOURCES = tstRTProcQueryUsername.cpp
775
776tstRTProcWait_TEMPLATE = VBOXR3TSTEXE
777tstRTProcWait_SOURCES = tstRTProcWait.cpp
778
779tstRTProcIsRunningByName_TEMPLATE = VBOXR3TSTEXE
780tstRTProcIsRunningByName_SOURCES = tstRTProcIsRunningByName.cpp
781
782tstRand_TEMPLATE = VBOXR3TSTEXE
783tstRand_SOURCES = tstRand.cpp
784
785tstRTReqPool_TEMPLATE = VBOXR3TSTEXE
786tstRTReqPool_SOURCES = tstRTReqPool.cpp
787
788tstRTS3_TEMPLATE = VBOXR3TSTEXE
789tstRTS3_SOURCES = tstRTS3.cpp
790
791tstSemMutex_TEMPLATE = VBOXR3TSTEXE
792tstSemMutex_SOURCES = tstSemMutex.cpp
793
794tstRTSemEvent_TEMPLATE = VBOXR3TSTEXE
795tstRTSemEvent_SOURCES = tstRTSemEvent.cpp
796
797tstRTSemEventMulti_TEMPLATE = VBOXR3TSTEXE
798tstRTSemEventMulti_SOURCES = tstRTSemEventMulti.cpp
799
800tstRTSemRW_TEMPLATE = VBOXR3TSTEXE
801tstRTSemRW_SOURCES = tstRTSemRW.cpp
802
803tstSemPingPong_TEMPLATE = VBOXR3TSTEXE
804tstSemPingPong_SOURCES = tstSemPingPong.cpp
805
806tstRTSemXRoads_TEMPLATE = VBOXR3TSTEXE
807tstRTSemXRoads_SOURCES = tstRTSemXRoads.cpp
808
809tstRTSort_TEMPLATE = VBOXR3TSTEXE
810tstRTSort_SOURCES = tstRTSort.cpp
811
812tstRTStrAlloc_TEMPLATE = VBOXR3TSTEXE
813tstRTStrAlloc_SOURCES = tstRTStrAlloc.cpp
814
815tstRTStrCache_TEMPLATE = VBOXR3TSTEXE
816tstRTStrCache_SOURCES = tstRTStrCache.cpp
817
818tstRTStrCatCopy_TEMPLATE = VBOXR3TSTEXE
819tstRTStrCatCopy_SOURCES = tstRTStrCatCopy.cpp
820
821tstRTStrFormat_TEMPLATE = VBOXR3TSTEXE
822tstRTStrFormat_SOURCES = tstRTStrFormat.cpp
823
824tstRTStrSplit_TEMPLATE = VBOXR3TSTEXE
825tstRTStrSplit_SOURCES = tstRTStrSplit.cpp
826
827tstRTStrSimplePattern_TEMPLATE = VBOXR3TSTEXE
828tstRTStrSimplePattern_SOURCES = tstRTStrSimplePattern.cpp
829
830tstStrToNum_TEMPLATE = VBOXR3TSTEXE
831tstStrToNum_SOURCES = tstStrToNum.cpp
832
833tstRTStrVersion_TEMPLATE = VBOXR3TSTEXE
834tstRTStrVersion_SOURCES = tstRTStrVersion.cpp
835
836tstRTSymlink_TEMPLATE = VBOXR3TSTEXE
837tstRTSymlink_SOURCES = tstRTSymlink.cpp
838
839tstRTSystemQueryDmi_TEMPLATE = VBOXR3TSTEXE
840tstRTSystemQueryDmi_SOURCES = tstRTSystemQueryDmi.cpp
841
842tstRTSystemQueryFirmware_TEMPLATE = VBOXR3TSTEXE
843tstRTSystemQueryFirmware_SOURCES = tstRTSystemQueryFirmware.cpp
844
845tstRTSystemQueryOsInfo_TEMPLATE = VBOXR3TSTEXE
846tstRTSystemQueryOsInfo_SOURCES = tstRTSystemQueryOsInfo.cpp
847
848tstRTTcp-1_TEMPLATE = VBOXR3TSTEXE
849tstRTTcp-1_SOURCES = tstRTTcp-1.cpp
850
851tstRTTemp_TEMPLATE = VBOXR3TSTEXE
852tstRTTemp_SOURCES = tstRTTemp.cpp
853
854tstRTDirCreateUniqueNumbered_TEMPLATE = VBOXR3TSTEXE
855tstRTDirCreateUniqueNumbered_SOURCES = tstRTDirCreateUniqueNumbered.cpp
856
857tstTermCallbacks_TEMPLATE = VBOXR3TSTEXE
858tstTermCallbacks_SOURCES = tstTermCallbacks.cpp
859
860tstThread-1_TEMPLATE = VBOXR3TSTEXE
861tstThread-1_SOURCES = tstThread-1.cpp
862
863tstRTThreadPoke_TEMPLATE = VBOXR3TSTEXE
864tstRTThreadPoke_SOURCES = tstRTThreadPoke.cpp
865
866tstRTThreadExecutionTime_TEMPLATE = VBOXR3TSTEXE
867tstRTThreadExecutionTime_SOURCES = tstRTThreadExecutionTime.cpp
868
869tstRTTime_TEMPLATE = VBOXR3TSTEXE
870tstRTTime_SOURCES = tstRTTime.cpp
871
872tstRTTls-1_TEMPLATE = VBOXR3TSTEXE
873tstRTTls-1_SOURCES = tstRTTls-1.cpp
874
875tstRTTraceLog_TEMPLATE = VBOXR3TSTEXE
876tstRTTraceLog_SOURCES = tstRTTraceLog.cpp
877
878tstTime-2_TEMPLATE = VBOXR3TSTEXE
879tstTime-2_SOURCES = tstTime-2.cpp
880
881tstTime-3_TEMPLATE = VBOXR3TSTEXE
882tstTime-3_SOURCES = tstTime-3.cpp
883
884tstTime-4_TEMPLATE = VBOXR3TSTEXE
885tstTime-4_SOURCES = tstTime-4.cpp
886
887tstTimer_TEMPLATE = VBOXR3TSTEXE
888tstTimer_SOURCES = tstTimer.cpp
889
890tstRTTimerLR_TEMPLATE = VBOXR3TSTEXE
891tstRTTimerLR_SOURCES = tstRTTimerLR.cpp
892
893tstRTTimeSpec_TEMPLATE = VBOXR3TSTEXE
894tstRTTimeSpec_SOURCES = tstRTTimeSpec.cpp
895
896tstTSC_SOURCES = tstTSC.cpp
897tstTSC_CXXFLAGS.linux += -O3
898
899tstRTUuid_TEMPLATE = VBOXR3TSTEXE
900tstRTUuid_SOURCES = tstRTUuid.cpp
901
902tstRTUdp-1_TEMPLATE = VBOXR3TSTEXE
903tstRTUdp-1_SOURCES = tstRTUdp-1.cpp
904
905tstUtf8_TEMPLATE = VBOXR3TSTEXE
906tstUtf8_SOURCES = tstUtf8.cpp
907
908tstRTCircBuf_TEMPLATE = VBOXR3TSTEXE
909tstRTCircBuf_SOURCES = tstRTCircBuf.cpp
910
911tstRTManifest_TEMPLATE = VBOXR3TSTEXE
912tstRTManifest_SOURCES = tstRTManifest.cpp
913
914tstRTMath_TEMPLATE = VBOXR3TSTEXE
915tstRTMath_SOURCES = \
916 tstRTMath.cpp \
917 ../common/math/gcc/udivmoddi4.c
918
919tstRTUri_TEMPLATE = VBOXR3TSTEXE
920tstRTUri_SOURCES = tstRTUri.cpp
921
922tstRTVfs_TEMPLATE = VBOXR3TSTEXE
923tstRTVfs_SOURCES = tstRTVfs.cpp
924
925tstRTCoreDump_TEMPLACE = VBOXR3TSTEXE
926tstRTCoreDump_SOURCES = tstRTCoreDump.cpp
927
928tstVector_TEMPLATE = VBOXR3TSTEXE
929tstVector_SOURCES = tstVector.cpp
930
931
932tstRTZip_TEMPLATE = VBOXR3TSTEXE
933tstRTZip_SOURCES = tstRTZip.cpp
934
935tstRTJson_TEMPLATE = VBOXR3TSTEXE
936tstRTJson_SOURCES = tstRTJson.cpp
937
938tstRTShMem_TEMPLATE = VBOXR3TSTEXE
939tstRTShMem_SOURCES = tstRTShMem.cpp
940
941#
942# Ring-0 testcases.
943#
944
945## @todo create a template for compiling the ring-0 part.
946tstRTR0DbgKrnlInfo_TEMPLATE = VBoxR0
947tstRTR0DbgKrnlInfo_INST = $(INST_TESTCASE)
948tstRTR0DbgKrnlInfo_DEFS = IN_RT_R0
949tstRTR0DbgKrnlInfo_SYSSUFF = .r0
950tstRTR0DbgKrnlInfo_SOURCES = tstRTR0DbgKrnlInfo.cpp
951tstRTR0DbgKrnlInfo_LIBS = \
952 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
953 $(VBOX_LIB_SUPR0)
954if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
955 tstRTR0DbgKrnlInfoDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
956 tstRTR0DbgKrnlInfoDriverHardened_NAME = tstRTR0DbgKrnlInfoDriver
957 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
958 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0DbgKrnlInfoDriver"
959 else
960 tstRTR0DbgKrnlInfoDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0DbgKrnlInfoDriver\"
961 endif
962 tstRTR0DbgKrnlInfoDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
963 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBoxR3HardenedTstDll
964else
965 tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
966endif
967tstRTR0DbgKrnlInfoDriver_TEMPLATE = VBOXR3TSTEXE
968tstRTR0DbgKrnlInfoDriver_SOURCES = tstRTR0DbgKrnlInfoDriver.cpp
969
970
971tstRTR0MemUserKernel_TEMPLATE = VBoxR0
972tstRTR0MemUserKernel_INST = $(INST_TESTCASE)
973tstRTR0MemUserKernel_DEFS = IN_RT_R0
974tstRTR0MemUserKernel_SYSSUFF = .r0
975tstRTR0MemUserKernel_SOURCES = tstRTR0MemUserKernel.cpp
976tstRTR0MemUserKernel_LIBS = \
977 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
978 $(VBOX_LIB_SUPR0)
979if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
980 tstRTR0MemUserKernelDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
981 tstRTR0MemUserKernelDriverHardened_NAME = tstRTR0MemUserKernelDriver
982 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
983 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0MemUserKernelDriver"
984 else
985 tstRTR0MemUserKernelDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0MemUserKernelDriver\"
986 endif
987 tstRTR0MemUserKernelDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
988 tstRTR0MemUserKernelDriver_TEMPLATE = VBoxR3HardenedTstDll
989else
990 tstRTR0MemUserKernelDriver_TEMPLATE = VBOXR3TSTEXE
991endif
992tstRTR0MemUserKernelDriver_SOURCES = tstRTR0MemUserKernelDriver.cpp
993
994
995tstRTR0SemMutex_TEMPLATE = VBoxR0
996tstRTR0SemMutex_INST = $(INST_TESTCASE)
997tstRTR0SemMutex_DEFS = IN_RT_R0
998tstRTR0SemMutex_SYSSUFF = .r0
999tstRTR0SemMutex_SOURCES = tstRTR0SemMutex.cpp
1000tstRTR0SemMutex_LIBS = \
1001 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1002 $(VBOX_LIB_SUPR0)
1003if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1004 tstRTR0SemMutexDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1005 tstRTR0SemMutexDriverHardened_NAME = tstRTR0SemMutexDriver
1006 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1007 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0SemMutexDriver"
1008 else
1009 tstRTR0SemMutexDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0SemMutexDriver\"
1010 endif
1011 tstRTR0SemMutexDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1012 tstRTR0SemMutexDriver_TEMPLATE = VBoxR3HardenedTstDll
1013else
1014 tstRTR0SemMutexDriver_TEMPLATE = VBOXR3TSTEXE
1015endif
1016tstRTR0SemMutexDriver_SOURCES = tstRTR0SemMutexDriver.cpp
1017
1018
1019tstRTR0Thread_TEMPLATE = VBoxR0
1020tstRTR0Thread_INST = $(INST_TESTCASE)
1021tstRTR0Thread_DEFS = IN_RT_R0
1022tstRTR0Thread_SYSSUFF = .r0
1023tstRTR0Thread_SOURCES = tstRTR0Thread.cpp
1024tstRTR0Thread_LIBS = \
1025 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1026 $(VBOX_LIB_SUPR0)
1027if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1028 tstRTR0ThreadDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1029 tstRTR0ThreadDriverHardened_NAME = tstRTR0ThreadDriver
1030 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1031 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadDriver"
1032 else
1033 tstRTR0ThreadDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadDriver\"
1034 endif
1035 tstRTR0ThreadDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1036 tstRTR0ThreadDriver_TEMPLATE = VBoxR3HardenedTstDll
1037else
1038 tstRTR0ThreadDriver_TEMPLATE = VBOXR3TSTEXE
1039endif
1040tstRTR0ThreadDriver_SOURCES = tstRTR0ThreadDriver.cpp
1041
1042
1043tstRTR0Timer_TEMPLATE = VBoxR0
1044tstRTR0Timer_INST = $(INST_TESTCASE)
1045tstRTR0Timer_DEFS = IN_RT_R0
1046tstRTR0Timer_SYSSUFF = .r0
1047tstRTR0Timer_SOURCES = tstRTR0Timer.cpp
1048tstRTR0Timer_LIBS = \
1049 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1050 $(VBOX_LIB_SUPR0)
1051if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1052 tstRTR0TimerDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1053 tstRTR0TimerDriverHardened_NAME = tstRTR0TimerDriver
1054 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1055 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0TimerDriver"
1056 else
1057 tstRTR0TimerDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0TimerDriver\"
1058 endif
1059 tstRTR0TimerDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1060 tstRTR0TimerDriver_TEMPLATE = VBoxR3HardenedTstDll
1061else
1062 tstRTR0TimerDriver_TEMPLATE = VBOXR3TSTEXE
1063endif
1064tstRTR0TimerDriver_SOURCES = tstRTR0TimerDriver.cpp
1065
1066
1067tstRTR0ThreadPreemption_TEMPLATE = VBoxR0
1068tstRTR0ThreadPreemption_INST = $(INST_TESTCASE)
1069tstRTR0ThreadPreemption_DEFS = IN_RT_R0
1070tstRTR0ThreadPreemption_SYSSUFF = .r0
1071tstRTR0ThreadPreemption_SOURCES = tstRTR0ThreadPreemption.cpp
1072tstRTR0ThreadPreemption_LIBS = \
1073 $(PATH_STAGE_LIB)/RuntimeR0$(VBOX_SUFF_LIB) \
1074 $(VBOX_LIB_SUPR0)
1075if defined(VBOX_WITH_HARDENING) && "$(KBUILD_TARGET)" == "win"
1076 tstRTR0ThreadPreemptionDriverHardened_TEMPLATE = VBoxR3HardenedTstExe
1077 tstRTR0ThreadPreemptionDriverHardened_NAME = tstRTR0ThreadPreemptionDriver
1078 ifdef VBOX_WITH_AUTOMATIC_DEFS_QUOTING
1079 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR="tstRTR0ThreadPreemptionDriver"
1080 else
1081 tstRTR0ThreadPreemptionDriverHardened_DEFS = PROGRAM_NAME_STR=\"tstRTR0ThreadPreemptionDriver\"
1082 endif
1083 tstRTR0ThreadPreemptionDriverHardened_SOURCES = ../../HostDrivers/Support/SUPR3HardenedMainTemplateTestcase.cpp
1084 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBoxR3HardenedTstDll
1085else
1086 tstRTR0ThreadPreemptionDriver_TEMPLATE = VBOXR3TSTEXE
1087endif
1088tstRTR0ThreadPreemptionDriver_SOURCES = tstRTR0ThreadPreemptionDriver.cpp
1089
1090
1091#
1092# Odds and ends.
1093#
1094
1095tstDarwinSched_TEMPLATE = VBOXR3TSTEXE
1096tstDarwinSched_SOURCES = tstDarwinSched.cpp
1097
1098tstRTDarwinMachKernel_TEMPLATE = VBOXR3TSTEXE
1099tstRTDarwinMachKernel_INCS = ../include
1100tstRTDarwinMachKernel_SOURCES = \
1101 tstRTDarwinMachKernel.cpp \
1102 ../r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp
1103
1104ntGetTimerResolution_SOURCES = ntGetTimerResolution.cpp
1105ntGetTimerResolution_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL
1106
1107
1108#
1109# ValKit versions of selected tests.
1110#
1111ifdef VBOX_WITH_VALIDATIONKIT_UNITTESTS_PACKING
1112 define def_valkit_unittest_iprt
1113 PROGRAMS += $(unittest)-ValKit
1114 $(unittest)-ValKit_TEMPLATE := VBoxValidationKitR3TstExe
1115 $(unittest)-ValKit_EXTENDS := $(unittest)
1116 $(unittest)-ValKit_NAME := $(unittest)
1117 endef
1118 $(foreach unittest, $(VALKIT_UNITTESTS_WHITELIST_IPRT) $($(VALKIT_UNITTESTS_WHITELIST_IPRT).$(KBUILD_TARGET)) \
1119 ,$(evalcall2 def_valkit_unittest_iprt))
1120endif
1121
1122endif # VBOX_WITH_TESTCASES
1123
1124include $(FILE_KBUILD_SUB_FOOTER)
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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