VirtualBox

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

Last change on this file since 96321 was 96321, checked in by vboxsync, 2 years ago

IPRT/nocrt: Implemented pow(). bugref:10261

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

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