VirtualBox

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

Last change on this file since 107044 was 106061, checked in by vboxsync, 2 months ago

Copyright year updates by scm.

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