36
36
# Only build the additions, sort out the legacy names first.
38
LIBRARIES += RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Shared RuntimeGuestR3Mini
39
#LIBRARIES.os2 = RuntimeGuestR0OS2Warp3
38
LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared RuntimeGuestR3Mini
39
ifdef VBOX_WITH_ADDITION_DRIVERS
40
LIBRARIES += RuntimeGuestR0
42
#LIBRARIES.os2 += RuntimeGuestR0OS2Warp3
40
43
LIBRARIES.win.x86 += RuntimeGuestR0NT4
41
ifndef VBOX_WITH_ADDITION_DRIVERS
42
if1of ($(KBUILD_TARGET), linux l4) # All drivers are optional, can skip RuntimeGuestR0.
43
LIBRARIES := $(filter-out RuntimeGuestR0, $(LIBRARIES))
47
45
else ifdef VBOX_ONLY_DOCS
67
62
LIBRARIES += RuntimeR0Drv
69
64
ifdef VBOX_WITH_ADDITIONS
70
LIBRARIES += RuntimeGuestR0 RuntimeGuestR3 RuntimeGuestR3Shared RuntimeGuestR3Mini
65
LIBRARIES += RuntimeGuestR3 RuntimeGuestR3Shared RuntimeGuestR3Mini
66
ifdef VBOX_WITH_ADDITION_DRIVERS
67
LIBRARIES += RuntimeGuestR0
71
69
#LIBRARIES.os2 += RuntimeGuestR0OS2Warp3
72
70
LIBRARIES.win.x86 += RuntimeGuestR0NT4
73
ifndef VBOX_WITH_ADDITION_DRIVERS
74
if1of ($(KBUILD_TARGET), linux l4) # All drivers are optional, can skip RuntimeGuestR0.
75
LIBRARIES := $(filter-out RuntimeGuestR0, $(LIBRARIES))
78
71
endif # VBOX_WITH_ADDITIONS
79
72
LIBRARIES.l4 += RuntimeR3L4 RuntimeLnxHostR3
95
# Set the defines that buildconfig.cpp needs. Its used by several targets.
97
common/misc/buildconfig.cpp_DEFS = \
98
IPRT_BLDCFG_SCM_REV=$(VBOX_SVN_REV) \
99
IPRT_BLDCFG_VERSION_STRING=\"$(VBOX_VERSION_STRING)\" \
100
IPRT_BLDCFG_VERSION_MAJOR=$(VBOX_VERSION_MAJOR) \
101
IPRT_BLDCFG_VERSION_MINOR=$(VBOX_VERSION_MINOR) \
102
IPRT_BLDCFG_VERSION_BUILD=$(VBOX_VERSION_BUILD)
102
105
# Unicode Specification reader used to regenerate unidata.cpp.
104
107
uniread_TEMPLATE = VBOXBLDPROG
173
177
ifdef VBOX_MAIN_RELEASE_LOG ## @todo (dmik): temporary, until RTThreadSelf/RTThreadAdopt are properly updated
174
178
RuntimeR3_DEFS += RTCRITSECT_STRICT
181
RuntimeR3_DEFS += RTZIP_USE_LZJB
184
RuntimeR3_DEFS += RTZIP_USE_LZO
176
186
ifdef IPRT_WITH_FUTEX_BASED_SEMS
177
187
RuntimeR3_DEFS.linux += IPRT_WITH_FUTEX_BASED_SEMS
179
189
RuntimeR3_INCS = \
181
191
$(SDK_VBOX_ZLIB_INCS)
182
ifdef VBOX_WITH_NEW_LIBLZF
183
192
RuntimeR3_INCS += \
184
193
$(PATH_ROOT)/src/libs/liblzf-3.4
187
$(PATH_ROOT)/src/libs/liblzf-1.51
189
194
ifdef IPRT_WITH_KSTUFF
190
195
RuntimeR3_INCS += \
191
196
$(PATH_ROOT)/src/libs/kStuff/kStuff/include
199
204
RuntimeR3_SOURCES = \
200
205
common/alloc/alloc.cpp \
201
206
common/alloc/heapsimple.cpp \
202
common/checksum/crc32.cpp \
207
common/alloc/heapoffset.cpp \
208
common/checksum/adler32.cpp \
209
common/checksum/crc32-zlib.cpp \
203
210
common/checksum/crc64.cpp \
204
211
common/checksum/md5.cpp \
212
common/checksum/md5str.cpp \
205
213
common/checksum/ipv4.cpp \
206
214
common/dbg/dbg.cpp \
207
215
common/dbg/dbgas.cpp \
238
248
common/misc/thread.cpp \
239
249
common/misc/zip.cpp \
240
250
common/misc/term.cpp \
251
common/misc/tar.cpp \
252
common/path/rtPathVolumeSpecLen.cpp \
253
common/path/RTPathAbsDup.cpp \
254
common/path/RTPathAbsEx.cpp \
255
common/path/RTPathAbsExDup.cpp \
256
common/path/RTPathAppend.cpp \
257
common/path/RTPathExt.cpp \
258
common/path/RTPathFilename.cpp \
259
common/path/RTPathHaveExt.cpp \
260
common/path/RTPathHavePath.cpp \
261
common/path/RTPathParse.cpp \
262
common/path/RTPathRealDup.cpp \
263
common/path/RTPathStripExt.cpp \
264
common/path/RTPathStripFilename.cpp \
265
common/path/RTPathStripTrailingSlash.cpp \
266
common/path/RTPathTraverseList.cpp \
267
common/path/comparepaths.cpp \
241
268
common/rand/rand.cpp \
242
269
common/rand/randadv.cpp \
243
270
common/rand/randparkmiller.cpp \
271
common/string/RTStrConvertHexBytes.cpp \
244
272
common/string/RTStrNLen.cpp \
245
273
common/string/RTStrNLenEx.cpp \
274
common/string/RTStrPrintHexBytes.cpp \
246
275
common/string/base64.cpp \
247
276
common/string/simplepattern.cpp \
248
277
common/string/straprintf.cpp \
254
283
common/string/strspace.cpp \
255
284
common/string/strstrip.cpp \
256
285
common/string/strtonum.cpp \
286
common/string/strversion.cpp \
257
287
common/string/uni.cpp \
258
288
common/string/unidata.cpp \
259
289
common/string/utf-16.cpp \
260
290
common/string/utf-8.cpp \
291
common/string/ministring.cpp \
261
292
common/table/avlgcptr.cpp \
262
293
common/table/avlhcphys.cpp \
263
294
common/table/avllu32.cpp \
284
316
generic/env-generic.cpp \
285
317
generic/RTDirCreateTemp-generic.cpp \
286
318
generic/RTFileCopy-generic.cpp \
319
generic/RTFileQuerySize-generic.cpp \
287
320
generic/RTFileReadAll-generic.cpp \
288
321
generic/RTFileReadAllEx-generic.cpp \
289
322
generic/RTFileReadAllByHandle-generic.cpp \
292
325
generic/RTLogWriteStdErr-generic.cpp \
293
326
generic/RTLogWriteStdOut-generic.cpp \
294
327
generic/RTLogWriteUser-generic.cpp \
328
generic/RTMpGetDescription-generic.cpp \
295
329
generic/RTTimerLRCreate-generic.cpp \
296
330
generic/mempool-generic.cpp \
297
331
generic/semfastmutex-generic.cpp \
336
375
RuntimeR3_SOURCES += \
337
376
common/err/errmsgxpcom.cpp
378
if1of ($(KBUILD_TARGET),freebsd linux netbsd openbsd solaris)
379
RuntimeR3_SOURCES += \
380
$(if $(VBOX_WITH_DBUS),VBox/dbus.cpp,)
340
383
RuntimeR3_SOURCES.win = \
384
generic/RTDirExists-generic.cpp \
341
385
generic/RTDirQueryInfo-generic.cpp \
342
386
generic/RTDirSetTimes-generic.cpp \
387
generic/RTFileExists-generic.cpp \
343
388
generic/RTMpGetCurFrequency-generic.cpp \
344
389
generic/RTMpGetMaxFrequency-generic.cpp \
345
390
generic/RTRandAdvCreateSystemFaster-generic.cpp \
605
655
r3/posix/utf8-posix.cpp \
606
656
r3/solaris/alloc-solaris.cpp \
607
657
r3/solaris/mp-solaris.cpp \
608
r3/solaris/rtProcInitExePath-solaris.cpp
610
ifdef RT_ASYNC_IO_CODE
611
RuntimeR3_SOURCES.linux += \
612
r3/linux/fileaio-linux.cpp
613
RuntimeR3_SOURCES.solaris += \
614
r3/solaris/fileaio-solaris.cpp
615
RuntimeR3_SOURCES.win += \
616
r3/win/fileaio-win.cpp
617
RuntimeR3_SOURCES.freebsd += \
618
r3/freebsd/fileaio-freebsd.cpp
619
RuntimeR3_SOURCES.darwin += \
620
r3/posix/fileaio-posix.cpp
658
r3/solaris/rtProcInitExePath-solaris.cpp \
623
660
## PORTME: Porters add their selection of platform specific files for Ring-3 here.
730
768
common/err/RTErrConvertFromErrno.cpp \
731
769
common/log/logformat.cpp \
732
770
common/misc/assert.cpp \
771
common/misc/buildconfig.cpp \
733
772
common/misc/sanity-c.c \
734
773
common/misc/sanity-cpp.cpp \
774
common/path/rtPathVolumeSpecLen.cpp \
775
common/path/RTPathAbsDup.cpp \
776
common/path/RTPathAbsEx.cpp \
777
common/path/RTPathAbsExDup.cpp \
778
common/path/RTPathAppend.cpp \
779
common/path/RTPathExt.cpp \
780
common/path/RTPathFilename.cpp \
781
common/path/RTPathHaveExt.cpp \
782
common/path/RTPathHavePath.cpp \
783
common/path/RTPathParse.cpp \
784
common/path/RTPathRealDup.cpp \
785
common/path/RTPathStripExt.cpp \
786
common/path/RTPathStripFilename.cpp \
787
common/path/RTPathStripTrailingSlash.cpp \
788
common/string/RTStrNLen.cpp \
789
common/string/RTStrNLenEx.cpp \
735
790
common/string/straprintf.cpp \
736
791
common/string/strformat.cpp \
737
792
common/string/strformatrt.cpp \
797
851
# VBoxRT - Shared Object / DLL version.
799
853
VBoxRT_TEMPLATE = VBOXR3
800
ifdef VBOX_WITH_LIBXML2_IN_VBOXRT
801
VBoxRT_SDKS = VBOX_OPENSSL VBOX_LIBXML2 VBOX_LIBCURL
854
VBoxRT_SDKS = VBOX_OPENSSL VBOX_LIBXML2 VBOX_LIBCURL VBOX_BOOST
803
855
VBoxRT_SDKS.win = WINPSDK W2K3DDK VBOX_NTDLL
804
856
ifeq ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING),darwin)
805
857
VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE)
809
861
VBoxRT_SOURCES = \
810
862
VBox/VBoxRTDeps.cpp \
811
863
$(RuntimeR3_SOURCES)
812
if defined(VBOX_WITH_LIBXML2_IN_VBOXRT)
813
864
VBoxRT_SOURCES += \
867
common/checksum/RTSha1Digest.cpp \
868
common/checksum/manifest.cpp \
869
common/checksum/sha1.cpp \
870
common/checksum/sha1str.cpp \
871
common/checksum/sha256.cpp \
872
common/checksum/sha256str.cpp \
873
common/checksum/sha512.cpp \
874
common/checksum/sha512str.cpp
816
875
VBoxRT_SOURCES.$(KBUILD_TARGET) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET))
817
876
VBoxRT_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
818
877
VBoxRT_SOURCES.$(KBUILD_TARGET_ARCH) = $(RuntimeR3_SOURCES.$(KBUILD_TARGET_ARCH))
819
VBoxRT_SOURCES.win += r3/win/dllmain-win.cpp $(VBoxRT_0_OUTDIR)/VBoxRT.def
878
VBoxRT_SOURCES.win += \
879
r3/win/dllmain-win.cpp \
880
r3/win/fileaio-win.cpp \
881
$(VBoxRT_0_OUTDIR)/VBoxRT.def
882
VBoxRT_SOURCES.linux += \
883
r3/linux/fileaio-linux.cpp
884
VBoxRT_SOURCES.solaris += \
885
r3/solaris/fileaio-solaris.cpp
886
VBoxRT_SOURCES.darwin += \
887
r3/posix/fileaio-posix.cpp
888
VBoxRT_SOURCES.freebsd += \
889
r3/freebsd/fileaio-freebsd.cpp
820
890
VBoxRT_INCS = $(RuntimeR3_INCS)
821
891
VBoxRT_INCS.$(KBUILD_TARGET) = $(RuntimeR3_INCS.$(KBUILD_TARGET))
822
892
VBoxRT_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) = $(RuntimeR3_INCS.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH))
829
899
$(PATH_LIB)/VBox-kStuff$(VBOX_SUFF_LIB)
831
ifdef VBOX_WITH_LIBXML2_IN_VBOXRT
832
ifndef SDK_VBOX_LIBXML2_LIBS
901
ifndef SDK_VBOX_LIBXML2_LIBS
834
903
$(PATH_LIB)/VBox-libxml2$(VBOX_SUFF_LIB)
836
ifndef SDK_VBOX_OPENSSL_LIBS
905
ifndef SDK_VBOX_OPENSSL_LIBS
838
907
$(PATH_LIB)/VBox-libcrypto$(VBOX_SUFF_LIB)
841
912
VBoxRT_LIBS.darwin = \
861
932
VBoxRT_LIBS.l4 = \
862
933
$(PATH_LIB)/RuntimeR3L4$(VBOX_SUFF_LIB)
864
ifdef VBOX_WITH_LIBXML2_IN_VBOXRT
865
VBox/VBoxRTDeps.cpp_DEFS = VBOX_WITH_LIBXML2_IN_VBOXRT
868
935
if1of ($(DLLS), VBoxRT)
869
936
$$(VBoxRT_0_OUTDIR)/VBoxRT.def: \
870
937
$(PATH_SUB_CURRENT)/r3/win/VBoxRT-$$(if-expr $$(KBUILD_TARGET_ARCH) == amd64,win64,win32).def \
871
$(if-expr defined(VBOX_WITH_LIBXML2_IN_VBOXRT),$(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def),)
938
$(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def)
873
940
$(REDIRECT) -wto $@ -- $(CAT_EXT) $^
1005
1073
common/table/avlgcptr.cpp \
1006
1074
common/table/avlhcphys.cpp \
1007
1075
common/table/avllu32.cpp \
1008
common/table/avlou32.cpp \
1009
1076
common/table/avlogcphys.cpp \
1010
1077
common/table/avlogcptr.cpp \
1011
1078
common/table/avlohcphys.cpp \
1016
1083
common/table/avlroioport.cpp \
1017
1084
common/table/avlroogcptr.cpp \
1018
1085
common/table/avlu32.cpp \
1086
common/table/avlou32.cpp \
1019
1087
common/time/timesup.cpp \
1020
1088
generic/RTAssertShouldPanic-generic.cpp \
1021
1089
VBox/strformat-vbox.cpp \
1067
1135
RuntimeR0Drv_TEMPLATE = VBOXR0DRV
1068
1136
RuntimeR0Drv_SDKS.win = W2K3DDK WINPSDKINCS
1137
RuntimeR0Drv_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS RT_NO_EXPORT_SYMBOL
1138
RuntimeR0Drv_DEFS.win = IN_SUP_R0
1139
RuntimeR0Drv_DEFS.linux = MODULE KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) IN_SUP_R0
1069
1141
RuntimeR0Drv_INCS := $(PATH_SUB_CURRENT) include
1070
RuntimeR0Drv_DEFS = IN_RT_R0 RT_WITH_VBOX RT_WITHOUT_NOCRT_WRAPPERS
1071
RuntimeR0Drv_DEFS.win = IN_SUP_R0
1072
RuntimeR0Drv_DEFS.linux = MODULE KBUILD_MODNAME=KBUILD_STR\(vboxdrv\) KBUILD_BASENAME=KBUILD_STR\(vboxdrv\) IN_SUP_R0 # why is IN_SUP_R0 here? because!
1142
RuntimeR0Drv_INCS.freebsd = \
1143
$(PATH_INS)/gen-sys-hdrs
1074
1144
RuntimeR0Drv_INCS.linux = \
1076
ifdef VBOX_WITH_SOLARIS_VBI
1077
RuntimeR0Drv_INCS.solaris = \
1078
r0drv/solaris/vbi/i86pc
1146
RuntimeR0Drv_INCS.solaris = \
1147
r0drv/solaris/vbi/i86pc \
1148
r0drv/solaris/vbi/i86pc/sys
1081
1150
RuntimeR0Drv_SOURCES = \
1082
1151
common/alloc/alloc.cpp \
1083
1152
common/alloc/heapsimple.cpp \
1153
common/alloc/heapoffset.cpp \
1084
1154
common/misc/RTAssertMsg2.cpp \
1085
1155
common/checksum/crc32.cpp \
1086
1156
common/checksum/crc64.cpp \
1100
1171
common/misc/sanity-c.c \
1101
1172
common/misc/sanity-cpp.cpp \
1102
1173
common/misc/term.cpp \
1174
common/path/rtPathVolumeSpecLen.cpp \
1175
common/path/RTPathAbsDup.cpp \
1176
common/path/RTPathAbsEx.cpp \
1177
common/path/RTPathAbsExDup.cpp \
1178
common/path/RTPathAppend.cpp \
1179
common/path/RTPathExt.cpp \
1180
common/path/RTPathFilename.cpp \
1181
common/path/RTPathHaveExt.cpp \
1182
common/path/RTPathHavePath.cpp \
1183
common/path/RTPathParse.cpp \
1184
common/path/RTPathRealDup.cpp \
1185
common/path/RTPathStripExt.cpp \
1186
common/path/RTPathStripFilename.cpp \
1187
common/path/RTPathStripTrailingSlash.cpp \
1103
1188
common/rand/rand.cpp \
1104
1189
common/rand/randadv.cpp \
1105
1190
common/rand/randparkmiller.cpp \
1141
1227
r0drv/linux/assert-r0drv-linux.c \
1142
1228
r0drv/linux/initterm-r0drv-linux.c \
1143
1229
r0drv/linux/memobj-r0drv-linux.c \
1230
r0drv/linux/memuserkernel-r0drv-linux.c \
1144
1231
r0drv/linux/mp-r0drv-linux.c \
1145
1232
r0drv/linux/mpnotification-r0drv-linux.c \
1146
1233
r0drv/linux/process-r0drv-linux.c \
1179
1266
r0drv/nt/assert-r0drv-nt.cpp \
1180
1267
r0drv/nt/initterm-r0drv-nt.cpp \
1181
1268
r0drv/nt/memobj-r0drv-nt.cpp \
1269
r0drv/nt/memuserkernel-r0drv-nt.cpp \
1182
1270
r0drv/nt/mp-r0drv-nt.cpp \
1183
1271
r0drv/nt/mpnotification-r0drv-nt.cpp \
1184
1272
r0drv/nt/process-r0drv-nt.cpp \
1216
1304
r0drv/darwin/initterm-r0drv-darwin.cpp \
1217
1305
r0drv/darwin/memobj-r0drv-darwin.cpp \
1218
1306
r0drv/darwin/mp-r0drv-darwin.cpp \
1307
r0drv/darwin/memuserkernel-r0drv-darwin.cpp \
1219
1308
r0drv/darwin/process-r0drv-darwin.cpp \
1220
1309
r0drv/darwin/RTLogWriteDebugger-r0drv-darwin.cpp \
1221
1310
r0drv/darwin/RTLogWriteStdOut-r0drv-darwin.cpp \
1271
1360
r0drv/os2/assertA-r0drv-os2.asm \
1272
1361
r0drv/os2/initterm-r0drv-os2.cpp \
1273
1362
r0drv/os2/memobj-r0drv-os2.cpp \
1363
r0drv/os2/memuserkernel-r0drv-os2.cpp \
1274
1364
r0drv/os2/os2imports.imp \
1275
1365
r0drv/os2/process-r0drv-os2.cpp \
1276
1366
r0drv/os2/RTR0AssertPanicSystem-r0drv-os2.asm \
1306
1396
r0drv/freebsd/assert-r0drv-freebsd.c \
1307
1397
r0drv/freebsd/initterm-r0drv-freebsd.c \
1308
1398
r0drv/freebsd/memobj-r0drv-freebsd.c \
1399
r0drv/freebsd/memuserkernel-r0drv-freebsd.c \
1309
1400
r0drv/freebsd/process-r0drv-freebsd.c \
1310
1401
r0drv/freebsd/semevent-r0drv-freebsd.c \
1311
1402
r0drv/freebsd/semeventmulti-r0drv-freebsd.c \
1318
1409
generic/timer-generic.cpp \
1319
1410
r0drv/memobj-r0drv.cpp \
1320
1411
r0drv/powernotification-r0drv.c
1321
RuntimeR0Drv_DEPS.freebsd = \
1322
$(PATH_RuntimeR0Drv)/bus_if.h \
1323
$(PATH_RuntimeR0Drv)/device_if.h
1324
RuntimeR0Drv_CLEAN.freebsd = $(RuntimeR0Drv_DEPS.freebsd)
1325
RuntimeR0Drv_INCS.freebsd += $(PATH_RuntimeR0Drv)
1327
ifeq ($(KBUILD_TARGET),freebsd)
1329
# FreeBSD: Generate bus and device interface headers.
1330
# We have to include headers for the RTMp* API which
1331
# depends on these files.
1333
# We cannot give a output path to the awk program, it will always generate
1334
# the header next to the source. So, we'll have to temporarily copy the
1335
# source file to the destination directory to work.
1337
## @todo Create an install target for this and install it to gen-sys-hdrs/, user order deps to force RuntimeR0Drv to build it. Use it for the other drivers as well.
1338
VBOX_AWK := /usr/bin/awk
1339
$$(PATH_RuntimeR0Drv)/bus_if.h: $(VBOX_FREEBSD_SRC)/kern/bus_if.m | $$(dir $$@)
1340
$(call MSG_TOOL,awk,RuntimeR0Drv,$<,$@)
1341
$(QUIET)$(CP) -f $(VBOX_FREEBSD_SRC)/kern/bus_if.m $(PATH_RuntimeR0Drv)/bus_if.m
1342
$(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(PATH_RuntimeR0Drv)/bus_if.m -h -p
1343
$(QUIET)$(RM) $(PATH_RuntimeR0Drv)/bus_if.m
1345
$$(PATH_RuntimeR0Drv)/device_if.h: $(VBOX_FREEBSD_SRC)/kern/device_if.m | $$(dir $$@)
1346
$(call MSG_TOOL,awk,RuntimeR0Drv,$<,$@)
1347
$(QUIET)$(CP) -f $(VBOX_FREEBSD_SRC)/kern/device_if.m $(PATH_RuntimeR0Drv)/device_if.m
1348
$(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(PATH_RuntimeR0Drv)/device_if.m -h -p
1349
$(QUIET)$(RM) $(PATH_RuntimeR0Drv)/device_if.m
1352
1413
RuntimeR0Drv_SOURCES.solaris = \
1353
1414
common/err/RTErrConvertFromErrno.cpp \
1361
1422
r0drv/memobj-r0drv.cpp \
1362
1423
r0drv/mpnotification-r0drv.c \
1363
1424
r0drv/powernotification-r0drv.c \
1425
r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c \
1364
1426
r0drv/solaris/assert-r0drv-solaris.c \
1365
1427
r0drv/solaris/initterm-r0drv-solaris.c \
1428
r0drv/solaris/memuserkernel-r0drv-solaris.c \
1366
1429
r0drv/solaris/semevent-r0drv-solaris.c \
1367
1430
r0drv/solaris/semeventmulti-r0drv-solaris.c \
1368
1431
r0drv/solaris/semfastmutex-r0drv-solaris.c \
1369
1432
r0drv/solaris/spinlock-r0drv-solaris.c
1371
ifdef VBOX_WITH_SOLARIS_VBI
1434
# VBI is now compiled into IPRT
1372
1435
RuntimeR0Drv_SOURCES.solaris += \
1373
1436
r0drv/solaris/vbi/RTMpPokeCpu-r0drv-solaris.c \
1374
1437
r0drv/solaris/vbi/mpnotification-r0drv-solaris.c \
1376
1439
r0drv/solaris/vbi/memobj-r0drv-solaris.c \
1377
1440
r0drv/solaris/vbi/mp-r0drv-solaris.c \
1378
1441
r0drv/solaris/vbi/process-r0drv-solaris.c \
1379
r0drv/solaris/vbi/RTLogWriteDebugger-r0drv-solaris.c \
1380
1442
r0drv/solaris/vbi/thread-r0drv-solaris.c \
1381
1443
r0drv/solaris/vbi/thread2-r0drv-solaris.c \
1382
1444
r0drv/solaris/vbi/time-r0drv-solaris.c \
1383
r0drv/solaris/vbi/timer-r0drv-solaris.c
1384
else # !VBOX_WITH_SOLARIS_VBI
1385
RuntimeR0Drv_SOURCES.solaris += \
1386
r0drv/solaris/mpnotification-r0drv-solaris.c \
1387
r0drv/solaris/alloc-r0drv-solaris.c \
1388
r0drv/solaris/memobj-r0drv-solaris.c \
1389
r0drv/solaris/process-r0drv-solaris.c \
1390
r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c \
1391
r0drv/solaris/thread-r0drv-solaris.c \
1392
r0drv/solaris/thread2-r0drv-solaris.c \
1393
r0drv/solaris/time-r0drv-solaris.c \
1394
r0drv/solaris/timer-r0drv-solaris.c
1395
# Don't use mp-r0drv-solaris.c because it will cause crashes due to incorrect memobj-r0drv-solaris.c code.
1397
# Stub it. ## @todo limit the stubbing to RTMpOn*.
1398
RuntimeR0Drv_SOURCES.solaris += \
1399
generic/RTMpCpuId-generic.cpp \
1400
generic/RTMpCpuIdFromSetIndex-generic.cpp \
1401
generic/RTMpCpuIdToSetIndex-generic.cpp \
1402
generic/RTMpIsCpuPossible-generic.cpp \
1403
generic/RTMpGetCount-generic.cpp \
1404
generic/RTMpGetMaxCpuId-generic.cpp \
1405
generic/RTMpGetOnlineCount-generic.cpp \
1406
generic/RTMpGetOnlineSet-generic.cpp \
1407
generic/RTMpGetSet-generic.cpp \
1408
generic/RTMpIsCpuOnline-generic.cpp \
1409
r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
1410
r0drv/generic/RTMpOn-r0drv-generic.cpp \
1411
r0drv/solaris/RTMpPokeCpu-r0drv-solaris.c
1413
# Use mp-r0drv-solaris.c.
1414
RuntimeR0Drv_SOURCES.solaris += \
1415
r0drv/solaris/mp-r0drv-solaris.c \
1416
r0drv/solaris/RTMpPokeCpu-r0drv-solaris.c
1417
# r0drv/solaris/mpnotification-r0drv-solaris.c
1445
r0drv/solaris/vbi/timer-r0drv-solaris.c \
1446
r0drv/solaris/vbi/i86pc/os/vbi.c
1420
endif # !VBOX_WITH_SOLARIS_VBI
1422
1449
## PORTME: Porters create and add their selection of platform specific Ring-0 Driver files here.
1451
RuntimeR0Drv_ORDERDEPS.freebsd = \
1452
$(PATH_INS)/gen-sys-hdrs/bus_if.h \
1453
$(PATH_INS)/gen-sys-hdrs/device_if.h
1426
1457
# RuntimeGuestR0 - Guest driver runtime.
1434
1465
VBox/logbackdoor.cpp
1435
1466
RuntimeGuestR0_EXTENDS = RuntimeR0Drv
1437
# HACK: no vbi for the solaris guest additions - yet.
1438
RuntimeGuestR0_SOURCES.solaris = \
1439
common/err/RTErrConvertFromErrno.cpp \
1440
common/err/RTErrConvertToErrno.cpp \
1441
common/misc/thread.cpp \
1442
common/string/memchr.asm \
1443
generic/RTAssertShouldPanic-generic.cpp \
1444
generic/RTTimerCreate-generic.cpp \
1445
r0drv/memobj-r0drv.cpp \
1446
generic/RTMpCpuId-generic.cpp \
1447
generic/RTMpCpuIdFromSetIndex-generic.cpp \
1448
generic/RTMpCpuIdToSetIndex-generic.cpp \
1449
generic/RTMpIsCpuPossible-generic.cpp \
1450
generic/RTMpGetCount-generic.cpp \
1451
generic/RTMpGetMaxCpuId-generic.cpp \
1452
generic/RTMpGetOnlineCount-generic.cpp \
1453
generic/RTMpGetOnlineSet-generic.cpp \
1454
generic/RTMpGetSet-generic.cpp \
1455
generic/RTMpIsCpuOnline-generic.cpp \
1456
generic/RTLogWriteStdOut-stub-generic.cpp \
1457
generic/mppresent-generic.cpp \
1458
r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp \
1459
r0drv/generic/RTMpOn-r0drv-generic.cpp \
1460
r0drv/generic/RTMpPokeCpu-r0drv-generic.cpp \
1461
r0drv/generic/mpnotification-r0drv-generic.cpp \
1462
r0drv/solaris/alloc-r0drv-solaris.c \
1463
r0drv/solaris/assert-r0drv-solaris.c \
1464
r0drv/solaris/initterm-r0drv-solaris.c \
1465
r0drv/solaris/memobj-r0drv-solaris.c \
1466
r0drv/solaris/process-r0drv-solaris.c \
1467
r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c \
1468
r0drv/solaris/semevent-r0drv-solaris.c \
1469
r0drv/solaris/semeventmulti-r0drv-solaris.c \
1470
r0drv/solaris/semfastmutex-r0drv-solaris.c \
1471
r0drv/solaris/spinlock-r0drv-solaris.c \
1472
r0drv/solaris/thread-r0drv-solaris.c \
1473
r0drv/solaris/thread2-r0drv-solaris.c \
1474
r0drv/solaris/time-r0drv-solaris.c \
1475
r0drv/solaris/timer-r0drv-solaris.c
1478
1470
# RuntimeGuestR0NT4 - Win32 NT4 guest driver runtime.
1618
1611
$(VBOX_XSLTPROC) -o $@ $< $(filter %.xidl,$^)
1614
if "$(KBUILD_TARGET)" == "freebsd"
1616
# FreeBSDGeneratedKernelHeaders - Generate some kernel interface headers.
1618
# These are used by:
1619
# - The RTMp* API in IPRT.
1622
# Note! We cannot give a output path to the awk program, it will always
1623
# generate the header next to the source. So, we'll have to temporarily copy
1624
# the source file to the destination directory to work.
1626
VBOX_AWK := /usr/bin/awk
1627
INSTALLS += FreeBSDGeneratedKernelHeaders
1628
FreeBSDGeneratedKernelHeaders_INST = gen-sys-hdrs/
1629
FreeBSDGeneratedKernelHeaders_SOURCES = \
1630
$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/bus_if.h \
1631
$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/device_if.h \
1632
$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/pci_if.h
1633
FreeBSDGeneratedKernelHeaders_CLEAN = $(FreeBSDGeneratedKernelHeaders_SOURCES)
1635
$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/bus_if.h: $(VBOX_FREEBSD_SRC)/kern/bus_if.m | $$(dir $$@)
1636
$(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
1637
$(QUIET)$(CP) -f $< $(@D)/bus_if.m
1638
$(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/bus_if.m -h -p
1639
$(QUIET)$(RM) $(@D)/bus_if.m
1641
$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/device_if.h: $(VBOX_FREEBSD_SRC)/kern/device_if.m | $$(dir $$@)
1642
$(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
1643
$(QUIET)$(CP) -f $< $(@D)/device_if.m
1644
$(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/device_if.m -h -p
1645
$(QUIET)$(RM) $(@D)/device_if.m
1647
$$(FreeBSDGeneratedKernelHeaders_0_OUTDIR)/pci_if.h: $(VBOX_FREEBSD_SRC)/dev/pci/pci_if.m | $$(dir $$@)
1648
$(call MSG_TOOL,awk,FreeBSDGeneratedKernelHeaders,$<,$@)
1649
$(QUIET)$(CP) -f $< $(@D)/pci_if.m
1650
$(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/makeobjops.awk $(@D)/pci_if.m -h -p
1651
$(QUIET)$(RM) $(@D)/pci_if.m
1622
1656
# Aliases for .cpp.h files so we can more easily do syntax checking from the editor.