Changeset 98397 in vbox
- Timestamp:
- Feb 1, 2023 2:44:15 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 155641
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r98388 r98397 174 174 VBOX_PATH_ADDITIONS_ISO = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_ISO)) 175 175 VBOX_PATH_ADDITIONS_LIB = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_LIB)) 176 VBOX_PATH_EXTPACK_PUEL = $(patsubst %/,%,$(PATH_STAGE)/$(INST_EXTPACK_PUEL))176 VBOX_PATH_EXTPACK_PUEL = $(patsubst %/,%,$(PATH_STAGE)/$(INST_EXTPACK_PUEL)) 177 177 VBOX_PATH_PACKAGES = $(patsubst %/,%,$(PATH_STAGE)/$(INST_PACKAGES)) 178 178 VBOX_PATH_TOOLS = $(patsubst %/,%,$(PATH_STAGE)/$(VBOX_INST_TOOLS)) … … 193 193 # Notify about important kBuild updates. 194 194 # 195 if $(KBUILD_VERSION_MAJOR) == 0 \196 && ( $(KBUILD_VERSION_MINOR) >= 2 \197 || ( $(KBUILD_VERSION_MINOR) == 1 \198 195 if $(KBUILD_VERSION_MAJOR) == 0 \ 196 && ( $(KBUILD_VERSION_MINOR) >= 2 \ 197 || ( $(KBUILD_VERSION_MINOR) == 1 \ 198 && $(KBUILD_VERSION_PATCH) >= 999)) 199 199 VBOX_MIN_KMK_REVISION := 3093 200 200 VBOX_MIN_KBUILD_KMK_REVISION := $(if-expr "$(KBUILD_HOST)" == "win",3097,$(if-expr "$(KBUILD_HOST).$(KBUILD_HOST_ARCH)" == "solaris.sparc64",2511,3074)) … … 264 264 # @returns 1 if true, 0 if false. For use with 'if'. 265 265 VBOX_VERSION_PREREQ = $(expr $(call VBOX_FULL_VERSION_MAKE,$(VBOX_VERSION_MAJOR),$(VBOX_VERSION_MINOR),$(VBOX_VERSION_BUILD)) \ 266 266 >= $(call VBOX_FULL_VERSION_MAKE,$1,$2,$3)) 267 267 268 268 269 269 # Force the additions.sh script to get an exact additions build when we're doing the release. 270 270 if $(VBOX_VERSION_BUILD) % 2 == 0 271 272 VBOX_RELEASE_EXACT_MATCH=1273 271 ifeq ($(VBOX_VERSION_PRERELEASE),) 272 VBOX_RELEASE_EXACT_MATCH = 1 273 endif 274 274 endif 275 275 ifneq ($(VBOX_RELEASE_EXACT_MATCH),) … … 307 307 # 308 308 ifeq ($(KBUILD_TARGET),win) 309 VBOX_PACKAGE_OS= WINDOWS309 VBOX_PACKAGE_OS = WINDOWS 310 310 else ifeq ($(KBUILD_TARGET),linux) 311 VBOX_PACKAGE_OS= LINUX311 VBOX_PACKAGE_OS = LINUX 312 312 else ifeq ($(KBUILD_TARGET),darwin) 313 VBOX_PACKAGE_OS= DARWIN313 VBOX_PACKAGE_OS = DARWIN 314 314 else ifeq ($(KBUILD_TARGET),solaris) 315 VBOX_PACKAGE_OS= SOLARIS315 VBOX_PACKAGE_OS = SOLARIS 316 316 else ifeq ($(KBUILD_TARGET),os2) 317 VBOX_PACKAGE_OS= OS2317 VBOX_PACKAGE_OS = OS2 318 318 else ifeq ($(KBUILD_TARGET),haiku) 319 VBOX_PACKAGE_OS= HAIKU319 VBOX_PACKAGE_OS = HAIKU 320 320 else if1of ($(KBUILD_TARGET), dragonfly freebsd netbsd openbsd) 321 VBOX_PACKAGE_OS= BSD321 VBOX_PACKAGE_OS = BSD 322 322 else 323 323 $(error Cannot determine VBOX_PACKAGE_OS) 324 324 endif 325 325 ifeq ($(KBUILD_TARGET_ARCH),x86) 326 VBOX_PACKAGE_ARCH= 32BITS326 VBOX_PACKAGE_ARCH = 32BITS 327 327 else 328 VBOX_PACKAGE_ARCH= 64BITS328 VBOX_PACKAGE_ARCH = 64BITS 329 329 endif 330 330 # distribution, mostly for Linux/Solaris where we support different distributions … … 350 350 351 351 # Indicate VBOX_ONLY build if any of the VBOX_ONLY_* variables are set. 352 VBOX_ONLY_BUILD := $(strip $(foreach x, ADDITIONS DOCS EXTPACKS SDK VALIDATIONKIT \352 VBOX_ONLY_BUILD := $(strip $(foreach x, ADDITIONS DOCS EXTPACKS SDK VALIDATIONKIT \ 353 353 , $(if-expr defined(VBOX_ONLY_$(x)),VBOX_ONLY_$(x)))) 354 354 if $(words $(VBOX_ONLY_BUILD)) > 1 … … 359 359 ifeq ($(KBUILD_HOST),darwin) 360 360 if "$(KBUILD_TARGET_ARCH)" == "arm64" 361 VBOX_WITH_EVEN_NEWER_XCODE := 1361 VBOX_WITH_EVEN_NEWER_XCODE := 1 362 362 else if !defined(VBOX_WITH_EVEN_NEWER_XCODE) && !defined(VBOX_WITHOUT_EVEN_NEWER_XCODE) && !defined(VBOX_WITH_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 16 # (OS X 10.12 Sierra) 363 VBOX_WITH_EVEN_NEWER_XCODE := 1363 VBOX_WITH_EVEN_NEWER_XCODE := 1 364 364 else if !defined(VBOX_WITH_NEW_XCODE) && !defined(VBOX_WITHOUT_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 13 # (OS X 10.9 Mavericks) 365 VBOX_WITH_NEW_XCODE := 1365 VBOX_WITH_NEW_XCODE := 1 366 366 endif 367 367 endif … … 425 425 # VBOX_ONLY_RPM_ADDITIONS = 1 426 426 ifdef VBOX_ONLY_RPM_ADDITIONS 427 VBOX_ONLY_ADDITIONS =1428 VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER =1427 VBOX_ONLY_ADDITIONS = 1 428 VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER = 1 429 429 # We build the RPMs using public sources. 430 VBOX_OSE =1430 VBOX_OSE = 1 431 431 # We want to re-use parts of the packing pass, but not all. 432 VBOX_WITHOUT_LINUX_GUEST_PACKAGE =1433 VBOX_WITHOUT_ADDITIONS_ISO =1432 VBOX_WITHOUT_LINUX_GUEST_PACKAGE = 1 433 VBOX_WITHOUT_ADDITIONS_ISO = 1 434 434 endif 435 435 … … 605 605 # Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands 606 606 ifdef VBOX_WITH_VMSVGA3D 607 VBOX_WITH_VMSVGA3D_DX =1607 VBOX_WITH_VMSVGA3D_DX = 1 608 608 # Enable DXVK library for supporting VGPU10 DX on non Windows hosts 609 609 if1of ($(KBUILD_TARGET), linux) … … 629 629 VBOX_WITH_VDMA = 1 630 630 else ifdef VBOX_WITH_VDMA 631 631 undefine VBOX_WITH_VDMA 632 632 endif 633 633 # Gallium based WDDM driver … … 665 665 ifdef VBOX_WITH_USB 666 666 VBOX_WITH_VUSB = 1 667 VBOX_WITH_XHCI_IMPL =1667 VBOX_WITH_XHCI_IMPL = 1 668 668 endif 669 669 ifdef VBOX_WITH_EHCI … … 775 775 # Whether to enable message translation in VBoxManage. 776 776 #ifndef VBOX_ONLY_BUILD 777 VBOX_WITH_VBOXMANAGE_NLS= 1777 VBOX_WITH_VBOXMANAGE_NLS = 1 778 778 #endif 779 779 # Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems … … 1006 1006 if1of ($(KBUILD_TARGET), darwin linux solaris) 1007 1007 if1of ($(KBUILD_TARGET_ARCH), x86 amd64) ## @todo bugref:9898 1008 VBOX_WITH_DTRACE_R3 := 11009 VBOX_WITH_DTRACE_R3_MAIN := 11008 VBOX_WITH_DTRACE_R3 := 1 1009 VBOX_WITH_DTRACE_R3_MAIN := 1 1010 1010 endif 1011 1011 endif … … 1013 1013 if1of ($(KBUILD_TARGET), darwin solaris) 1014 1014 if1of ($(KBUILD_TARGET_ARCH), x86 amd64) ## @todo bugref:9898 1015 VBOX_WITH_DTRACE_R0DRV := 11015 VBOX_WITH_DTRACE_R0DRV := 1 1016 1016 endif 1017 1017 endif … … 1019 1019 ifn1of ($(KBUILD_TARGET), os2) 1020 1020 if1of ($(KBUILD_TARGET_ARCH), x86 amd64) ## @todo bugref:9898 1021 VBOX_WITH_DTRACE_R0 := 11021 VBOX_WITH_DTRACE_R0 := 1 1022 1022 endif 1023 1023 endif … … 1025 1025 if1of ($(KBUILD_TARGET), linux solaris) 1026 1026 if1of ($(KBUILD_TARGET_ARCH), x86 amd64) ## @todo bugref:9898 1027 VBOX_WITH_DTRACE_RC := 11027 VBOX_WITH_DTRACE_RC := 1 1028 1028 endif 1029 1029 endif … … 1033 1033 if1of ($(KBUILD_TARGET), darwin solaris) 1034 1034 if1of ($(KBUILD_TARGET_ARCH), x86 amd64) ## @todo bugref:9898 1035 VBOX_WITH_NATIVE_DTRACE := 11035 VBOX_WITH_NATIVE_DTRACE := 1 1036 1036 endif 1037 1037 endif … … 1183 1183 # when multiple VBoxSVC starts for the same user 1184 1184 # it is enabled for windows build only 1185 ifeq 1185 ifeq ($(KBUILD_TARGET),win) 1186 1186 VBOX_WITH_SDS = 1 1187 1187 endif … … 1233 1233 ifdef VBOX_QUICK 1234 1234 # undefine variables by assigning blank. 1235 VBOX_WITH_ADDITIONS =1236 VBOX_WITH_VALIDATIONKIT =1237 VBOX_WITH_TESTCASES =1238 VBOX_WITH_VBOXSDL =1239 VBOX_WITH_HEADLESS =1240 VBOX_WITH_VRDP =1241 VBOX_WITH_VRDP_RDESKTOP =1242 VBOX_WITH_DOCS =1243 VBOX_WITH_WEBSERVICES =1244 VBOX_WITH_32_ON_64_MAIN_API =1235 VBOX_WITH_ADDITIONS = 1236 VBOX_WITH_VALIDATIONKIT = 1237 VBOX_WITH_TESTCASES = 1238 VBOX_WITH_VBOXSDL = 1239 VBOX_WITH_HEADLESS = 1240 VBOX_WITH_VRDP = 1241 VBOX_WITH_VRDP_RDESKTOP = 1242 VBOX_WITH_DOCS = 1243 VBOX_WITH_WEBSERVICES = 1244 VBOX_WITH_32_ON_64_MAIN_API = 1245 1245 endif # VBOX_QUICK 1246 1246 1247 1247 # Only AMD64 is supported for the main product, so disable most of the other bits. 1248 1248 ifn1of ($(KBUILD_TARGET_ARCH), $(VBOX_SUPPORTED_HOST_ARCHS)) 1249 VBOX_WITH_MAIN =1250 VBOX_WITH_QTGUI =1251 VBOX_WITH_VBOXSDL =1252 VBOX_WITH_VBOXHEADLESS =1253 VBOX_WITH_WEBSERVICES =1254 VBOX_WITH_DEBUGGER_GUI =1249 VBOX_WITH_MAIN = 1250 VBOX_WITH_QTGUI = 1251 VBOX_WITH_VBOXSDL = 1252 VBOX_WITH_VBOXHEADLESS = 1253 VBOX_WITH_WEBSERVICES = 1254 VBOX_WITH_DEBUGGER_GUI = 1255 1255 endif 1256 1256 1257 1257 ifeq ($(KBUILD_TARGET),darwin) 1258 VBOX_WITH_VRDP_RDESKTOP =1258 VBOX_WITH_VRDP_RDESKTOP = 1259 1259 # Permanent (no working SDL). 1260 VBOX_WITH_VBOXSDL =1260 VBOX_WITH_VBOXSDL = 1261 1261 1262 1262 ifeq ($(KBUILD_TARGET_ARCH),arm64) … … 1281 1281 1282 1282 ifeq ($(KBUILD_TARGET),freebsd) 1283 VBOX_WITH_DOCS =1283 VBOX_WITH_DOCS = 1284 1284 endif 1285 1285 1286 1286 ifeq ($(KBUILD_TARGET),haiku) 1287 VBOX_WITH_VRDP_RDESKTOP =1287 VBOX_WITH_VRDP_RDESKTOP = 1288 1288 # Permanent (no working SDL). 1289 VBOX_WITH_VBOXSDL =1290 VBOX_WITH_DOCS =1291 VBOX_WITH_VBOXDRV =1292 VBOX_WITH_VRDP =1293 VBOX_WITH_HEADLESS =1294 VBOX_WITH_VBOXSDL =1295 VBOX_WITH_QTGUI =1296 # VBOX_WITH_MAIN=1297 VBOX_WITH_DOCS =1298 VBOX_WITH_ISCSI =1299 VBOX_WITH_INIP =1300 VBOX_WITH_INTERNAL_NETWORKING =1301 VBOX_WITH_PDM_ASYNC_COMPLETION =1302 VBOX_WITH_HARDENING =1289 VBOX_WITH_VBOXSDL = 1290 VBOX_WITH_DOCS = 1291 VBOX_WITH_VBOXDRV = 1292 VBOX_WITH_VRDP = 1293 VBOX_WITH_HEADLESS = 1294 VBOX_WITH_VBOXSDL = 1295 VBOX_WITH_QTGUI = 1296 # VBOX_WITH_MAIN= 1297 VBOX_WITH_DOCS = 1298 VBOX_WITH_ISCSI = 1299 VBOX_WITH_INIP = 1300 VBOX_WITH_INTERNAL_NETWORKING = 1301 VBOX_WITH_PDM_ASYNC_COMPLETION = 1302 VBOX_WITH_HARDENING = 1303 1303 endif 1304 1304 1305 1305 1306 1306 ifeq ($(KBUILD_TARGET),os2) 1307 VBOX_WITH_WEBSERVICES =1308 VBOX_WITH_INSTALLER =1309 VBOX_WITH_VRDP_AUTHMOD =1310 VBOX_WITH_VRDP_RDESKTOP =1311 VBOX_WITH_VALIDATIONKIT =1312 VBOX_WITH_QTGUI =1313 VBOX_WITH_USB =1314 VBOX_WITH_EHCI =1315 VBOX_WITH_DOCS =1316 VBOX_WITH_PDM_ASYNC_COMPLETION =1317 VBOX_WITH_HARDENING =1307 VBOX_WITH_WEBSERVICES = 1308 VBOX_WITH_INSTALLER = 1309 VBOX_WITH_VRDP_AUTHMOD = 1310 VBOX_WITH_VRDP_RDESKTOP = 1311 VBOX_WITH_VALIDATIONKIT = 1312 VBOX_WITH_QTGUI = 1313 VBOX_WITH_USB = 1314 VBOX_WITH_EHCI = 1315 VBOX_WITH_DOCS = 1316 VBOX_WITH_PDM_ASYNC_COMPLETION = 1317 VBOX_WITH_HARDENING = 1318 1318 endif 1319 1319 1320 1320 ifeq ($(KBUILD_TARGET),win) 1321 VBOX_WITH_VRDP_RDESKTOP =1321 VBOX_WITH_VRDP_RDESKTOP = 1322 1322 endif 1323 1323 1324 1324 ifn1of ($(KBUILD_TARGET_ARCH), x86 amd64 arm64) 1325 VBOX_WITH_ADDITION_DRIVERS =1326 VBOX_WITH_DEBUGGER =1327 VBOX_WITH_DOCS =1328 VBOX_WITH_EHCI =1329 VBOX_WITH_HARDENING =1330 VBOX_WITH_HEADLESS =1331 VBOX_WITH_HGCM =1332 VBOX_WITH_HGSMI =1333 VBOX_WITH_INIP =1334 VBOX_WITH_INSTALLER =1335 VBOX_WITH_INTERNAL_NETWORKING =1336 VBOX_WITH_ISCSI =1337 VBOX_WITH_MAIN =1338 VBOX_WITH_PDM_ASYNC_COMPLETION =1339 VBOX_WITH_QTGUI =1340 VBOX_WITH_RAW_MODE =1341 VBOX_WITH_VALIDATIONKIT =1342 VBOX_WITH_USB =1343 VBOX_WITH_VBOXDRV =1344 VBOX_WITH_VBOXSDL =1345 VBOX_WITH_WEBSERVICES =1346 VBOX_WITH_XPCOM =1347 VBOX_WITHOUT_HARDENING =11325 VBOX_WITH_ADDITION_DRIVERS = 1326 VBOX_WITH_DEBUGGER = 1327 VBOX_WITH_DOCS = 1328 VBOX_WITH_EHCI = 1329 VBOX_WITH_HARDENING = 1330 VBOX_WITH_HEADLESS = 1331 VBOX_WITH_HGCM = 1332 VBOX_WITH_HGSMI = 1333 VBOX_WITH_INIP = 1334 VBOX_WITH_INSTALLER = 1335 VBOX_WITH_INTERNAL_NETWORKING = 1336 VBOX_WITH_ISCSI = 1337 VBOX_WITH_MAIN = 1338 VBOX_WITH_PDM_ASYNC_COMPLETION = 1339 VBOX_WITH_QTGUI = 1340 VBOX_WITH_RAW_MODE = 1341 VBOX_WITH_VALIDATIONKIT = 1342 VBOX_WITH_USB = 1343 VBOX_WITH_VBOXDRV = 1344 VBOX_WITH_VBOXSDL = 1345 VBOX_WITH_WEBSERVICES = 1346 VBOX_WITH_XPCOM = 1347 VBOX_WITHOUT_HARDENING = 1 1348 1348 # remove later: 1349 VBOX_WITH_VRDP =1350 VBOX_WITH_VRDP_AUTHMOD =1351 VBOX_WITH_VRDP_RDESKTOP =1349 VBOX_WITH_VRDP = 1350 VBOX_WITH_VRDP_AUTHMOD = 1351 VBOX_WITH_VRDP_RDESKTOP = 1352 1352 endif 1353 1353 … … 1396 1396 # Indicate VBOX_ONLY build if any of the VBOX_ONLY_* variables are set. 1397 1397 # 1398 VBOX_ONLY_BUILD_NEW := $(strip $(foreach x, ADDITIONS DOCS EXTPACKS SDK VALIDATIONKIT \1398 VBOX_ONLY_BUILD_NEW := $(strip $(foreach x, ADDITIONS DOCS EXTPACKS SDK VALIDATIONKIT \ 1399 1399 , $(if-expr defined(VBOX_ONLY_$(x)),VBOX_ONLY_$(x)))) 1400 1400 ifneq ($(VBOX_ONLY_BUILD),$(VBOX_ONLY_BUILD_NEW)) … … 1431 1431 # 1432 1432 ifdef VBOX_OSE 1433 VBOX_WITH_VRDP =1434 VBOX_WITH_USB_VIDEO_IMPL =1435 VBOX_WITH_NVME_IMPL =1436 VBOX_WITH_EXTPACK_PUEL =1437 VBOX_WITH_EXTPACK_PUEL_BUILD =1438 VBOX_WITH_PCI_PASSTHROUGH_IMPL =1439 VBOX_WITH_OS2_ADDITIONS_BIN =1440 VBOX_WITH_LIBSSH =1433 VBOX_WITH_VRDP = 1434 VBOX_WITH_USB_VIDEO_IMPL = 1435 VBOX_WITH_NVME_IMPL = 1436 VBOX_WITH_EXTPACK_PUEL = 1437 VBOX_WITH_EXTPACK_PUEL_BUILD = 1438 VBOX_WITH_PCI_PASSTHROUGH_IMPL = 1439 VBOX_WITH_OS2_ADDITIONS_BIN = 1440 VBOX_WITH_LIBSSH = 1441 1441 # not yet 1442 VBOX_WITH_PLUGIN_CRYPT =1443 VBOX_WITH_DRAG_AND_DROP_PROMISES =1442 VBOX_WITH_PLUGIN_CRYPT = 1443 VBOX_WITH_DRAG_AND_DROP_PROMISES = 1444 1444 ifn1of ($(KBUILD_TARGET), linux) 1445 VBOX_WITH_DOCS =1446 VBOX_WITH_DOCS_PACKING =1445 VBOX_WITH_DOCS = 1446 VBOX_WITH_DOCS_PACKING = 1447 1447 endif 1448 1448 if1of ($(KBUILD_TARGET), solaris) 1449 VBOX_WITH_32_ON_64_MAIN_API =1449 VBOX_WITH_32_ON_64_MAIN_API = 1450 1450 endif 1451 1451 if1of ($(KBUILD_TARGET), win) 1452 1452 # tar/gzip uncommon on Windows 1453 VBOX_WITH_EXTPACK_VBOXDTRACE =1453 VBOX_WITH_EXTPACK_VBOXDTRACE = 1454 1454 endif 1455 1455 # Enable any translations in OSE, even partial ones. … … 1457 1457 VBOX_WITH_DOCS_TRANSLATIONS = 1 1458 1458 endif 1459 VBOX_WITH_INTEL_PXE =1459 VBOX_WITH_INTEL_PXE = 1460 1460 # Disable for OSE, requires snv_159+. 1461 VBOX_WITH_NETFLT_CROSSBOW =1461 VBOX_WITH_NETFLT_CROSSBOW = 1462 1462 ifn1of ($(KBUILD_TARGET), darwin linux solaris win) 1463 VBOX_WITH_INSTALLER =1463 VBOX_WITH_INSTALLER = 1464 1464 endif 1465 1465 if1of ($(KBUILD_TARGET), win) 1466 1466 # Undefine codec libraries which are not needed. 1467 VBOX_WITH_LIBVPX =1468 VBOX_WITH_LIBVORBIS =1469 VBOX_WITH_LIBOGG =1467 VBOX_WITH_LIBVPX = 1468 VBOX_WITH_LIBVORBIS = 1469 VBOX_WITH_LIBOGG = 1470 1470 # Disable recording (with audio support). 1471 VBOX_WITH_RECORDING =1472 VBOX_WITH_AUDIO_RECORDING =1471 VBOX_WITH_RECORDING = 1472 VBOX_WITH_AUDIO_RECORDING = 1473 1473 endif 1474 1474 # branding … … 1503 1503 # 1504 1504 ifdef VBOX_WITHOUT_HARDENING 1505 VBOX_WITH_HARDENING =1505 VBOX_WITH_HARDENING = 1506 1506 ifeq ($(VBOX_WITH_HARDENING),) 1507 VBOX_PATH_APP_PRIVATE =1508 VBOX_PATH_APP_PRIVATE_ARCH =1509 VBOX_PATH_APP_PRIVATE_ARCH_TOP =1510 VBOX_PATH_SHARED_LIBS =1511 VBOX_PATH_APP_DOCS =1512 VBOX_WITH_RUNPATH =1507 VBOX_PATH_APP_PRIVATE = 1508 VBOX_PATH_APP_PRIVATE_ARCH = 1509 VBOX_PATH_APP_PRIVATE_ARCH_TOP = 1510 VBOX_PATH_SHARED_LIBS = 1511 VBOX_PATH_APP_DOCS = 1512 VBOX_WITH_RUNPATH = 1513 1513 if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) # duplicated up above 1514 1514 VBOX_WITH_ORIGIN = 1 … … 1567 1567 # 1568 1568 ifdef VBOX_HEADLESS 1569 VBOX_WITH_QTGUI =1570 VBOX_WITH_VBOXSDL =1571 VBOX_WITH_VRDP_RDESKTOP =1569 VBOX_WITH_QTGUI = 1570 VBOX_WITH_VBOXSDL = 1571 VBOX_WITH_VRDP_RDESKTOP = 1572 1572 endif 1573 1573 … … 1576 1576 # 1577 1577 ifndef VBOX_WITH_MAIN 1578 VBOX_WITH_VBOXSDL =1579 VBOX_WITH_QTGUI =1580 VBOX_WITH_DEBUGGER_GUI =1581 VBOX_WITH_HEADLESS =1578 VBOX_WITH_VBOXSDL = 1579 VBOX_WITH_QTGUI = 1580 VBOX_WITH_DEBUGGER_GUI = 1581 VBOX_WITH_HEADLESS = 1582 1582 ifdef VBOX_ONLY_DOCS 1583 1583 $(error Oh, does VBOX_ONLY_DOCS actually end up here. sweet.) 1584 1584 endif 1585 VBOX_WITH_DOCS =1585 VBOX_WITH_DOCS = 1586 1586 endif 1587 1587 … … 1604 1604 # 1605 1605 ifdef VBOX_OSE 1606 # This can be overridden (e.g. in LocalConfig.kmk) by whoever publishes a set1607 # of VirtualBox binaries. We request though that you always use something that1608 # clearly identifies your build and makes it clear that it is not one done by1609 # the VirtualBox team.1606 # This can be overridden (e.g. in LocalConfig.kmk) by whoever publishes a set 1607 # of VirtualBox binaries. We request though that you always use something that 1608 # clearly identifies your build and makes it clear that it is not one done by 1609 # the VirtualBox team. 1610 1610 VBOX_BUILD_PUBLISHER ?= _OSE 1611 1611 endif … … 1614 1614 # Changed with every new version, so beware! 1615 1615 if $(VBOX_VERSION_BUILD) < 51 1616 VBOX_API_VERSION= $(VBOX_VERSION_MAJOR)_$(VBOX_VERSION_MINOR)1616 VBOX_API_VERSION = $(VBOX_VERSION_MAJOR)_$(VBOX_VERSION_MINOR) 1617 1617 else 1618 VBOX_API_VERSION= $(VBOX_VERSION_MAJOR)_$(expr $(VBOX_VERSION_MINOR) + 1)1618 VBOX_API_VERSION = $(VBOX_VERSION_MAJOR)_$(expr $(VBOX_VERSION_MINOR) + 1) 1619 1619 endif 1620 1620 VBOX_API_SUFFIX = _$(VBOX_API_VERSION) … … 1630 1630 VBOX_GUI_USE_QGL = 1 1631 1631 else 1632 VBOX_GUI_USE_QGL =1632 VBOX_GUI_USE_QGL = 1633 1633 endif 1634 1634 1635 1635 # Collection macro mainly for deciding whether VBoxDTrace needs shipping. 1636 1636 VBOX_WITH_DTRACE := $(if-expr defined(VBOX_WITH_DTRACE_R0) || defined(VBOX_WITH_DTRACE_R0DRV) \ 1637 1637 || defined(VBOX_WITH_DTRACE_R3) || defined(VBOX_WITH_DTRACE_RC),1,) 1638 1638 1639 1639 # kSubmit / kWorker is only available on windows. … … 1642 1642 TOOL_VCC142AMD64_USE_KSUBMIT := 1 1643 1643 TOOL_VCC142X86_USE_KSUBMIT := 1 1644 # TOOL_VCC120AMD64_USE_KSUBMIT := 11645 # TOOL_VCC120X86_USE_KSUBMIT := 11644 # TOOL_VCC120AMD64_USE_KSUBMIT := 1 1645 # TOOL_VCC120X86_USE_KSUBMIT := 1 1646 1646 TOOL_VCC100AMD64_USE_KSUBMIT := 1 1647 1647 TOOL_VCC100X86_USE_KSUBMIT := 1 … … 1725 1725 ifeq ($(VBOX_LDR_FMT),elf) 1726 1726 ifeq ($(KBUILD_TARGET_ARCH),x86) 1727 VBOX_ASFLAGS_FMT = -f elf32 -DASM_FORMAT_ELF1727 VBOX_ASFLAGS_FMT = -f elf32 -DASM_FORMAT_ELF 1728 1728 else 1729 VBOX_ASFLAGS_FMT = -f elf64 -DASM_FORMAT_ELF1730 endif 1731 VBOX_ASFLAGS_DBFINFO = -g dwarf21729 VBOX_ASFLAGS_FMT = -f elf64 -DASM_FORMAT_ELF 1730 endif 1731 VBOX_ASFLAGS_DBFINFO = -g dwarf2 1732 1732 endif 1733 1733 ifeq ($(VBOX_LDR_FMT),lx) 1734 VBOX_ASFLAGS_FMT = -f obj -DASM_FORMAT_OMF1735 VBOX_ASFLAGS_DBFINFO = -g stabs1734 VBOX_ASFLAGS_FMT = -f obj -DASM_FORMAT_OMF 1735 VBOX_ASFLAGS_DBFINFO = -g stabs 1736 1736 endif 1737 1737 ifeq ($(VBOX_LDR_FMT),macho) 1738 1738 ifeq ($(KBUILD_TARGET_ARCH),x86) 1739 VBOX_ASFLAGS_FMT = -f macho32 -DASM_FORMAT_MACHO1739 VBOX_ASFLAGS_FMT = -f macho32 -DASM_FORMAT_MACHO 1740 1740 else 1741 VBOX_ASFLAGS_FMT = -f macho64 -DASM_FORMAT_MACHO1742 endif 1743 VBOX_ASFLAGS_DBFINFO = -g dwarf21741 VBOX_ASFLAGS_FMT = -f macho64 -DASM_FORMAT_MACHO 1742 endif 1743 VBOX_ASFLAGS_DBFINFO = -g dwarf2 1744 1744 endif 1745 1745 ifeq ($(VBOX_LDR_FMT),pe) 1746 1746 ifeq ($(KBUILD_TARGET_ARCH),x86) 1747 VBOX_ASFLAGS_FMT = -f win32 -DASM_FORMAT_PE1747 VBOX_ASFLAGS_FMT = -f win32 -DASM_FORMAT_PE 1748 1748 else 1749 VBOX_ASFLAGS_FMT = -f win64 -DASM_FORMAT_PE1750 endif 1751 VBOX_ASFLAGS_DBFINFO = -g cv81749 VBOX_ASFLAGS_FMT = -f win64 -DASM_FORMAT_PE 1750 endif 1751 VBOX_ASFLAGS_DBFINFO = -g cv8 1752 1752 endif 1753 1753 ifndef VBOX_ASFLAGS_FMT … … 1756 1756 1757 1757 ifeq ($(VBOX_LDR_FMT32),elf) 1758 VBOX_ASFLAGS_FMT32 = -f elf32 -DASM_FORMAT_ELF1759 VBOX_ASFLAGS_DBFINFO32 = -g dwarf21758 VBOX_ASFLAGS_FMT32 = -f elf32 -DASM_FORMAT_ELF 1759 VBOX_ASFLAGS_DBFINFO32 = -g dwarf2 1760 1760 endif 1761 1761 ifeq ($(VBOX_LDR_FMT32),lx) 1762 VBOX_ASFLAGS_FMT32 = -f obj -DASM_FORMAT_OMF1763 VBOX_ASFLAGS_DBFINFO32 = -g stabs1762 VBOX_ASFLAGS_FMT32 = -f obj -DASM_FORMAT_OMF 1763 VBOX_ASFLAGS_DBFINFO32 = -g stabs 1764 1764 endif 1765 1765 ifeq ($(VBOX_LDR_FMT32),macho) 1766 VBOX_ASFLAGS_FMT32 = -f macho32 -DASM_FORMAT_MACHO1767 VBOX_ASFLAGS_DBFINFO32 = -g dwarf21766 VBOX_ASFLAGS_FMT32 = -f macho32 -DASM_FORMAT_MACHO 1767 VBOX_ASFLAGS_DBFINFO32 = -g dwarf2 1768 1768 endif 1769 1769 ifeq ($(VBOX_LDR_FMT32),pe) 1770 VBOX_ASFLAGS_FMT32 = -f win32 -DASM_FORMAT_PE1771 VBOX_ASFLAGS_DBFINFO32 = -g cv81770 VBOX_ASFLAGS_FMT32 = -f win32 -DASM_FORMAT_PE 1771 VBOX_ASFLAGS_DBFINFO32 = -g cv8 1772 1772 endif 1773 1773 ifndef VBOX_ASFLAGS_FMT32 … … 1776 1776 1777 1777 ifeq ($(VBOX_LDR_FMT64),elf) 1778 VBOX_ASFLAGS_FMT64 = -f elf64 -DASM_FORMAT_ELF1779 VBOX_ASFLAGS_DBFINFO64 = -g dwarf21778 VBOX_ASFLAGS_FMT64 = -f elf64 -DASM_FORMAT_ELF 1779 VBOX_ASFLAGS_DBFINFO64 = -g dwarf2 1780 1780 endif 1781 1781 ifeq ($(VBOX_LDR_FMT64),macho) 1782 VBOX_ASFLAGS_FMT64 = -f macho64 -DASM_FORMAT_MACHO1783 VBOX_ASFLAGS_DBFINFO64 = -g dwarf21782 VBOX_ASFLAGS_FMT64 = -f macho64 -DASM_FORMAT_MACHO 1783 VBOX_ASFLAGS_DBFINFO64 = -g dwarf2 1784 1784 endif 1785 1785 ifeq ($(VBOX_LDR_FMT64),pe) 1786 VBOX_ASFLAGS_FMT64 = -f win64 -DASM_FORMAT_PE1787 VBOX_ASFLAGS_DBFINFO64 = -g cv81786 VBOX_ASFLAGS_FMT64 = -f win64 -DASM_FORMAT_PE 1787 VBOX_ASFLAGS_DBFINFO64 = -g cv8 1788 1788 endif 1789 1789 ifndef VBOX_ASFLAGS_FMT64 … … 1792 1792 1793 1793 ifndef DONT_USE_YASM 1794 VBOX_ASTOOL= YASM1795 VBOX_LDR_FMT_2_YASM_DBGINFO.elf= -g dwarf21796 VBOX_LDR_FMT_2_YASM_DBGINFO.lx= -g stabs1797 VBOX_LDR_FMT_2_YASM_DBGINFO.macho =1798 VBOX_LDR_FMT_2_YASM_DBGINFO.pe= -g cv81799 VBOX_ASFLAGS= $(VBOX_ASFLAGS_FMT) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT))1800 VBOX_ASFLAGS32 = $(VBOX_ASFLAGS_FMT32) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT32))1801 VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT64))1794 VBOX_ASTOOL = YASM 1795 VBOX_LDR_FMT_2_YASM_DBGINFO.elf = -g dwarf2 1796 VBOX_LDR_FMT_2_YASM_DBGINFO.lx = -g stabs 1797 VBOX_LDR_FMT_2_YASM_DBGINFO.macho = 1798 VBOX_LDR_FMT_2_YASM_DBGINFO.pe = -g cv8 1799 VBOX_ASFLAGS = $(VBOX_ASFLAGS_FMT) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT)) 1800 VBOX_ASFLAGS32 = $(VBOX_ASFLAGS_FMT32) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT32)) 1801 VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) $(VBOX_LDR_FMT_2_YASM_DBGINFO.$(VBOX_LDR_FMT64)) 1802 1802 else 1803 VBOX_ASTOOL= NASM1804 VBOX_ASFLAGS= $(subst elf32,elf,$(VBOX_ASFLAGS_FMT)) -D__NASM__ -w+orphan-labels -g1805 VBOX_ASFLAGS32 = $(subst elf32,elf,$(VBOX_ASFLAGS_FMT32)) -D__NASM__ -w+orphan-labels -g1806 VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__NASM__ -w+orphan-labels -g1803 VBOX_ASTOOL = NASM 1804 VBOX_ASFLAGS = $(subst elf32,elf,$(VBOX_ASFLAGS_FMT)) -D__NASM__ -w+orphan-labels -g 1805 VBOX_ASFLAGS32 = $(subst elf32,elf,$(VBOX_ASFLAGS_FMT32)) -D__NASM__ -w+orphan-labels -g 1806 VBOX_ASFLAGS64 = $(VBOX_ASFLAGS_FMT64) -D__NASM__ -w+orphan-labels -g 1807 1807 endif 1808 1808 else # ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86) 1809 VBOX_ASTOOL =# No tool, just use the compiler one.1810 VBOX_LDR_FMT_2_FLAGS.elf:= -DASM_FORMAT_ELF1811 VBOX_LDR_FMT_2_FLAGS.macho := -DASM_FORMAT_MACHO1812 VBOX_LDR_FMT_2_FLAGS.pe:= -DASM_FORMAT_PE1813 VBOX_ASFLAGS:= -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT))1814 VBOX_ASFLAGS32 := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT32))1815 VBOX_ASFLAGS64 := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT64))1809 VBOX_ASTOOL =# No tool, just use the compiler one. 1810 VBOX_LDR_FMT_2_FLAGS.elf := -DASM_FORMAT_ELF 1811 VBOX_LDR_FMT_2_FLAGS.macho := -DASM_FORMAT_MACHO 1812 VBOX_LDR_FMT_2_FLAGS.pe := -DASM_FORMAT_PE 1813 VBOX_ASFLAGS := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT)) 1814 VBOX_ASFLAGS32 := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT32)) 1815 VBOX_ASFLAGS64 := -g $(VBOX_LDR_FMT_2_FLAGS.$(VBOX_LDR_FMT64)) 1816 1816 if1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64) 1817 VBOX_ASFLAGS += -m$(VBOX_HC_ARCH_BITS)1818 VBOX_ASFLAGS32 += -m321819 VBOX_ASFLAGS64 += -m641817 VBOX_ASFLAGS += -m$(VBOX_HC_ARCH_BITS) 1818 VBOX_ASFLAGS32 += -m32 1819 VBOX_ASFLAGS64 += -m64 1820 1820 endif 1821 1821 endif # ifn1of ($(KBUILD_TARGET_ARCH), amd64 x86) … … 1858 1858 ifeq ($(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH),x86.amd64) ## @todo mixing target/host here! 1859 1859 VBOX_GCC_TOOL := GXX32 1860 VBOX_WITH_VBOXDRV =1860 VBOX_WITH_VBOXDRV = 1861 1861 else ifeq ($(KBUILD_TARGET_ARCH).$(KBUILD_HOST_ARCH),amd64.x86) 1862 1862 VBOX_GCC_TOOL := GXX64 1863 VBOX_WITH_VBOXDRV =1863 VBOX_WITH_VBOXDRV = 1864 1864 endif 1865 1865 endif … … 2111 2111 # ARCH_BITS_DEFS. 2112 2112 # 2113 if1of ($(KBUILD_TARGET_ARCH), amd64 sparc64 arm64)2113 if1of ($(KBUILD_TARGET_ARCH), amd64 sparc64 arm64) 2114 2114 VBOX_HC_ARCH_BITS := 64 2115 2115 ARCH_BITS_DEFS := HC_ARCH_BITS=64 2116 else if1of ($(KBUILD_TARGET_ARCH), x86 sparc32)2116 else if1of ($(KBUILD_TARGET_ARCH), x86 sparc32) 2117 2117 VBOX_HC_ARCH_BITS := 32 2118 2118 ARCH_BITS_DEFS := HC_ARCH_BITS=32 … … 2141 2141 endif 2142 2142 ifeq ($(KBUILD_HOST),win) 2143 2144 2145 2146 2147 2148 2143 # This check is a bit hacky, but avoids problems with PATH being changed 2144 # again when the makefiles are reread because some automatically generated 2145 # makefile has been modified. 2146 ifeq ($(findstring $(PATH_STAGE_BIN);$(PATH_STAGE_LIB);,$(PATH)),) 2147 export PATH:=$(PATH_STAGE_BIN);$(PATH_STAGE_LIB);$(PATH) 2148 endif 2149 2149 endif 2150 2150 … … 2217 2217 VBOX_LIB_RUNTIME_STATIC_X86 = $(PATH_STAGE_LIB)/RuntimeR3-x86$(VBOX_SUFF_LIB) 2218 2218 if "$(KBUILD_TARGET)" == "win" && "$(KBUILD_TYPE)" == "asan" 2219 VBOX_LIB_RUNTIME_STATIC_NO_ASAN = $(PATH_STAGE_LIB)/RuntimeR3NoAsan$(VBOX_SUFF_LIB)2219 VBOX_LIB_RUNTIME_STATIC_NO_ASAN = $(PATH_STAGE_LIB)/RuntimeR3NoAsan$(VBOX_SUFF_LIB) 2220 2220 else 2221 VBOX_LIB_RUNTIME_STATIC_NO_ASAN = $(VBOX_LIB_RUNTIME_STATIC)2221 VBOX_LIB_RUNTIME_STATIC_NO_ASAN = $(VBOX_LIB_RUNTIME_STATIC) 2222 2222 endif 2223 2223 … … 2230 2230 if1of ($(KBUILD_HOST), win) 2231 2231 VBOX_BLD_PYTHON := $(firstword $(rsort $(wildcard $(KBUILD_DEVTOOLS)/win.x86/python/v*/python$(HOSTSUFF_EXE))) \ 2232 2232 python-not-found.exe) 2233 2233 else ifndef VBOX_WITH_PYTHON2_PREFERENCE 2234 2234 VBOX_BLD_PYTHON := $(firstword \ 2235 $(which python3$(HOSTSUFF_EXE)) \2236 $(which python3.10$(HOSTSUFF_EXE)) \2237 $(which python3.9$(HOSTSUFF_EXE)) \2238 $(which python3.8$(HOSTSUFF_EXE)) \2239 $(which python3.7$(HOSTSUFF_EXE)) \2240 $(which python3.6$(HOSTSUFF_EXE)) \2241 $(which python3.5$(HOSTSUFF_EXE)) \2242 $(which python3.4$(HOSTSUFF_EXE)) \2243 $(which python2.7$(HOSTSUFF_EXE)) \2244 $(which python$(HOSTSUFF_EXE)) \2245 $(which python2.6$(HOSTSUFF_EXE)) \2246 python-not-found$(HOSTSUFF_EXE) )2235 $(which python3$(HOSTSUFF_EXE)) \ 2236 $(which python3.10$(HOSTSUFF_EXE)) \ 2237 $(which python3.9$(HOSTSUFF_EXE)) \ 2238 $(which python3.8$(HOSTSUFF_EXE)) \ 2239 $(which python3.7$(HOSTSUFF_EXE)) \ 2240 $(which python3.6$(HOSTSUFF_EXE)) \ 2241 $(which python3.5$(HOSTSUFF_EXE)) \ 2242 $(which python3.4$(HOSTSUFF_EXE)) \ 2243 $(which python2.7$(HOSTSUFF_EXE)) \ 2244 $(which python$(HOSTSUFF_EXE)) \ 2245 $(which python2.6$(HOSTSUFF_EXE)) \ 2246 python-not-found$(HOSTSUFF_EXE) ) 2247 2247 else 2248 2248 VBOX_BLD_PYTHON := $(firstword \ 2249 $(which python2.7$(HOSTSUFF_EXE)) \2250 $(which python2.6$(HOSTSUFF_EXE)) \2251 $(which python$(HOSTSUFF_EXE)) \2252 $(which python3$(HOSTSUFF_EXE)) \2253 python-not-found$(HOSTSUFF_EXE) )2249 $(which python2.7$(HOSTSUFF_EXE)) \ 2250 $(which python2.6$(HOSTSUFF_EXE)) \ 2251 $(which python$(HOSTSUFF_EXE)) \ 2252 $(which python3$(HOSTSUFF_EXE)) \ 2253 python-not-found$(HOSTSUFF_EXE) ) 2254 2254 endif 2255 2255 endif … … 2297 2297 ifndef VBOX_PYLINT_VERSION 2298 2298 ifdef VBOX_WITH_PYLINT_PRE_V1_0 2299 VBOX_PYLINT_VERSION = 2299 VBOX_PYLINT_VERSION = 9999 2300 2300 else ifdef VBOX_WITH_PYLINT_V1_2_1_PLUS 2301 2301 VBOX_PYLINT_VERSION = 10201 … … 2308 2308 endif 2309 2309 VBOX_PYLINT_FLAGS = $(if-expr $(VBOX_PYLINT_VERSION) >= 10500,--reports=n,--report=n) \ 2310 $(if-expr $(VBOX_PYLINT_VERSION) >= 10000 \2311 2312 2310 $(if-expr $(VBOX_PYLINT_VERSION) >= 10000 \ 2311 ,--msg-template='{path}:{line}: <{msg_id}>({obj}:{symbol}): {msg}' \ 2312 ,--output-format=msvs --include-ids=y) \ 2313 2313 --persistent=n \ 2314 2314 --rcfile=$(PATH_ROOT)/tools/pylintrc \ … … 2321 2321 --max-args=9 \ 2322 2322 --max-module-lines=4096 \ 2323 2323 --max-locals=32 \ 2324 2324 $(if-expr $(VBOX_PYLINT_VERSION) >= 10500,--max-bool-expr=99,) \ 2325 2325 --min-public-methods=0 \ 2326 2326 --function-rgx='[a-z_][a-zA-Z0-9_]{2,40}$(DOLLAR)' \ 2327 2327 --method-rgx='[a-z_][a-zA-Z0-9_]{2,40}$(DOLLAR)' \ … … 2335 2335 $(if-expr $(VBOX_PYLINT_VERSION) >= 10000,--class-attribute-rgx='(k[abcdefhmnpilorstu]+[A-Z0-9][a-zA-Z0-9_]{0,32}|[A-Z_][A-Z0-9_]{2,32})',) \ 2336 2336 $(if-expr $(VBOX_PYLINT_VERSION) >= 10500,--max-nested-blocks=9,) \ 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2337 $(if-expr $(VBOX_PYLINT_VERSION) >= 10100,--disable=bad-whitespace,) \ 2338 $(if-expr $(VBOX_PYLINT_VERSION) >= 10201,--disable=bad-continuation --disable=eval-used,) \ 2339 $(if-expr $(VBOX_PYLINT_VERSION) >= 10201 && $(VBOX_PYLIN_VERSION) < 10500,--disable=bad-option-value,) \ 2340 $(if-expr $(VBOX_PYLINT_VERSION) >= 10500,--disable=wrong-import-position --disable=E0012 --disable=locally-enabled,) \ 2341 $(if-expr $(VBOX_PYLINT_VERSION) >= 10600,--disable=missing-docstring --disable=trailing-newlines --disable=ungrouped-imports,) \ 2342 $(if-expr $(VBOX_PYLINT_VERSION) >= 10800,--disable=redundant-keyword-arg,) \ 2343 $(if-expr $(VBOX_PYLINT_VERSION) >= 20000,--disable=useless-object-inheritance --disable=useless-return,) \ 2344 $(if-expr $(VBOX_PYLINT_VERSION) >= 20400,--disable=import-outside-toplevel,) \ 2345 $(if-expr $(VBOX_PYLINT_VERSION) >= 20900,--disable=super-with-arguments --disable=raise-missing-from,) \ 2346 $(if-expr $(VBOX_PYLINT_VERSION) >= 21200,--disable=consider-using-f-string --disable=unnecessary-semicolon --disable=redundant-u-string-prefix) \ 2347 2347 --disable=unnecessary-semicolon,invalid-encoded-data,global-statement,bare-except,broad-except,multiple-statements,no-self-use,fixme \ 2348 2348 --disable=I0011 \ 2349 --ignored-classes=testdriver.vboxcon \2349 --ignored-classes=testdriver.vboxcon 2350 2350 2351 2351 … … 2354 2354 VBOX_FN_MAKE_WIN_PATH = "$(quote-sh-dq $(subst /,\,$(requote unq, $(1))))" 2355 2355 else 2356 2357 VBOX_FN_MAKE_WIN_PATH= $(subst /,\\,$(patsubst /%,Z:/%,$(1)))2356 # Z: is always FS root for Wine. 2357 VBOX_FN_MAKE_WIN_PATH = $(subst /,\\,$(patsubst /%,Z:/%,$(1))) 2358 2358 endif #!VBOX_ONLY_SDK 2359 2359 … … 2474 2474 else ifeq ($(KBUILD_HOST),darwin) # Xcode 7.3.1 nm doesn't like -t, and -x behaves very differently. Throwing in -B (bsd) to make sure. 2475 2475 VBOX_NM ?= $(subst $(REDIRECT_INT),$(REDIRECT_EXT),$(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(PATH_TOOL_$(VBOX_GCC_TOOL)_TOOLCHAIN_BIN_SLASH)nm) -p \ 2476 2476 $(if-expr $(VBOX_XCODE_VERSION_MAJOR) > 7 || ($(VBOX_XCODE_VERSION_MAJOR) == 7 && $(VBOX_XCODE_VERSION_MINOR) >= 3),-B,) 2477 2477 else 2478 2478 VBOX_NM ?= nm -p -t x … … 2492 2492 VBOX_PATH_WIX ?= $(KBUILD_DEVTOOLS)/win.x86/wix/v3.11.2 2493 2493 ifdef VBOX_WITH_NEW_WINDOWS_SDK 2494 VBOX_PATH_MSITRAN?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/../x86/MsiTran.Exe2495 VBOX_PATH_MSIDB?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/../x86/MsiDb.Exe2496 VBOX_PATH_WISUBSTG?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/WiSubStg.vbs2497 VBOX_PATH_WISUMINFO ?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/WiSumInf.vbs2494 VBOX_PATH_MSITRAN ?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/../x86/MsiTran.Exe 2495 VBOX_PATH_MSIDB ?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/../x86/MsiDb.Exe 2496 VBOX_PATH_WISUBSTG ?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/WiSubStg.vbs 2497 VBOX_PATH_WISUMINFO ?= $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/WiSumInf.vbs 2498 2498 else 2499 VBOX_PATH_MSITRAN?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Bin/MsiTran.Exe2500 VBOX_PATH_MSIDB?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Bin/MsiDb.Exe2501 VBOX_PATH_WISUBSTG?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Samples/sysmgmt/msi/scripts/WiSubStg.vbs2502 VBOX_PATH_WISUMINFO ?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Samples/sysmgmt/msi/scripts/WiSumInf.vbs2499 VBOX_PATH_MSITRAN ?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Bin/MsiTran.Exe 2500 VBOX_PATH_MSIDB ?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Bin/MsiDb.Exe 2501 VBOX_PATH_WISUBSTG ?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Samples/sysmgmt/msi/scripts/WiSubStg.vbs 2502 VBOX_PATH_WISUMINFO ?= $(KBUILD_DEVTOOLS)/win.x86/sdk/v7.1/Samples/sysmgmt/msi/scripts/WiSumInf.vbs 2503 2503 endif 2504 2504 VBOX_PATH_DIFX ?= $(KBUILD_DEVTOOLS)/win.$(KBUILD_TARGET_ARCH)/DIFx/v2.1-r3 … … 2515 2515 ifeq ($(KBUILD_HOST),win) 2516 2516 ifndef TOOL_BISON_YACC 2517 TOOL_BISON_YACC:= $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/win_flex_bison/v*/*bison*$(HOSTSUFF_EXE))) bison.exe)2517 TOOL_BISON_YACC := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/win_flex_bison/v*/*bison*$(HOSTSUFF_EXE))) bison.exe) 2518 2518 endif 2519 2519 ifndef TOOL_FLEX_LEX 2520 TOOL_FLEX_LEX:= $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/win_flex_bison/v*/*flex*$(HOSTSUFF_EXE))) flex.exe)2520 TOOL_FLEX_LEX := $(firstfile $(rversortfiles $(qwildcard ,$(KBUILD_DEVTOOLS)/win.x86/win_flex_bison/v*/*flex*$(HOSTSUFF_EXE))) flex.exe) 2521 2521 endif 2522 2522 endif … … 2538 2538 # forgets to quote it when creating the commandline and cl.exe gets very confused. 2539 2539 if1of (quote, $(KMK_FEATURES)) 2540 VBOX_MIDL_REDIRECT= $(REDIRECT) --prepend "$(quote-sh-dq PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL)_BIN);$(qaddsuffix ,;,$(PATH_TOOL_$(VBOX_VCC_TOOL)_DLL_BIN)))" --2541 VBOX_MIDL_REDIRECT_X86 = $(REDIRECT) --prepend "$(quote-sh-dq PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_BIN);$(qaddsuffix ,;,$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_DLL_BIN)))" --2540 VBOX_MIDL_REDIRECT = $(REDIRECT) --prepend "$(quote-sh-dq PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL)_BIN);$(qaddsuffix ,;,$(PATH_TOOL_$(VBOX_VCC_TOOL)_DLL_BIN)))" -- 2541 VBOX_MIDL_REDIRECT_X86 = $(REDIRECT) --prepend "$(quote-sh-dq PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_BIN);$(qaddsuffix ,;,$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_DLL_BIN)))" -- 2542 2542 else 2543 VBOX_MIDL_REDIRECT= $(REDIRECT) --prepend 'PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL)_BIN);$(PATH)' --2544 VBOX_MIDL_REDIRECT_X86 = $(REDIRECT) --prepend 'PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_BIN);$(PATH)' --2543 VBOX_MIDL_REDIRECT = $(REDIRECT) --prepend 'PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL)_BIN);$(PATH)' -- 2544 VBOX_MIDL_REDIRECT_X86 = $(REDIRECT) --prepend 'PATH=$(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_BIN);$(PATH)' -- 2545 2545 endif 2546 2546 VBOX_MIDL_CPP_CMD = $(lastword $(notdir ,$(subst $(EXEC_X86_WIN32),,$(TOOL_$(VBOX_VCC_TOOL)_CC)))) … … 2583 2583 endif 2584 2584 VBOX_PATH_XPCOM_IDL ?= $(VBOX_PATH_SDK)/bindings/xpcom/idl 2585 VBOX_XPCOM_INCS ?= 2586 $(VBOX_PATH_SDK)/bindings/xpcom/include 2587 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom 2588 $(VBOX_PATH_SDK)/bindings/xpcom/include/string 2589 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom 2585 VBOX_XPCOM_INCS ?= \ 2586 $(VBOX_PATH_SDK)/bindings/xpcom/include \ 2587 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \ 2588 $(VBOX_PATH_SDK)/bindings/xpcom/include/string \ 2589 $(VBOX_PATH_SDK)/bindings/xpcom/include/xpcom \ 2590 2590 $(VBOX_PATH_SDK)/bindings/xpcom/include/nsprpub \ 2591 2591 $(VBOX_PATH_SDK)/bindings/xpcom/include/ipcd … … 2648 2648 VBOX_XCODE_VERSION := 4.1 2649 2649 else 2650 # Fallback - system / LocalConfig.kmk.2650 # Fallback - system / LocalConfig.kmk. 2651 2651 VBOX_PATH_MACOSX_DEVEL_ROOT ?= /Developer 2652 2652 VBOX_PATH_MACOSX_SDK_ROOT ?= $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs … … 2663 2663 ifndef VBOX_PATH_MACOSX_SDK_ROOT 2664 2664 VBOX_PATH_MACOSX_SDK_ROOT := $(firstword $(wildcard \ 2665 2666 2667 2668 2669 2665 $(PATH_TOOL_$(VBOX_GCC_TOOL)_SDKS) \ 2666 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs/. \ 2667 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/. \ 2668 /Developer/SDKs/. \ 2669 /Library/Developer/CommandLineTools/SDKs/. )) 2670 2670 endif 2671 2671 ifndef VBOX_PATH_MACOSX_TOOLCHAIN_ROOT 2672 2672 VBOX_PATH_MACOSX_TOOLCHAIN_ROOT := $(firstword $(wildcard \ 2673 2674 2675 2676 2677 2678 2673 $(PATH_TOOL_$(VBOX_GCC_TOOL)_TOOLCHAIN) \ 2674 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Library/Developer/CommandLineTools/. \ 2675 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Toolchains/XcodeDefault.xctoolchain/. \ 2676 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/. \ 2677 /Library/Developer/CommandLineTools/. \ 2678 ) /. ) 2679 2679 endif 2680 2680 else … … 2700 2700 endif 2701 2701 if !defined(VBOX_PATH_MACOSX_SDK) && !defined(VBOX_WITH_EVEN_NEWER_XCODE) # newer xcode handles this above 2702 VBOX_PATH_MACOSX_SDK_ROOT_DIRS ?= \2703 $(VBOX_PATH_MACOSX_SDK_ROOT) \2704 $(KBUILD_DEVTOOLS)/darwin.x86/SDKs/ \2705 $(KBUILD_DEVTOOLS)/darwin.amd64/SDKs/ \2706 $(KBUILD_DEVTOOLS)/darwin.x86/xcode/v4.1/SDKs \2707 $(KBUILD_DEVTOOLS)/darwin.x86/xcode/v3.2.6/SDKs2702 VBOX_PATH_MACOSX_SDK_ROOT_DIRS ?= \ 2703 $(VBOX_PATH_MACOSX_SDK_ROOT) \ 2704 $(KBUILD_DEVTOOLS)/darwin.x86/SDKs/ \ 2705 $(KBUILD_DEVTOOLS)/darwin.amd64/SDKs/ \ 2706 $(KBUILD_DEVTOOLS)/darwin.x86/xcode/v4.1/SDKs \ 2707 $(KBUILD_DEVTOOLS)/darwin.x86/xcode/v3.2.6/SDKs 2708 2708 ifeq ($(VBOX_DEF_MACOSX_VERSION_MIN),10.4) 2709 VBOX_PATH_MACOSX_SDK := $(firstword $(wildcard $(addsuffix /MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN)u.sdk, $(VBOX_PATH_MACOSX_SDK_ROOT_DIRS))) \2710 $(VBOX_PATH_MACOSX_SDK_ROOT)/MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN)u.sdk )2709 VBOX_PATH_MACOSX_SDK := $(firstword $(wildcard $(addsuffix /MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN)u.sdk, $(VBOX_PATH_MACOSX_SDK_ROOT_DIRS))) \ 2710 $(VBOX_PATH_MACOSX_SDK_ROOT)/MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN)u.sdk ) 2711 2711 else 2712 VBOX_PATH_MACOSX_SDK := $(firstword $(wildcard $(addsuffix /MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN).sdk, $(VBOX_PATH_MACOSX_SDK_ROOT_DIRS))) \2713 $(VBOX_PATH_MACOSX_SDK_ROOT)/MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN).sdk )2712 VBOX_PATH_MACOSX_SDK := $(firstword $(wildcard $(addsuffix /MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN).sdk, $(VBOX_PATH_MACOSX_SDK_ROOT_DIRS))) \ 2713 $(VBOX_PATH_MACOSX_SDK_ROOT)/MacOSX$(VBOX_DEF_MACOSX_VERSION_MIN).sdk ) 2714 2714 endif 2715 2715 endif … … 2818 2818 else 2819 2819 VBOX_DARWIN_DEF_SDK_DEFS := MAC_OS_X_VERSION_MIN_REQUIRED=$(VBOX_DEF_MACOSX_VERSION_MIN_NO_DOT)0 \ 2820 2820 MAC_OS_X_VERSION_MAX_ALLOWED=$(VBOX_DEF_MACOSX_VERSION_MIN_NO_DOT)0 2821 2821 VBOX_DARWIN_DEF_SDK_CFLAGS := -mmacosx-version-min=$(VBOX_DEF_MACOSX_VERSION_MIN) -isysroot "$(VBOX_PATH_MACOSX_SDK)" 2822 2822 VBOX_DARWIN_DEF_SDK_CXXFLAGS := -mmacosx-version-min=$(VBOX_DEF_MACOSX_VERSION_MIN) -isysroot "$(VBOX_PATH_MACOSX_SDK)" … … 2968 2968 ifeq ($(KBUILD_TYPE),asan) 2969 2969 if "$(KBUILD_TARGET)" == "linux" 2970 VBOX_WITH_GCC_SANITIZER := 12970 VBOX_WITH_GCC_SANITIZER := 1 2971 2971 else if "$(KBUILD_TARGET)" == "darwin" 2972 VBOX_WITH_GCC_SANITIZER := 12972 VBOX_WITH_GCC_SANITIZER := 1 2973 2973 else if "$(KBUILD_TARGET)" == "win" 2974 VBOX_WITH_VCC_SANITIZER := 12974 VBOX_WITH_VCC_SANITIZER := 1 2975 2975 else 2976 VBOX_WITH_EF_WRAPS := 12976 VBOX_WITH_EF_WRAPS := 1 2977 2977 endif 2978 2978 endif … … 3070 3070 3071 3071 ifndef VBOX_NOINC_DYNAMIC_CONFIG_KMK 3072 # 3073 # GCC and YASM dynamic properties. 3074 # Most of this is resolved on first kmk invocation and cached in PATH_OUT. 3075 # 3076 # Note! That a harmless warning is printed if the file doesn't exist. 3077 # Note! Changes in GCC are not detected automatically (yet). 3078 # 3079 if $(pos VBox,$(VBOX_GCC_TOOL)) > 0 3080 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 3081 else 3082 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk 3083 endif 3084 ifneq ($(VBOX_GCC_TOOL),$(VBOX_GCC32_TOOL)) 3085 if $(pos VBox,$(VBOX_GCC32_TOOL)) > 0 3086 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC32_TOOL).kmk 3072 # 3073 # GCC and YASM dynamic properties. 3074 # Most of this is resolved on first kmk invocation and cached in PATH_OUT. 3075 # 3076 # Note! That a harmless warning is printed if the file doesn't exist. 3077 # Note! Changes in GCC are not detected automatically (yet). 3078 # 3079 if $(pos VBox,$(VBOX_GCC_TOOL)) > 0 3080 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 3087 3081 else 3088 include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk 3089 endif 3090 endif 3091 3092 # These tests never worked on Windows because of /dev/null, so, there 3093 # can be no harm in just dropping them until cygwin is mp safe. 3094 ifeq ($(KBUILD_HOST),win) 3095 VBOX_GCC_CHECK_EX_CC = $(3) 3096 VBOX_GCC_CHECK_EX_CXX = $(3) 3097 VBOX_GCC_CHECK_EX_LD = $(3) 3098 VBOX_GCC_CHECK_CC = $(2) 3099 VBOX_GCC_CHECK_CXX = $(2) 3100 VBOX_GCC_CHECK_LD = $(2) 3101 VBOX_GCC32_CHECK_CXX = $(2) 3102 else 3103 # Note! The chcking for 'error: unknown warning option' is for clang on darwin not giving us a 3104 # non-zero exit code when using an invalid option here, but it does later on. 3105 ifndef CLOSEPAR 3106 CLOSEPAR := ) 3107 endif 3108 VBOX_GCC_CHECK_EX_CC_CXX = $(shell \ 3109 if $(1) $(subst -Wno-,-W,$(2)) -Werror -c -o /dev/null $(4) > /dev/null 2>&1; then \ 3110 case "`LC_ALL=C $(1) $(subst -Wno-,-W,$(2)) -Werror -c -o /dev/null $(4) 2>&1`" in \ 3111 "error: unknown warning option"*$(CLOSEPAR) echo "$(3)";; \ 3112 *$(CLOSEPAR) echo "$(2)";; \ 3113 esac; \ 3114 else echo "$(3)"; fi; ) 3115 VBOX_GCC_CHECK_EX_CC = $(call VBOX_GCC_CHECK_EX_CC_CXX,$(1),$(2),$(3),-xc $(PATH_OUT)/DynamicConfig.c) 3116 VBOX_GCC_CHECK_EX_CXX = $(call VBOX_GCC_CHECK_EX_CC_CXX,$(1),$(2),$(3),-xc++ $(PATH_OUT)/DynamicConfig.cpp) 3117 VBOX_GCC_CHECK_EX_LD = $(shell \ 3118 if $(1) -Wl,$(2) $(if $(eq $(KBUILD_HOST),darwin),-Wl$(COMMA)-u$(COMMA)start -Wl$(COMMA)-undefined$(COMMA)dynamic_lookup,) \ 3119 -nostdlib -o /dev/null -xc /dev/null > /dev/null 2>&1; \ 3120 then echo "-Wl,$(2)"; else echo "$(3)"; fi; ) 3121 3122 VBOX_GCC_CHECK_CC = $(call VBOX_GCC_CHECK_EX_CC, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_CC),$1,$2) 3123 VBOX_GCC_CHECK_CXX = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_CXX),$1,$2) 3124 VBOX_GCC_CHECK_LD = $(call VBOX_GCC_CHECK_EX_LD, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_LD),$1,$2) 3125 VBOX_GCC32_CHECK_CXX = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC32_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC32_TOOL)_CXX),$1,$2) 3126 endif 3127 3128 ifeq ($(KBUILD_HOST),win) 3129 # We're not using gcc on windows anymore, just cook the result. 3130 VBOX_GCC_VERSION := $(expr 10000 * 3 + 100 * 3 + 3) 3131 else 3132 # This is kind of bad, the returned string needs to be re-evaluated before use. 3133 # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)). 3134 # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`. 3135 # gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`! 3136 VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion) | \ 3137 $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|' ) 3138 ifeq ($(KBUILD_TARGET), darwin) 3139 VBOX_CLANG_VERSION = $(shell $(1) --version | \ 3140 $(SED_EXT) -n 's|.*version \([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|p' ) 3141 endif 3142 endif 3143 3144 # YASM macros 3145 ifndef DONT_USE_YASM 3146 include $(KBUILD_PATH)/tools/YASM.kmk 3147 if1of ($(KBUILD_HOST), win os2) 3148 VBOX_YASM_CHECK = $(if-expr "$(shell $(TOOL_YASM_AS) -e -o nul $1 - < /dev/null 2>&1)" == "",$(1),) 3082 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk 3083 endif 3084 ifneq ($(VBOX_GCC_TOOL),$(VBOX_GCC32_TOOL)) 3085 if $(pos VBox,$(VBOX_GCC32_TOOL)) > 0 3086 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC32_TOOL).kmk 3087 else 3088 include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk 3089 endif 3090 endif 3091 3092 # These tests never worked on Windows because of /dev/null, so, there 3093 # can be no harm in just dropping them until cygwin is mp safe. 3094 ifeq ($(KBUILD_HOST),win) 3095 VBOX_GCC_CHECK_EX_CC = $(3) 3096 VBOX_GCC_CHECK_EX_CXX = $(3) 3097 VBOX_GCC_CHECK_EX_LD = $(3) 3098 VBOX_GCC_CHECK_CC = $(2) 3099 VBOX_GCC_CHECK_CXX = $(2) 3100 VBOX_GCC_CHECK_LD = $(2) 3101 VBOX_GCC32_CHECK_CXX = $(2) 3149 3102 else 3150 VBOX_YASM_CHECK = $(if-expr "$(shell $(TOOL_YASM_AS) -e -o /dev/null $1 - < /dev/null 2>&1)" == "",$(1),) 3151 endif 3152 else 3153 VBOX_YASM_CHECK = 3154 endif 3155 3156 # NASM macros (input and output must differ with recent versions (strcmp)). 3157 ifndef DONT_USE_NASM 3158 include $(KBUILD_PATH)/tools/NASM.kmk 3159 if1of ($(KBUILD_HOST), win os2) 3160 VBOX_NASM_CHECK = $(if-expr "$(shell $(TOOL_NASM_AS) -e -o nul $1 NUL 2>&1)" == "",$(1),$(2)) 3103 # Note! The chcking for 'error: unknown warning option' is for clang on darwin not giving us a 3104 # non-zero exit code when using an invalid option here, but it does later on. 3105 ifndef CLOSEPAR 3106 CLOSEPAR := ) 3107 endif 3108 VBOX_GCC_CHECK_EX_CC_CXX = $(shell \ 3109 if $(1) $(subst -Wno-,-W,$(2)) -Werror -c -o /dev/null $(4) > /dev/null 2>&1; then \ 3110 case "`LC_ALL=C $(1) $(subst -Wno-,-W,$(2)) -Werror -c -o /dev/null $(4) 2>&1`" in \ 3111 "error: unknown warning option"*$(CLOSEPAR) echo "$(3)";; \ 3112 *$(CLOSEPAR) echo "$(2)";; \ 3113 esac; \ 3114 else echo "$(3)"; fi; ) 3115 VBOX_GCC_CHECK_EX_CC = $(call VBOX_GCC_CHECK_EX_CC_CXX,$(1),$(2),$(3),-xc $(PATH_OUT)/DynamicConfig.c) 3116 VBOX_GCC_CHECK_EX_CXX = $(call VBOX_GCC_CHECK_EX_CC_CXX,$(1),$(2),$(3),-xc++ $(PATH_OUT)/DynamicConfig.cpp) 3117 VBOX_GCC_CHECK_EX_LD = $(shell \ 3118 if $(1) -Wl,$(2) $(if $(eq $(KBUILD_HOST),darwin),-Wl$(COMMA)-u$(COMMA)start -Wl$(COMMA)-undefined$(COMMA)dynamic_lookup,) \ 3119 -nostdlib -o /dev/null -xc /dev/null > /dev/null 2>&1; \ 3120 then echo "-Wl,$(2)"; else echo "$(3)"; fi; ) 3121 3122 VBOX_GCC_CHECK_CC = $(call VBOX_GCC_CHECK_EX_CC, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_CC),$1,$2) 3123 VBOX_GCC_CHECK_CXX = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_CXX),$1,$2) 3124 VBOX_GCC_CHECK_LD = $(call VBOX_GCC_CHECK_EX_LD, $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC_TOOL)_LD),$1,$2) 3125 VBOX_GCC32_CHECK_CXX = $(call VBOX_GCC_CHECK_EX_CXX, $(TOOL_$(VBOX_GCC32_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC32_TOOL)_CXX),$1,$2) 3126 endif 3127 3128 ifeq ($(KBUILD_HOST),win) 3129 # We're not using gcc on windows anymore, just cook the result. 3130 VBOX_GCC_VERSION := $(expr 10000 * 3 + 100 * 3 + 3) 3161 3131 else 3162 VBOX_NASM_CHECK = $(if-expr "$(shell $(TOOL_NASM_AS) -e -o /dev/./null $1 /dev/null 2>&1)" == "",$(1),$(2)) 3163 endif 3164 else 3165 VBOX_NASM_CHECK = 3166 endif 3167 3168 # Figures the pylint version. 3169 VBOX_PYLINT_FIGURE_VERSION = $(shell $(1) --version 2> /dev/null \ 3170 | $(SED_EXT) -n -e 's/pylint-[^[:blank:]]*/pylint/' \ 3171 -e 's|^ *pylint *\([0-9][0-9]*\).\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' ) 3172 3173 # Java stuff. 3174 ifeq ($(KBUILD_TARGET), darwin) 3175 VBOX_JAVA_BIN_PATH = $(firstword $(wildcard \ 3176 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands \ 3177 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands \ 3178 $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 4,/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands,) \ 3179 $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 10,/Library/Java/JavaVirtualMachines/jdk1.8.*.jdk/Contents/Home/bin,) \ 3180 ) /usr/bin) 3181 VBOX_JAVA = $(VBOX_JAVA_BIN_PATH)/java 3182 VBOX_JAVAC = $(VBOX_JAVA_BIN_PATH)/javac 3183 VBOX_JAVAH = $(VBOX_JAVA_BIN_PATH)/javah 3184 VBOX_JAR = $(VBOX_JAVA_BIN_PATH)/jar 3185 VBOX_JAVADOC = $(VBOX_JAVA_BIN_PATH)/javadoc 3186 VBOX_WSIMPORT = $(VBOX_JAVA_BIN_PATH)/wsimport 3187 if $(VBOX_XCODE_VERSION_MAJOR) >= 4 # Lion (4.1-preview 5) has a broken CurrentJDK link. Blindly applying it to 4.0. 3188 VBOX_JAVA_INC = $(firstword $(wildcard \ 3189 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers \ 3190 /Library/Java/JavaVirtualMachines/jdk1.8.*.jdk/Contents/Home/include \ 3191 ) ) 3132 # This is kind of bad, the returned string needs to be re-evaluated before use. 3133 # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)). 3134 # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`. 3135 # gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`! 3136 VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion) | \ 3137 $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|' ) 3138 ifeq ($(KBUILD_TARGET),darwin) 3139 VBOX_CLANG_VERSION = $(shell $(1) --version | \ 3140 $(SED_EXT) -n 's|.*version \([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|p' ) 3141 endif 3142 endif 3143 3144 # YASM macros 3145 ifndef DONT_USE_YASM 3146 include $(KBUILD_PATH)/tools/YASM.kmk 3147 if1of ($(KBUILD_HOST), win os2) 3148 VBOX_YASM_CHECK = $(if-expr "$(shell $(TOOL_YASM_AS) -e -o nul $1 - < /dev/null 2>&1)" == "",$(1),) 3149 else 3150 VBOX_YASM_CHECK = $(if-expr "$(shell $(TOOL_YASM_AS) -e -o /dev/null $1 - < /dev/null 2>&1)" == "",$(1),) 3151 endif 3192 3152 else 3193 VBOX_JAVA_INC = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Headers 3194 endif 3195 3196 else # !darwin 3197 3198 ifeq ($(KBUILD_TARGET),linux) 3199 ifeq ($(origin VBOX_JAVA_HOME),undefined) 3200 # Add correct detection for you distro after the /usr/../java-6-sun line. 3201 VBOX_JAVA_HOME := $(firstword $(wildcard \ 3202 $(KBUILD_DEVTOOLS)/linux.x86/jdk1.6.0_27 \ 3203 /usr/lib/jvm/java-6-sun \ 3204 /usr/lib/jvm/java-6-openjdk \ 3205 /usr/lib/jvm/java-6-openjdk-i386 \ 3206 /usr/lib/jvm/java-6-openjdk-amd64 \ 3207 /usr/lib/jvm/java-7-openjdk-i386 \ 3208 /usr/lib/jvm/java-7-openjdk-amd64 \ 3209 /usr/lib/jvm/default-java \ 3210 /usr/lib/jvm/java \ 3211 \ 3212 /usr/lib/jvm/sun-jdk-1.6 \ 3213 ) /usr/lib/jvm/java-6-sun) 3214 endif 3215 endif 3216 3217 ifeq ($(KBUILD_TARGET),solaris) 3218 # VBOX_JAVA_HOME ?= /usr/jdk/jdk1.6.0 3219 VBOX_JAVA_HOME ?= $(firstword $(abspath $(wildcard \ 3220 /usr/jdk/latest/include/.. \ 3221 /usr/jdk/instances/jdk1.8*/include/.. \ 3222 /usr/jdk/instances/jdk1.7*/include/.. \ 3223 /usr/jdk/instances/jdk1.6*/include/.. \ 3224 )) /usr/java) 3225 endif 3226 3227 ifeq ($(KBUILD_TARGET),win) 3228 VBOX_JAVA_HOME ?= c:/jdk 3229 endif 3230 3231 VBOX_JAVA_BIN_PATH ?= $(VBOX_JAVA_HOME)/bin 3232 VBOX_JAVA ?= "$(VBOX_JAVA_BIN_PATH)/java$(HOSTSUFF_EXE)" 3233 VBOX_JAVAC = "$(VBOX_JAVA_BIN_PATH)/javac$(HOSTSUFF_EXE)" 3234 VBOX_JAVAH = "$(VBOX_JAVA_BIN_PATH)/javah$(HOSTSUFF_EXE)" 3235 VBOX_JAR = "$(VBOX_JAVA_BIN_PATH)/jar$(HOSTSUFF_EXE)" 3236 VBOX_JAVADOC = "$(VBOX_JAVA_BIN_PATH)/javadoc$(HOSTSUFF_EXE)" 3237 # With Java 11 wsimport was removed, usually part of a separate install now. 3238 VBOX_WSIMPORT = $(firstword $(wildcard $(VBOX_JAVA_BIN_PATH)/wsimport$(HOSTSUFF_EXE)) wsimport$(HOSTSUFF_EXE)) 3239 # correct for targets we care about 3240 VBOX_MD_OS = $(KBUILD_TARGET) 3241 VBOX_JAVA_INC = \ 3242 $(VBOX_JAVA_HOME)/include \ 3243 $(VBOX_JAVA_HOME)/include/$(VBOX_MD_OS) 3244 endif # !darwin 3245 # The first transform the almost usless openjdk versions like "javac 9-Ubuntu" into something the 2nd expression groks. 3246 VBOX_JAVA_FIGURE_VERSION = $(shell $(1) -version 2>&1 \ 3247 | $(SED_EXT) -n \ 3248 -e 's/ \([0-9][0-9]*\)\(-[[:alpha:]][[:alpha:]]\)/ \1.0.0\2/' \ 3249 -e 's|^[^ ]* *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' ) 3250 3251 # Test C and C++ files. 3252 $(PATH_OUT)/DynamicConfig.c $(PATH_OUT)/DynamicConfig.cpp: 3153 VBOX_YASM_CHECK = 3154 endif 3155 3156 # NASM macros (input and output must differ with recent versions (strcmp)). 3157 ifndef DONT_USE_NASM 3158 include $(KBUILD_PATH)/tools/NASM.kmk 3159 if1of ($(KBUILD_HOST), win os2) 3160 VBOX_NASM_CHECK = $(if-expr "$(shell $(TOOL_NASM_AS) -e -o nul $1 NUL 2>&1)" == "",$(1),$(2)) 3161 else 3162 VBOX_NASM_CHECK = $(if-expr "$(shell $(TOOL_NASM_AS) -e -o /dev/./null $1 /dev/null 2>&1)" == "",$(1),$(2)) 3163 endif 3164 else 3165 VBOX_NASM_CHECK = 3166 endif 3167 3168 # Figures the pylint version. 3169 VBOX_PYLINT_FIGURE_VERSION = $(shell $(1) --version 2> /dev/null \ 3170 | $(SED_EXT) -n -e 's/pylint-[^[:blank:]]*/pylint/' \ 3171 -e 's|^ *pylint *\([0-9][0-9]*\).\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' ) 3172 3173 # Java stuff. 3174 ifeq ($(KBUILD_TARGET),darwin) 3175 VBOX_JAVA_BIN_PATH = $(firstword $(wildcard \ 3176 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands \ 3177 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands \ 3178 $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 4,/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands,) \ 3179 $(if-expr $(VBOX_XCODE_VERSION_MAJOR) >= 10,/Library/Java/JavaVirtualMachines/jdk1.8.*.jdk/Contents/Home/bin,) \ 3180 ) /usr/bin) 3181 VBOX_JAVA = $(VBOX_JAVA_BIN_PATH)/java 3182 VBOX_JAVAC = $(VBOX_JAVA_BIN_PATH)/javac 3183 VBOX_JAVAH = $(VBOX_JAVA_BIN_PATH)/javah 3184 VBOX_JAR = $(VBOX_JAVA_BIN_PATH)/jar 3185 VBOX_JAVADOC = $(VBOX_JAVA_BIN_PATH)/javadoc 3186 VBOX_WSIMPORT = $(VBOX_JAVA_BIN_PATH)/wsimport 3187 if $(VBOX_XCODE_VERSION_MAJOR) >= 4 # Lion (4.1-preview 5) has a broken CurrentJDK link. Blindly applying it to 4.0. 3188 VBOX_JAVA_INC = $(firstword $(wildcard \ 3189 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers \ 3190 /Library/Java/JavaVirtualMachines/jdk1.8.*.jdk/Contents/Home/include \ 3191 ) ) 3192 else 3193 VBOX_JAVA_INC = $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Headers 3194 endif 3195 3196 else # !darwin 3197 3198 ifeq ($(KBUILD_TARGET),linux) 3199 ifeq ($(origin VBOX_JAVA_HOME),undefined) 3200 # Add correct detection for you distro after the /usr/../java-6-sun line. 3201 VBOX_JAVA_HOME := $(firstword $(wildcard \ 3202 $(KBUILD_DEVTOOLS)/linux.x86/jdk1.6.0_27 \ 3203 /usr/lib/jvm/java-6-sun \ 3204 /usr/lib/jvm/java-6-openjdk \ 3205 /usr/lib/jvm/java-6-openjdk-i386 \ 3206 /usr/lib/jvm/java-6-openjdk-amd64 \ 3207 /usr/lib/jvm/java-7-openjdk-i386 \ 3208 /usr/lib/jvm/java-7-openjdk-amd64 \ 3209 /usr/lib/jvm/default-java \ 3210 /usr/lib/jvm/java \ 3211 \ 3212 /usr/lib/jvm/sun-jdk-1.6 \ 3213 ) /usr/lib/jvm/java-6-sun) 3214 endif 3215 endif 3216 3217 ifeq ($(KBUILD_TARGET),solaris) 3218 # VBOX_JAVA_HOME ?= /usr/jdk/jdk1.6.0 3219 VBOX_JAVA_HOME ?= $(firstword $(abspath $(wildcard \ 3220 /usr/jdk/latest/include/.. \ 3221 /usr/jdk/instances/jdk1.8*/include/.. \ 3222 /usr/jdk/instances/jdk1.7*/include/.. \ 3223 /usr/jdk/instances/jdk1.6*/include/.. \ 3224 )) /usr/java) 3225 endif 3226 3227 ifeq ($(KBUILD_TARGET),win) 3228 VBOX_JAVA_HOME ?= c:/jdk 3229 endif 3230 3231 VBOX_JAVA_BIN_PATH ?= $(VBOX_JAVA_HOME)/bin 3232 VBOX_JAVA ?= "$(VBOX_JAVA_BIN_PATH)/java$(HOSTSUFF_EXE)" 3233 VBOX_JAVAC = "$(VBOX_JAVA_BIN_PATH)/javac$(HOSTSUFF_EXE)" 3234 VBOX_JAVAH = "$(VBOX_JAVA_BIN_PATH)/javah$(HOSTSUFF_EXE)" 3235 VBOX_JAR = "$(VBOX_JAVA_BIN_PATH)/jar$(HOSTSUFF_EXE)" 3236 VBOX_JAVADOC = "$(VBOX_JAVA_BIN_PATH)/javadoc$(HOSTSUFF_EXE)" 3237 # With Java 11 wsimport was removed, usually part of a separate install now. 3238 VBOX_WSIMPORT = $(firstword $(wildcard $(VBOX_JAVA_BIN_PATH)/wsimport$(HOSTSUFF_EXE)) wsimport$(HOSTSUFF_EXE)) 3239 # correct for targets we care about 3240 VBOX_MD_OS = $(KBUILD_TARGET) 3241 VBOX_JAVA_INC = \ 3242 $(VBOX_JAVA_HOME)/include \ 3243 $(VBOX_JAVA_HOME)/include/$(VBOX_MD_OS) 3244 endif # !darwin 3245 # The first transform the almost usless openjdk versions like "javac 9-Ubuntu" into something the 2nd expression groks. 3246 VBOX_JAVA_FIGURE_VERSION = $(shell $(1) -version 2>&1 \ 3247 | $(SED_EXT) -n \ 3248 -e 's/ \([0-9][0-9]*\)\(-[[:alpha:]][[:alpha:]]\)/ \1.0.0\2/' \ 3249 -e 's|^[^ ]* *\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$(DOLLAR)|$$(expr \1 * 10000 + \2 * 100 + \3)|p' ) 3250 3251 # Test C and C++ files. 3252 $(PATH_OUT)/DynamicConfig.c $(PATH_OUT)/DynamicConfig.cpp: 3253 3253 $(QUIET)$(MKDIR) -p $(@D) 3254 3254 $(QUIET)$(APPEND) -tn "$@" "int foobar(void)" "{" " return 42;" "}" "" 3255 3255 3256 # No $(QUIET) here as it's interesting to see what goes into the file.3257 $(PATH_OUT)/DynamicConfig.kmk: \3258 $(PATH_ROOT)/Config.kmk \3259 $(LOCALCFG) \3260 $(AUTOCFG) \3261 $(VBOX_GCC_PATH_CC) \3262 $(VBOX_GCC_PATH_CXX) \3263 $(VBOX_GCC_LIBGCC) \3264 $(VBOX_GCC32_PATH_CC) \3265 $(VBOX_GCC32_PATH_CXX) \3266 $(VBOX_GCC32_LIBGCC) \3267 $(if-expr "$(KBUILD_HOST).$(KBUILD_HOST_ARCH)" == "solaris.amd64" && $(KBUILD_HOST_VERSION_MINOR) >= 11 \3268 3269 3256 # No $(QUIET) here as it's interesting to see what goes into the file. 3257 $(PATH_OUT)/DynamicConfig.kmk: \ 3258 $(PATH_ROOT)/Config.kmk \ 3259 $(LOCALCFG) \ 3260 $(AUTOCFG) \ 3261 $(VBOX_GCC_PATH_CC) \ 3262 $(VBOX_GCC_PATH_CXX) \ 3263 $(VBOX_GCC_LIBGCC) \ 3264 $(VBOX_GCC32_PATH_CC) \ 3265 $(VBOX_GCC32_PATH_CXX) \ 3266 $(VBOX_GCC32_LIBGCC) \ 3267 $(if-expr "$(KBUILD_HOST).$(KBUILD_HOST_ARCH)" == "solaris.amd64" && $(KBUILD_HOST_VERSION_MINOR) >= 11 \ 3268 , /platform/i86pc/kernel/$(KBUILD_HOST_ARCH)/unix,) \ 3269 | $(PATH_OUT)/DynamicConfig.c $(PATH_OUT)/DynamicConfig.cpp 3270 3270 $(call MSG_GENERATE,,$@,) 3271 3271 $(QUIET)$(RM) -f '$@' 3272 3272 $(QUIET)$(MKDIR) -p $(@D) 3273 3273 $(QUIET)$(APPEND) '$@' '# Host version: $(KBUILD_HOST_VERSION_MAJOR).$(KBUILD_HOST_VERSION_MINOR).$(KBUILD_HOST_VERSION_PATCH); full: $(KBUILD_HOST_VERSION)' 3274 ifneq ($(KBUILD_TARGET),win)3274 ifneq ($(KBUILD_TARGET),win) 3275 3275 $(QUIET)$(APPEND) '$@' '# $(KBUILD_HOST_UNAME_SYSNAME) - $(KBUILD_HOST_UNAME_RELEASE) - $(KBUILD_HOST_UNAME_VERSION)' 3276 endif3277 ifeq ($(KBUILD_TARGET),darwin)3276 endif 3277 ifeq ($(KBUILD_TARGET),darwin) 3278 3278 $(QUIET)$(APPEND) '$@' '# VBOX_XCODE_VERSION: $(VBOX_XCODE_VERSION)' 3279 3279 $(QUIET)$(APPEND) '$@' '# VBOX_PATH_MACOSX_TOOLCHAIN_ROOT: $(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)' … … 3282 3282 $(QUIET)$(APPEND) '$@' 'VBOX_CLANG_VERSION_CC ?= $(call VBOX_CLANG_VERSION,$(TOOL_$(VBOX_GCC_TOOL)_CC))' 3283 3283 $(QUIET)$(APPEND) '$@' 'VBOX_CLANG_VERSION_CXX ?= $(call VBOX_CLANG_VERSION,$(TOOL_$(VBOX_GCC_TOOL)_CXX))' 3284 endif3285 # HC compiler switch detection.3284 endif 3285 # HC compiler switch detection. 3286 3286 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_VERSION_CC ?= $(call VBOX_GCC_VERSION,$(TOOL_$(VBOX_GCC_TOOL)_CC))' 3287 3287 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_VERSION_CXX ?= $(call VBOX_GCC_VERSION,$(TOOL_$(VBOX_GCC_TOOL)_CXX))' … … 3291 3291 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-pointer-sign ?= $(call VBOX_GCC_CHECK_CC,-Wno-pointer-sign,)' 3292 3292 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-array_bounds ?= $(call VBOX_GCC_CHECK_CC,-Wno-array-bounds,)' 3293 # -Wextra produces additional useful warnings but includes -Wno-missing-field-initializers (too noisy)3293 # -Wextra produces additional useful warnings but includes -Wno-missing-field-initializers (too noisy) 3294 3294 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wextra ?= $(call VBOX_GCC_CHECK_CC,-Wextra,)' 3295 3295 $(QUIET)$(APPEND) '$@' 'ifneq ($$(VBOX_GCC_VERSION_CC),)' … … 3334 3334 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-printf-return-value ?= $(call VBOX_GCC_CHECK_CC,-fno-printf-return-value,)' 3335 3335 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wa_cma_nocompress_debug_sections ?= $(call VBOX_GCC_CHECK_CC,-Wa$(COMMA)--nocompress-debug-sections,)' 3336 # Produce code optimized for the most common IA32/AMD64/EM64T processors. Introduced with gcc version 4.2.3336 # Produce code optimized for the most common IA32/AMD64/EM64T processors. Introduced with gcc version 4.2. 3337 3337 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_mtune-generic ?= $(call VBOX_GCC_CHECK_CC,-mtune=generic,)' 3338 3338 $(QUIET)$(APPEND) '$@' 'VBOX_LD_as_needed ?= $(call VBOX_GCC_CHECK_LD,--as-needed,)' 3339 3339 $(QUIET)$(APPEND) '$@' 'VBOX_LD_hash_style_sysv ?= $(call VBOX_GCC_CHECK_LD,--hash-style=sysv,)' 3340 3340 $(QUIET)$(APPEND) '$@' 'VBOX_LD_gc_sections ?= $(call VBOX_GCC_CHECK_LD,--gc-sections,)' 3341 # Set default attribute for ELF and MACH-O symbols to ``hidden'' to reduce the number3342 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4.3341 # Set default attribute for ELF and MACH-O symbols to ``hidden'' to reduce the number 3342 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4. 3343 3343 $(QUIET)$(APPEND) '$@' 'ifneq ($$(VBOX_GCC_VERSION_CC),)' 3344 3344 $(QUIET)$(APPEND) '$@' ' if $$(VBOX_GCC_VERSION_CC) >= 40000' … … 3346 3346 $(QUIET)$(APPEND) '$@' ' endif' 3347 3347 $(QUIET)$(APPEND) '$@' 'endif' 3348 ifn1of ($(KBUILD_TARGET),haiku)3349 # Set default attribute for inline functions to ``hidden'' to reduce the number3350 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4.3348 ifn1of ($(KBUILD_TARGET), haiku) 3349 # Set default attribute for inline functions to ``hidden'' to reduce the number 3350 # of relocation entries and PLT indirections in shared libraries. Don't allow for gcc version < 4. 3351 3351 $(QUIET)$(APPEND) '$@' 'ifneq ($$(VBOX_GCC_VERSION_CXX),)' 3352 3352 $(QUIET)$(APPEND) '$@' ' if $$(VBOX_GCC_VERSION_CXX) >= 40000' … … 3354 3354 $(QUIET)$(APPEND) '$@' ' endif' 3355 3355 $(QUIET)$(APPEND) '$@' 'endif' 3356 endif3357 # Prevent warnings about unused parameters as of gcc-4.8 / clang 6 as this warning is now very verbose3356 endif 3357 # Prevent warnings about unused parameters as of gcc-4.8 / clang 6 as this warning is now very verbose 3358 3358 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-unused-parameter ?= $(call VBOX_GCC_CHECK_CC,-Wno-unused-parameter,)' 3359 # Clang 6.3359 # Clang 6. 3360 3360 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-language-extension-token ?= $(call VBOX_GCC_CHECK_CC,-Wno-language-extension-token,)' 3361 3361 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-extended-offsetof ?= $(call VBOX_GCC_CHECK_CC,-Wno-extended-offsetof,)' … … 3365 3365 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-nested-anon-types ?= $(call VBOX_GCC_CHECK_CC,-Wno-nested-anon-types,)' 3366 3366 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-gnu-anonymous-struct ?= $(call VBOX_GCC_CHECK_CXX,-Wno-gnu-anonymous-struct,)' 3367 # Clang 11.3367 # Clang 11. 3368 3368 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-c++17-compat-mangling ?= $(call VBOX_GCC_CHECK_CXX,-Wno-c++17-compat-mangling,)' 3369 3369 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-nullability-extension ?= $(call VBOX_GCC_CHECK_CXX,-Wno-nullability-extension,)' … … 3373 3373 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-c11-extensions ?= $(call VBOX_GCC_CHECK_CXX,-Wno-c11-extensions,)' 3374 3374 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-tautological-pointer-compare ?= $(call VBOX_GCC_CHECK_CC,-Wno-tautological-pointer-compare,)' 3375 ifeq ($(KBUILD_TARGET),solaris)3375 ifeq ($(KBUILD_TARGET),solaris) 3376 3376 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_msave-args ?= $(call VBOX_GCC_CHECK_CXX,-msave-args,)' 3377 # Detect the solaris assembler. It is used by the the 4.x gcc compilers,3378 # apparently. It will not be able to handle IEMAll via a -pipe, only when3379 # passed a file. The solaris assmbler rulez ... not!3377 # Detect the solaris assembler. It is used by the the 4.x gcc compilers, 3378 # apparently. It will not be able to handle IEMAll via a -pipe, only when 3379 # passed a file. The solaris assmbler rulez ... not! 3380 3380 $(QUIET)$(APPEND) '$@' 'VBOX_AS_VERSION ?= $(shell `gcc -print-prog-name=as` -V -o /dev/null < /dev/null 2>&1 | kmk_sed -e '1!d' -e 's/^as: *//' )' 3381 3381 $(QUIET)$(APPEND) '$@' 'if $$(pos Sun Compiler Common,$$(VBOX_AS_VERSION)) > 0' … … 3385 3385 $(QUIET)$(APPEND) '$@' ' VBOX_GCC_pipe ?= -pipe' 3386 3386 $(QUIET)$(APPEND) '$@' 'endif' 3387 else3387 else 3388 3388 $(QUIET)$(APPEND) '$@' 'VBOX_GCC_pipe ?= -pipe' 3389 endif3390 # Find the compiler includes for IPRT no-crt.3391 # Note that `$(dir $(gcc -print-libgcc-file-name))/include does not work for a 64-bit cross build on a 32-bit build host.3392 ifeq ($(KBUILD_HOST),win)3393 # With the cygwin issues and gcc on windows returning a useless path, just skip this on windows.3389 endif 3390 # Find the compiler includes for IPRT no-crt. 3391 # Note that `$(dir $(gcc -print-libgcc-file-name))/include does not work for a 64-bit cross build on a 32-bit build host. 3392 ifeq ($(KBUILD_HOST),win) 3393 # With the cygwin issues and gcc on windows returning a useless path, just skip this on windows. 3394 3394 $(QUIET)$(APPEND) '$@' 'VBOX_PATH_GCC_INCS ?= ' 3395 else3395 else 3396 3396 $(QUIET)$(APPEND) '$@' 'VBOX_PATH_GCC_INCS ?= $(shell LC_ALL=C $(TOOL_$(VBOX_GCC_TOOL)_CC) -print-search-dirs|$(SED_EXT) -ne 's+^install: \(.*[^/][^/]*\)/+\1+p')/include' 3397 endif3398 # 32-bit (GC) compiler switch detection.3397 endif 3398 # 32-bit (GC) compiler switch detection. 3399 3399 $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_PATH_CC ?= $(which $(TOOL_$(VBOX_GCC32_TOOL)_CC))' 3400 3400 $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_PATH_CXX ?= $(which $(TOOL_$(VBOX_GCC32_TOOL)_CXX))' … … 3403 3403 $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_LIBGCC ?= $(shell $(TOOL_$(VBOX_GCC32_TOOL)_CC) -print-libgcc-file-name)' 3404 3404 $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_Wno-variadic-macros ?= $(call VBOX_GCC32_CHECK_CXX,-Wno-variadic-macros,)' 3405 # darwin no_compact_linkedit starting at Xcode 3.23406 ifeq ($(KBUILD_HOST),darwin)3405 # darwin no_compact_linkedit starting at Xcode 3.2 3406 ifeq ($(KBUILD_HOST),darwin) 3407 3407 $(QUIET)$(APPEND) '$@' 'VBOX_LD_no_compact_linkedit ?= $(call VBOX_GCC_CHECK_LD,-no_compact_linkedit,)' 3408 endif3409 ifn1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64)3410 # YASM3408 endif 3409 ifn1of ($(KBUILD_TARGET_ARCH), sparc32 sparc64) 3410 # YASM 3411 3411 $(QUIET)$(APPEND) '$@' '# debug: TOOL_YASM_AS="$(TOOL_YASM_AS)"' 3412 3412 $(QUIET)$(APPEND) '$@' 'VBOX_YASM_Wno-segreg-in-64bit ?= $(call VBOX_YASM_CHECK,-Wno-segreg-in-64bit,)' 3413 # NASM (--allow-64-bit: 2.12rc2)3413 # NASM (--allow-64-bit: 2.12rc2) 3414 3414 $(QUIET)$(APPEND) '$@' 'VBOX_NASM_allow_64_bit ?= $(call VBOX_NASM_CHECK,--allow-64-bit,)' 3415 endif3416 if1of ($(KBUILD_TARGET), linux)3417 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST))3415 endif 3416 if1of ($(KBUILD_TARGET), linux) 3417 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST)) 3418 3418 $(QUIET)$(RM) -f -- "[email protected]" "[email protected]" '[email protected]' 3419 3419 $(APPEND) -t '[email protected]' 'int foo() { return 42; }' … … 3423 3423 ldd "[email protected]" | $(SED_EXT) --append '$@' -re '/lib(a|ub)san\.so/!d' -e 's/.* => //' -e 's/ \(0x[0-9a-fA-F]*\) *$(DOLLAR)/ \\/' 3424 3424 $(QUIET)$(APPEND) '$@' '' 3425 # $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_SANITIZER_SO_FILES := \'3426 # $(TOOL_$(VBOX_GCC32_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC32_TOOL)_CC) -fPIC -shared \3427 # $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS) -o "[email protected]" "[email protected]"3428 # ldd "[email protected]" | $(SED_EXT) --append '$@' -re '/lib(a|ub)san\.so/!d' -e 's/.* => //' -e 's/ \(0x[0-9a-fA-F]*\) *$(DOLLAR)/ \\/'3429 # $(QUIET)$(APPEND) '$@' ''3425 # $(QUIET)$(APPEND) '$@' 'VBOX_GCC32_SANITIZER_SO_FILES := \' 3426 # $(TOOL_$(VBOX_GCC32_TOOL)_ENV_SETUP) $(TOOL_$(VBOX_GCC32_TOOL)_CC) -fPIC -shared \ 3427 # $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS) -o "[email protected]" "[email protected]" 3428 # ldd "[email protected]" | $(SED_EXT) --append '$@' -re '/lib(a|ub)san\.so/!d' -e 's/.* => //' -e 's/ \(0x[0-9a-fA-F]*\) *$(DOLLAR)/ \\/' 3429 # $(QUIET)$(APPEND) '$@' '' 3430 3430 $(QUIET)$(RM) -f -- "[email protected]" "[email protected]" '[email protected]' 3431 endif3432 endif3433 ifdef VBOX_PATH_PREFIX_MINGW323431 endif 3432 endif 3433 ifdef VBOX_PATH_PREFIX_MINGW32 3434 3434 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_VERSION_CC ?= $(call VBOX_GCC_VERSION,$(VBOX_PATH_PREFIX_MINGW32)gcc -m32)' 3435 3435 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_VERSION_CXX ?= $(call VBOX_GCC_VERSION,$(VBOX_PATH_PREFIX_MINGW32)g++ -m32)' … … 3438 3438 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_Wno-maybe-uninitialized ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW32)g++ -m32,-Wno-maybe-uninitialized,)' 3439 3439 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW32_USER_LABEL_PREFIX ?= $(shell echo "__USER_LABEL_PREFIX__" | $(VBOX_PATH_PREFIX_MINGW32)g++ -m32 -E -xc++ - | $(SED) -e "/^$(HASH)/d")' 3440 endif3441 ifdef VBOX_PATH_PREFIX_MINGW643440 endif 3441 ifdef VBOX_PATH_PREFIX_MINGW64 3442 3442 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_VERSION_CC ?= $(call VBOX_GCC_VERSION,$(VBOX_PATH_PREFIX_MINGW64)gcc -m64)' 3443 3443 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_VERSION_CXX ?= $(call VBOX_GCC_VERSION,$(VBOX_PATH_PREFIX_MINGW64)g++ -m64)' … … 3446 3446 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_Wno-maybe-uninitialized ?= $(call VBOX_GCC_CHECK_EX_CXX,$(VBOX_PATH_PREFIX_MINGW64)g++ -m64,-Wno-maybe-uninitialized,)' 3447 3447 $(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_USER_LABEL_PREFIX ?= $(shell echo "__USER_LABEL_PREFIX__" | $(VBOX_PATH_PREFIX_MINGW64)g++ -m64 -E -xc++ - | $(SED) -e "/^$(HASH)/d")' 3448 endif3449 if defined(TOOL_FLEX) || defined(TOOL_BISON)3448 endif 3449 if defined(TOOL_FLEX) || defined(TOOL_BISON) 3450 3450 echo "Do NOT include the flex or bison tools before Config.kmk gets loaded" 3451 3451 exit 1 # 3452 endif3452 endif 3453 3453 $(QUIET)$(APPEND) '$@' 'VBOX_HAVE_FLEX ?= $(firstfile $(TOOL_FLEX_LEX) $(which flex))' 3454 3454 $(QUIET)$(APPEND) '$@' 'VBOX_HAVE_BISON ?= $(firstfile $(TOOL_BISON_YACC) $(which bison))' 3455 3455 $(QUIET)$(APPEND) '$@' 'VBOX_HAVE_XMLLINT ?= $(which xmllint)' 3456 if "$(KBUILD_HOST)" == "solaris" && $(KBUILD_HOST_VERSION_MAJOR) == 5 && $(KBUILD_HOST_VERSION_MINOR) == 113457 # BRANCH_VERSION format on S11 - S11.3:3458 # <trunk_id>.<update>.<sru>.<reserved>.<buildid>.<nightly_id>3459 # e.g.: 0.175.3.32.0.4.0:20180427T232405Z - N.B. trunk_id = 0.1753460 # BRANCH_VERSION format on S11.4:3461 # <minor>.<update>.<sru>.<reserved>.<reserved>.<buildid>.<nightly_id>3462 # e.g.: 11.4.0.0.1.10.0:20180702T173343Z3463 # We're interested in <update> and <buildid>.3456 if "$(KBUILD_HOST)" == "solaris" && $(KBUILD_HOST_VERSION_MAJOR) == 5 && $(KBUILD_HOST_VERSION_MINOR) == 11 3457 # BRANCH_VERSION format on S11 - S11.3: 3458 # <trunk_id>.<update>.<sru>.<reserved>.<buildid>.<nightly_id> 3459 # e.g.: 0.175.3.32.0.4.0:20180427T232405Z - N.B. trunk_id = 0.175 3460 # BRANCH_VERSION format on S11.4: 3461 # <minor>.<update>.<sru>.<reserved>.<reserved>.<buildid>.<nightly_id> 3462 # e.g.: 11.4.0.0.1.10.0:20180702T173343Z 3463 # We're interested in <update> and <buildid>. 3464 3464 $(QUIET)$(APPEND) '$@' "VBOX_SOLARIS_11_BRANCH_VERSION := $(shell pkg contents -H -t set -o pkg.fmri system/kernel | $(SED_EXT) -e '1!d' -e 's/^.*\-//;s/\:.*//;s/.*,//')" 3465 3465 $(QUIET)$(APPEND) '$@' 'ifeq ($$(word 2, $$(subst ., ,$$(VBOX_SOLARIS_11_BRANCH_VERSION))),175)' … … 3469 3469 $(QUIET)$(APPEND) '$@' 'endif' 3470 3470 $(QUIET)$(APPEND) '$@' 'VBOX_SOLARIS_11_BUILD_VERSION := $$(word 6, $$(subst ., ,$$(VBOX_SOLARIS_11_BRANCH_VERSION)))' 3471 endif3472 if1of ($(KBUILD_HOST), darwin freebsd solaris)3471 endif 3472 if1of ($(KBUILD_HOST), darwin freebsd solaris) 3473 3473 $(QUIET)$(APPEND) '$@' 'VBOX_HOST_DTRACE_VERSION := $(shell dtrace -V)' 3474 endif3475 if defined(VBOX_PYLINT) && !defined(VBOX_WITH_PYLINT_PRE_V1_0) && !defined(VBOX_WITH_PYLINT_V1_1_PLUS) && !defined(VBOX_WITH_PYLINT_V1_2_1_PLUS)3474 endif 3475 if defined(VBOX_PYLINT) && !defined(VBOX_WITH_PYLINT_PRE_V1_0) && !defined(VBOX_WITH_PYLINT_V1_1_PLUS) && !defined(VBOX_WITH_PYLINT_V1_2_1_PLUS) 3476 3476 $(QUIET)$(APPEND) '$@' "VBOX_PYLINT_VERSION := $(call VBOX_PYLINT_FIGURE_VERSION, $(VBOX_PYLINT))" 3477 endif3478 if defined(VBOX_JAVAC)3477 endif 3478 if defined(VBOX_JAVAC) 3479 3479 $(QUIET)$(APPEND) '$@' 'VBOX_JAVA_VERSION := $(call VBOX_JAVA_FIGURE_VERSION, $(VBOX_JAVAC))' 3480 endif3480 endif 3481 3481 3482 3482 $(QUIET)$(ECHO) '========= START OF $@ =========' … … 3484 3484 $(QUIET)$(ECHO) '=========== END OF $@ =========' 3485 3485 3486 include $(PATH_OUT)/DynamicConfig.kmk3486 include $(PATH_OUT)/DynamicConfig.kmk 3487 3487 endif # !VBOX_NOINC_DYNAMIC_CONFIG_KMK 3488 3488 … … 3495 3495 ifndef VBOX_GCC_std 3496 3496 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64) # Go straight for c++17 here. 3497 VBOX_GCC_std := -std=c++173498 # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes.3499 #VBOX_GCC_std := -std=c++173497 VBOX_GCC_std := -std=c++17 3498 # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes. 3499 #VBOX_GCC_std := -std=c++17 3500 3500 else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is 3501 VBOX_GCC_std := -std=c++113502 # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12.3503 #VBOX_GCC_std := -std=gnu++173501 VBOX_GCC_std := -std=c++11 3502 # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12. 3503 #VBOX_GCC_std := -std=gnu++17 3504 3504 else if "$(VBOX_GCC_VERSION_CXX)" vge 40800 3505 VBOX_GCC_std := -std=c++113505 VBOX_GCC_std := -std=c++11 3506 3506 else if "$(VBOX_GCC_VERSION_CXX)" vge 40600 3507 VBOX_GCC_std := -std=c++0x3507 VBOX_GCC_std := -std=c++0x 3508 3508 endif 3509 3509 endif … … 3522 3522 $(VBOX_GCC_Wno-extended-offsetof) $(VBOX_GCC_Wno-gnu-folding-constant) $(VBOX_GCC_Wno-gnu-anonymous-struct) \ 3523 3523 $(VBOX_GCC_Wlogical-op) $(VBOX_GCC_Wno-string-plus-int) $(VBOX_GCC_Wno-nested-anon-types) $(VBOX_GCC_Wno-variadic-macros) \ 3524 3524 $(VBOX_GCC_Wno-c++17-compat-mangling) 3525 3525 VBOX_GCC_WARN_PEDANTIC = -Wshadow $(VBOX_GCC_WARN) -Wno-long-long 3526 3526 if $(VBOX_GCC_VERSION_CXX) >= 40200 || defined(VBOX_WITH_MASOCHISTIC_WARNINGS) # gcc 4.2.x+ (4.1.2 is causing trouble with the extpack & add builds) … … 3742 3742 # 3743 3743 if1of ($(KBUILD_TYPE), debug dbgopt strict) 3744 #not yet# VBOX_WITH_DEBUG_VCC_CRT = 13744 #not yet# VBOX_WITH_DEBUG_VCC_CRT = 1 3745 3745 endif 3746 3746 ifdef VBOX_WITH_DEBUG_VCC_CRT … … 3856 3856 VBOX_EDIT_VERSION_RULE_FN = $(eval $(value VBOX_EDIT_VERSION_RULE_DEF)) 3857 3857 define VBOX_EDIT_VERSION_RULE_DEF 3858 $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)): $(PATH_SUB_CURRENT)/$(2) $(VBOX_SVN_REV_KMK) | $$(dir $$@)3858 $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)): $(PATH_SUB_CURRENT)/$(2) $(VBOX_SVN_REV_KMK) | $$(dir $$@) 3859 3859 $(call MSG_GENERATE,$(1),$@,$<) 3860 3860 $(QUIET)$(call VBOX_EDIT_VERSION_CMD_FN,$<,$@) 3861 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)))3861 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2))) 3862 3862 endef 3863 3863 … … 3897 3897 VBOX_EDIT_VERSION_AND_BUILD_RULE_FN = $(eval $(VBOX_EDIT_VERSION_AND_BUILD_RULE_DEF)) 3898 3898 define VBOX_EDIT_VERSION_AND_BUILD_RULE_DEF 3899 $$$$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)): $$(PATH_SUB_CURRENT)/$(2) $$(VBOX_SVN_REV_KMK) | $$$$(dir $$$$@)3899 $$$$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)): $$(PATH_SUB_CURRENT)/$(2) $$(VBOX_SVN_REV_KMK) | $$$$(dir $$$$@) 3900 3900 $$(call MSG_GENERATE,$(1),$$@,$$<) 3901 3901 $$(QUIET)$$(call VBOX_EDIT_VERSION_AND_BUILD_CMD_FN,$$<,$$@) 3902 $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2))3902 $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(if $(3),$(3),$(2)) 3903 3903 endef 3904 3904 … … 3913 3913 VBOX_GENERATE_IMPORT_TARGET_FN = $(eval $(VBOX_GENERATE_IMPORT_TARGET_DEF)) 3914 3914 define VBOX_GENERATE_IMPORT_TARGET_DEF 3915 $(1)_TEMPLATE = VBoxR3Dll3916 $(1)_INST= $(INST_LIB)3917 if $(KBUILD_TARGET) == "darwin"3918 $(1)_LDFLAGS = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/$(2)$(SUFF_DLL)3919 else ifn1of ($(KBUILD_TARGET), os2 win)3920 $(1)_SONAME= $(2)$(SUFF_DLL)3921 endif3922 if1of ($(KBUILD_TARGET), os2 win)3923 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.def3924 $(1)_CLEAN= $$($(1)_0_OUTDIR)/$(1)Imp.def3925 else3926 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.c3927 $(1)_CLEAN= $$($(1)_0_OUTDIR)/$(1)Imp.c3928 endif3929 3930 $$$$($(1)_SOURCES): $(addprefix $(PATH_SUB_CURRENT)/,$(3)) $(PATH_ROOT)/src/bldprogs/deftoimp.sed | $$$$(dir $$$$@)3915 $(1)_TEMPLATE = VBoxR3Dll 3916 $(1)_INST = $(INST_LIB) 3917 if $(KBUILD_TARGET) == "darwin" 3918 $(1)_LDFLAGS = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/$(2)$(SUFF_DLL) 3919 else ifn1of ($(KBUILD_TARGET), os2 win) 3920 $(1)_SONAME = $(2)$(SUFF_DLL) 3921 endif 3922 if1of ($(KBUILD_TARGET), os2 win) 3923 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.def 3924 $(1)_CLEAN = $$($(1)_0_OUTDIR)/$(1)Imp.def 3925 else 3926 $(1)_SOURCES = $$($(1)_0_OUTDIR)/$(1)Imp.c 3927 $(1)_CLEAN = $$($(1)_0_OUTDIR)/$(1)Imp.c 3928 endif 3929 3930 $$$$($(1)_SOURCES): $(addprefix $(PATH_SUB_CURRENT)/,$(3)) $(PATH_ROOT)/src/bldprogs/deftoimp.sed | $$$$(dir $$$$@) 3931 3931 $$(call MSG_GENERATE,,$$@) 3932 ifeq ($(KBUILD_TARGET),os2)3932 ifeq ($(KBUILD_TARGET),os2) 3933 3933 $$(SED) \ 3934 3934 -e '/not-$(KBUILD_TARGET)/d' \ … … 3938 3938 -e 's/[ \t]DATA[ \t]*/ /' \ 3939 3939 --output $$@ $(addprefix $(PATH_SUB_CURRENT)/,$(3)) 3940 else ifeq ($(KBUILD_TARGET),win)3940 else ifeq ($(KBUILD_TARGET),win) 3941 3941 $$(SED) \ 3942 3942 -e '/not-$(KBUILD_TARGET)/d' \ 3943 3943 -e '/not-$(KBUILD_TARGET_ARCH)/d' \ 3944 3944 --output $$@ $(addprefix $(PATH_SUB_CURRENT)/,$(3)) 3945 else3945 else 3946 3946 $$(QUIET)$$(APPEND) -tn $$@ \ 3947 3947 '#ifdef VBOX_HAVE_VISIBILITY_HIDDEN' \ … … 3958 3958 -f $(PATH_ROOT)/src/bldprogs/deftoimp.sed \ 3959 3959 --append $$@ $(addprefix $(PATH_SUB_CURRENT)/,$(3)) 3960 endif3960 endif 3961 3961 endef # VBOX_GENERATE_IMPORT_TARGET_DEF 3962 3962 … … 3976 3976 # 3977 3977 VBOX_UTF8_MANIFEST_FN = \ 3978 $(QUIET)$(APPEND) -tn "$(1).manifest" \3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 $(NLTAB)$(QUIET)$(REDIRECT) -- $(requote sh,$(PATH_SDK_$(VBOX_WINPSDK)_BIN)/mt.exe) \3989 3990 $(NLTAB)$(QUIET)$(RM) -f -- "$(1).manifest"3978 $(QUIET)$(APPEND) -tn "$(1).manifest" \ 3979 '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' \ 3980 '<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">' \ 3981 ' <assemblyIdentity type="win32" name="$(notdir $(1))" processorArchitecture="$(2)" version="$(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD).$(expr $(VBOX_SVN_REV) % 50000)" />' \ 3982 ' <asmv3:application>' \ 3983 ' <asmv3:windowsSettings>' \ 3984 ' <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>' \ 3985 ' </asmv3:windowsSettings>' \ 3986 ' </asmv3:application>' \ 3987 '</assembly>' \ 3988 $(NLTAB)$(QUIET)$(REDIRECT) -- $(requote sh,$(PATH_SDK_$(VBOX_WINPSDK)_BIN)/mt.exe) \ 3989 -nologo -manifest '$(subst /,\,$(1).manifest)' '-outputresource:$(subst /,\,$(1));$(HASH)1' \ 3990 $(NLTAB)$(QUIET)$(RM) -f -- "$(1).manifest" 3991 3991 VBOX_UTF8_MANIFEST_CMDS ?= $(if-expr "$(tool_do)" == "LINK_PROGRAM",$(call VBOX_UTF8_MANIFEST_FN,$(out),$(bld_trg_arch)),) 3992 3992 else … … 4026 4026 VBOX_CCS_CLIENT_JAR := $(firstword $(rsort \ 4027 4027 $(wildcard $(KBUILD_DEVTOOLS)/common/ccs/v*/Client.jar)) \ 4028 $(KBUILD_DEVTOOLS)/common/ccs/notfound/Client.jar )4028 $(KBUILD_DEVTOOLS)/common/ccs/notfound/Client.jar ) 4029 4029 VBOX_CCS_USER ?= virtualbox_grp 4030 4030 VBOX_CCS_GLOBAL_UID ?= non-of-your-business … … 4038 4038 VBOX_CCS_SIGN_CMD = $(VBOX_RETRY) $(VBOX_JAVA) -jar "$(VBOX_CCS_CLIENT_JAR)" \ 4039 4039 sign -user "$(VBOX_CCS_USER)" -global_uid "$(VBOX_CCS_GLOBAL_UID)" \ 4040 4041 4040 -job_timeout 90 -server_timeout 75 -server "$(VBOX_CCS_SERVER)" \ 4041 -sign_method "$1" -file_to_sign "$2" -signed_location "$(if $3,$3,$(call VBOX_DIRX,$2))" $4 4042 4042 4043 4043 ifeq ($(KBUILD_HOST),win) … … 4145 4145 if $(intersects win all 1,$(VBOX_WITH_CORP_CODE_SIGNING)) 4146 4146 VBOX_SIGN_FILE_FN = $(call VBOX_CCS_SIGN_CMD,driver$(if-expr "$3" == "/ph",_pagehash,),$1,,-digest_algo $(if-expr "$5" == "",SHA1,SHA2)) \ 4147 $(if-expr "$5" == "",\4148 4149 4147 $(if-expr "$5" == "", \ 4148 $(if-expr "$6" == "",$(if-expr "$4" == "2",$$(NLTAB),$(NLTAB)),$6) \ 4149 $(call VBOX_CCS_SIGN_CMD,driver$(if-expr "$3" == "/ph",_pagehash,),$1,,-dual_sign -digest_algo SHA2)) 4150 4150 else ifdef VBOX_CERTIFICATE_SHA2_SUBJECT_NAME 4151 4151 ifdef VBOX_CERTIFICATE_SUBJECT_NAME 4152 4152 VBOX_SIGN_FILE_FN = $(if-expr "$5" == "",$(VBOX_SIGNTOOL_SHA1) \ 4153 sign /fd sha1 \4154 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \4155 $(VBOX_CERTIFICATE_STORE_ARGS) \4156 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4157 $(VBOX_CERTIFICATE_FINGERPRINT_ARGS) \4158 $(VBOX_TSA_URL_ARGS) \4159 $(if $(strip $(2)),/d "$(strip $(2))",) \4160 $(3) \4161 "$(1)" \4162 4163 sign $(if-expr "$5" == "",/as,) /fd sha256 \4164 $(VBOX_CROSS_CERTIFICATE_SHA2_FILE_ARGS) \4165 $(VBOX_CERTIFICATE_SHA2_STORE_ARGS) \4166 $(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME_ARGS) \4167 $(VBOX_CERTIFICATE_SHA2_FINGERPRINT_ARGS) \4168 $(VBOX_TSA_SHA2_URL_ARGS) \4169 $(if $(strip $(2)),/d "$(strip $(2))",) \4170 $(3) \4171 "$(1)"4153 sign /fd sha1 \ 4154 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \ 4155 $(VBOX_CERTIFICATE_STORE_ARGS) \ 4156 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4157 $(VBOX_CERTIFICATE_FINGERPRINT_ARGS) \ 4158 $(VBOX_TSA_URL_ARGS) \ 4159 $(if $(strip $(2)),/d "$(strip $(2))",) \ 4160 $(3) \ 4161 "$(1)" \ 4162 $(if-expr "$6" == "",$(if-expr "$4" == "2",$$(NLTAB),$(NLTAB)),$6))$(VBOX_SIGNTOOL_SHA2) \ 4163 sign $(if-expr "$5" == "",/as,) /fd sha256 \ 4164 $(VBOX_CROSS_CERTIFICATE_SHA2_FILE_ARGS) \ 4165 $(VBOX_CERTIFICATE_SHA2_STORE_ARGS) \ 4166 $(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME_ARGS) \ 4167 $(VBOX_CERTIFICATE_SHA2_FINGERPRINT_ARGS) \ 4168 $(VBOX_TSA_SHA2_URL_ARGS) \ 4169 $(if $(strip $(2)),/d "$(strip $(2))",) \ 4170 $(3) \ 4171 "$(1)" 4172 4172 else 4173 4173 VBOX_SIGN_FILE_FN = $(VBOX_SIGNTOOL_SHA2) \ 4174 sign /fd sha256 \4175 $(VBOX_CROSS_CERTIFICATE_SHA2_FILE_ARGS) \4176 $(VBOX_CERTIFICATE_SHA2_STORE_ARGS) \4177 $(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME_ARGS) \4178 $(VBOX_CERTIFICATE_SHA2_FINGERPRINT_ARGS) \4179 $(VBOX_TSA_SHA2_URL_ARGS) \4180 $(if $(strip $(2)),/d "$(strip $(2))",) \4181 $(3) \4182 "$(1)"4174 sign /fd sha256 \ 4175 $(VBOX_CROSS_CERTIFICATE_SHA2_FILE_ARGS) \ 4176 $(VBOX_CERTIFICATE_SHA2_STORE_ARGS) \ 4177 $(VBOX_CERTIFICATE_SHA2_SUBJECT_NAME_ARGS) \ 4178 $(VBOX_CERTIFICATE_SHA2_FINGERPRINT_ARGS) \ 4179 $(VBOX_TSA_SHA2_URL_ARGS) \ 4180 $(if $(strip $(2)),/d "$(strip $(2))",) \ 4181 $(3) \ 4182 "$(1)" 4183 4183 endif 4184 4184 else 4185 4185 VBOX_SIGN_FILE_FN = $(VBOX_SIGNTOOL) \ 4186 sign /fd $(firstword $(VBOX_TEST_SIGN_ALGORITHM) sha256) \4187 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \4188 $(VBOX_CERTIFICATE_STORE_ARGS) \4189 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4190 $(VBOX_CERTIFICATE_FINGERPRINT_ARGS) \4191 $(VBOX_TSA_URL_ARGS) \4192 $(if $(strip $(2)),/d "$(strip $(2))",) \4193 $(3) \4194 "$(1)"4186 sign /fd $(firstword $(VBOX_TEST_SIGN_ALGORITHM) sha256) \ 4187 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \ 4188 $(VBOX_CERTIFICATE_STORE_ARGS) \ 4189 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4190 $(VBOX_CERTIFICATE_FINGERPRINT_ARGS) \ 4191 $(VBOX_TSA_URL_ARGS) \ 4192 $(if $(strip $(2)),/d "$(strip $(2))",) \ 4193 $(3) \ 4194 "$(1)" 4195 4195 endif 4196 4196 endif … … 4204 4204 else ifdef VBOX_CERTIFICATE_EV_SUBJECT_NAME 4205 4205 VBOX_SIGN_EV_FILE_FN = $(VBOX_SIGNTOOL_SHA2) \ 4206 sign /fd sha256 \4207 $(VBOX_CERTIFICATE_EV_STORE_ARGS) \4208 $(VBOX_CERTIFICATE_EV_SUBJECT_NAME_ARGS) \4209 $(VBOX_CERTIFICATE_EV_FINGERPRINT_ARGS) \4210 $(VBOX_TSA_SHA2_URL_ARGS) \4211 "$(1)"4206 sign /fd sha256 \ 4207 $(VBOX_CERTIFICATE_EV_STORE_ARGS) \ 4208 $(VBOX_CERTIFICATE_EV_SUBJECT_NAME_ARGS) \ 4209 $(VBOX_CERTIFICATE_EV_FINGERPRINT_ARGS) \ 4210 $(VBOX_TSA_SHA2_URL_ARGS) \ 4211 "$(1)" 4212 4212 endif 4213 4213 endif … … 4235 4235 # 4236 4236 # @remarks The parameters are the same as VBOX_SIGN_FILE_FN. 4237 VBOX_SIGN_IMAGE_WITH_EV_FN = $(call VBOX_SIGN_FILE_FN,$1,$2,$3,$4,$5)$(if-expr "$5" == "" && "$(target)" != "bldRTSignTool", \4238 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(RM) -f -- "$1.dual" \4237 VBOX_SIGN_IMAGE_WITH_EV_FN = $(call VBOX_SIGN_FILE_FN,$1,$2,$3,$4,$5)$(if-expr "$5" == "" && "$(target)" != "bldRTSignTool", \ 4238 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(RM) -f -- "$1.dual" \ 4239 4239 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(CP) -- "$1" "$1.dual" \ 4240 4240 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(call VBOX_CCS_SIGN_CMD,microsoftev,$1,,-digest_algo SHA2) \ … … 4262 4262 # @remarks The parameters are the same as VBOX_SIGN_FILE_FN. 4263 4263 VBOX_SIGN_IMAGE_PLAN_B_FN = $(VBOX_SIGNTOOL_SHA1) \ 4264 sign /fd sha1 \4264 sign /fd sha1 \ 4265 4265 $(VBOX_CROSS_CERTIFICATE_FILE_ARGS) \ 4266 4266 $(VBOX_CERTIFICATE_STORE_ARGS) \ … … 4271 4271 $(3) \ 4272 4272 "$(1)" \ 4273 $(if-expr "$5" == "", \4274 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(RM) -f -- "$1.ccs" \4273 $(if-expr "$5" == "", \ 4274 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(RM) -f -- "$1.ccs" \ 4275 4275 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(CP) -- "$1" "$1.ccs" \ 4276 4276 $(if-expr "$4" == "2",$$(NLTAB),$(NLTAB))$(call VBOX_CCS_SIGN_CMD,driver$(if-expr "$3" == "/ph",_pagehash,),$1.ccs,,-digest_algo SHA2) \ … … 4283 4283 # @param 2 File description. Optional. 4284 4284 # @param 3 Set to 2 if the expression will be expanded twice before chopped into commands (for _CMDS). 4285 if1of (win_with_ev, $(VBOX_WITH_CORP_CODE_SIGNING))4285 if1of (win_with_ev, $(VBOX_WITH_CORP_CODE_SIGNING)) 4286 4286 VBOX_SIGN_IMAGE_FN ?= $(call VBOX_SIGN_IMAGE_WITH_EV_FN,$(1),$(2),/ph,$(3)) 4287 4287 VBOX_SIGN_IMAGE_ORDERDEPS ?= $(VBOX_RTSIGNTOOL) $(VBOX_SIGNTOOL_ORDERDEPS) … … 4306 4306 ifndef VBOX_MAKE_CAT_HLP_FN 4307 4307 VBOX_MAKE_CAT_HLP_FN = \ 4308 $(RM) -f -- "$(2)"\4309 $(NL)$(TAB)$(VBOX_INF2CAT) "/driver:$(strip $(1))" "/os:$(strip $(subst ;,$(COMMA),$(3)))" /verbose \4310 $(NL)$(TAB)$(MV) -- "$(2)" "$(2)"4308 $(RM) -f -- "$(2)" \ 4309 $(NL)$(TAB)$(VBOX_INF2CAT) "/driver:$(strip $(1))" "/os:$(strip $(subst ;,$(COMMA),$(3)))" /verbose \ 4310 $(NL)$(TAB)$(MV) -- "$(2)" "$(2)" 4311 4311 if $(intersects win_planb,$(VBOX_WITH_CORP_CODE_SIGNING)) 4312 4312 VBOX_MAKE_CAT_HLP_FN += $(NL)$(TAB)$(call VBOX_SIGN_IMAGE_PLAN_B_FN,$(2),,,$(NL)$(TAB)) … … 4346 4346 # @param 2 Identifier, optional. 4347 4347 ifeq ($(VBOX_SIGNING_MODE),adhoc) 4348 if $(intersects darwin all 1,$(VBOX_WITH_CORP_CODE_SIGNING)) 4349 ## @todo cannot handle $(2), the identifier. 4350 VBOX_SIGN_IMAGE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB) \ 4351 $(call VBOX_CCS_SIGN_CMD,binary,$(1),,$(subst --entitlements=,-entitlement_file_path ,$(3)) \ 4352 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),-hardened_runtime)) 4348 if $(intersects darwin all 1,$(VBOX_WITH_CORP_CODE_SIGNING)) 4349 ## @todo cannot handle $(2), the identifier. 4350 VBOX_SIGN_IMAGE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB) \ 4351 $(call VBOX_CCS_SIGN_CMD,binary,$(1),,$(subst --entitlements=,-entitlement_file_path ,$(3)) \ 4352 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),-hardened_runtime)) 4353 else 4354 VBOX_SIGN_IMAGE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB)$(VBOX_CODESIGN) \ 4355 --verbose=9 \ 4356 --force \ 4357 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4358 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \ 4359 --file-list - \ 4360 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4361 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4362 --entitlements="$(VBOX_DARWIN_ENTITLEMENTS_FILE)" \ 4363 "$(1)" \ 4364 $(if $(2),--identifier "$(2)",) 4365 endif 4353 4366 else 4354 VBOX_SIGN_IMAGE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB)$(VBOX_CODESIGN) \ 4355 --verbose=9 \ 4356 --force \ 4357 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4358 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \ 4359 --file-list - \ 4360 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4361 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4362 --entitlements="$(VBOX_DARWIN_ENTITLEMENTS_FILE)" \ 4363 "$(1)" \ 4364 $(if $(2),--identifier "$(2)",) 4365 endif 4366 else 4367 VBOX_SIGN_IMAGE_FN = 4367 VBOX_SIGN_IMAGE_FN = 4368 4368 endif 4369 4369 … … 4375 4375 # 4376 4376 if defined(VBOX_CERTIFICATE_FINGERPRINT) && !defined(VBOX_CERTIFICATE_SUBJECT_NAME) 4377 VBOX_CERTIFICATE_SUBJECT_NAME= $(subst $(SP),,$(VBOX_CERTIFICATE_FINGERPRINT))4377 VBOX_CERTIFICATE_SUBJECT_NAME = $(subst $(SP),,$(VBOX_CERTIFICATE_FINGERPRINT)) 4378 4378 endif 4379 4379 ifeq ($(VBOX_SIGNING_MODE),test) … … 4381 4381 VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= --sign "$(VBOX_CERTIFICATE_SUBJECT_NAME)" 4382 4382 VBOX_TSA_URL ?= none 4383 else ifeq ($(VBOX_SIGNING_MODE), 4383 else ifeq ($(VBOX_SIGNING_MODE),adhoc) 4384 4384 ifdef VBOX_CERTIFICATE_SUBJECT_NAME 4385 4385 $(error VBOX_CERTIFICATE_SUBJECT_NAME must not be set in 'adhoc' signing mode) … … 4410 4410 # @param 2 Identifier, mandatory. 4411 4411 # @param 3 The directory to put the notarized file in. Defaults to $(dir $1). 4412 VBOX_CCS_NOTARIZE_CMD = $(VBOX_RETRY) $(VBOX_JAVA) -jar "$(VBOX_CCS_CLIENT_JAR)" \4413 mac_notarize -user "$(VBOX_CCS_USER)" -global_uid "$(VBOX_CCS_GLOBAL_UID)" \4414 4415 4412 VBOX_CCS_NOTARIZE_CMD = $(VBOX_RETRY) $(VBOX_JAVA) -jar "$(VBOX_CCS_CLIENT_JAR)" \ 4413 mac_notarize -user "$(VBOX_CCS_USER)" -global_uid "$(VBOX_CCS_GLOBAL_UID)" \ 4414 -job_timeout 90 -server_timeout 75 -server "$(VBOX_CCS_SERVER)" \ 4415 -file_to_notarize "$1" -bundle_id "$2" -download_location "$(if $3,$3,$(call VBOX_DIRX,$1))" 4416 4416 4417 4417 ## Sign an application bundle, framework or kernel extension. … … 4423 4423 ## @todo $(3) is hopefully either empty, --deep or --entitlements=... 4424 4424 VBOX_SIGN_BUNDLE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB) \ 4425 ditto -c -k --keepParent "$(1)" "$(1).zip"$(NLTAB) \4426 $(call VBOX_CCS_SIGN_CMD,apple,$(1).zip,,$(subst --entitlements=,-entitlement_file_path ,$(subst --deep,-deep,$(3))) \4427 4428 ditto -x -k "$(1).zip" "$(1)/../"$(NLTAB) \4429 $(RM) -f -- "$(1).zip"4425 ditto -c -k --keepParent "$(1)" "$(1).zip"$(NLTAB) \ 4426 $(call VBOX_CCS_SIGN_CMD,apple,$(1).zip,,$(subst --entitlements=,-entitlement_file_path ,$(subst --deep,-deep,$(3))) \ 4427 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),-hardened_runtime))$(NLTAB) \ 4428 ditto -x -k "$(1).zip" "$(1)/../"$(NLTAB) \ 4429 $(RM) -f -- "$(1).zip" 4430 4430 else 4431 4431 VBOX_SIGN_BUNDLE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB)$(VBOX_CODESIGN) \ 4432 --verbose=9 \4433 --force \4434 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \4435 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \4436 --file-list - \4437 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \4438 $(3) \4439 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4440 "$(1)" $(if $(2),--identifier "$(2)",)4432 --verbose=9 \ 4433 --force \ 4434 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4435 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \ 4436 --file-list - \ 4437 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4438 $(3) \ 4439 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4440 "$(1)" $(if $(2),--identifier "$(2)",) 4441 4441 endif 4442 4442 … … 4449 4449 ## @todo $(3) is hopefully either empty or --entitlements=... 4450 4450 VBOX_SIGN_MACHO_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB) \ 4451 $(call VBOX_CCS_SIGN_CMD,binary,$(1),,$(subst --entitlements=,-entitlement_file_path ,$(3)) \4452 4451 $(call VBOX_CCS_SIGN_CMD,binary,$(1),,$(subst --entitlements=,-entitlement_file_path ,$(3)) \ 4452 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),-hardened_runtime)) 4453 4453 else 4454 4454 VBOX_SIGN_MACHO_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB)$(VBOX_CODESIGN) \ 4455 --verbose=9 \4456 --force \4457 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \4458 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \4459 --file-list - \4460 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \4461 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4462 $(3) \4463 "$(1)" \4464 $(if $(2),--identifier "$(2)",)4455 --verbose=9 \ 4456 --force \ 4457 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4458 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \ 4459 --file-list - \ 4460 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4461 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4462 $(3) \ 4463 "$(1)" \ 4464 $(if $(2),--identifier "$(2)",) 4465 4465 endif 4466 4466 … … 4468 4468 if $(intersects darwin all 1,$(VBOX_WITH_CORP_CODE_SIGNING)) 4469 4469 VBOX_SIGN_EXTPACK_DYLIB_CMDS ?= $(if $(eq $(tool_do),LINK_LIBRARY),, \ 4470 $(call VBOX_CCS_SIGN_CMD,binary,$(out),, \4471 4470 $(call VBOX_CCS_SIGN_CMD,binary,$(out),, \ 4471 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),-hardened_runtime)) ) 4472 4472 else 4473 4473 VBOX_SIGN_EXTPACK_DYLIB_CMDS ?= $(if $(eq $(tool_do),LINK_LIBRARY),, \ 4474 $(VBOX_CODESIGN) \4475 --verbose=9 \4476 --force \4477 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \4478 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \4479 --file-list - \4480 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \4481 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4482 $(out) )4474 $(VBOX_CODESIGN) \ 4475 --verbose=9 \ 4476 --force \ 4477 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4478 $(if $(VBOX_WITH_MACOS_HARDENED_RUNTIME),$(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 16,--options 0x10000,--options runtime)) \ 4479 --file-list - \ 4480 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4481 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4482 $(out) ) 4483 4483 endif 4484 4484 … … 4494 4494 ## @todo cannot handle $(2), the identifier. 4495 4495 VBOX_SIGN_FILE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB) \ 4496 4497 $(REDIRECT) -E 'LC_ALL=C' -we "$(1).tmp" -- ditto -x -k -V "$(1).zip" "$(call VBOX_DIRX,$(1))"$(NLTAB) \4498 4499 4500 4501 $(RM) -f -- "$(1).zip" "$(1).tmp"4496 $(call VBOX_CCS_SIGN_CMD,mac_dmg,$(1))$(NLTAB) \ 4497 $(REDIRECT) -E 'LC_ALL=C' -we "$(1).tmp" -- ditto -x -k -V "$(1).zip" "$(call VBOX_DIRX,$(1))"$(NLTAB) \ 4498 dirname="$(call VBOX_DIRX,$(1))$(DOLLAR)($(SED) -n -e 's+^copying file \([0-9]\{1,\}\)/.\{1,\}$(DOLLAR)+\1+p' "$(1).tmp")" ; \ 4499 $(MV) -f -- "$(DOLLAR)dirname/$(DOLLAR)(basename "$(1)")" "$(call VBOX_DIRX,$(1))" ; \ 4500 $(RM) -Rf -- "$(DOLLAR)dirname/"$(NLTAB) \ 4501 $(RM) -f -- "$(1).zip" "$(1).tmp" 4502 4502 else 4503 4503 VBOX_SIGN_FILE_FN = $(call MSG_TOOL,SIGNTOOL,,$(1),$(2))$(NLTAB)$(VBOX_CODESIGN) \ 4504 --verbose=9 \4505 --force \4506 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \4507 --file-list=- \4508 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \4509 $(if $(2),--identifier "$(2)",) \4510 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \4511 "$(1)"4504 --verbose=9 \ 4505 --force \ 4506 $(if-expr $(KBUILD_HOST_VERSION_MAJOR) <= 14,--digest-algorithm sha256,) \ 4507 --file-list=- \ 4508 $(if-expr defined(VBOX_TSA_URL),--timestamp="$(VBOX_TSA_URL)") \ 4509 $(if $(2),--identifier "$(2)",) \ 4510 $(VBOX_CERTIFICATE_SUBJECT_NAME_ARGS) \ 4511 "$(1)" 4512 4512 endif 4513 4513 … … 4552 4552 ifeq ($(VBOX_SIGNING_MODE),test) ## @todo when kBuild is updated to r2742+, this should be enabled for both modes. 4553 4553 define VBOX_TEST_SIGN_KEXT 4554 $1_INSTTYPE.darwin = none4555 4556 $1.kext_SOURCES+= $$($1.kext_0_OUTDIR)/Contents/MacOS/$1=>MacOS/$1 \4557 $(foreach extfile, $(VBOX_DARWIN_KEXT_SIGN_FILES) \4558 4559 $1.kext_SYMLINKS += $(foreach symfile, $(VBOX_DARWIN_KEXT_SIGN_SYMLINKS), $(symfile)=>_CodeSignature/$(symfile))4560 $1.kext_CLEAN+= \4561 $(foreach extfile, $(VBOX_DARWIN_KEXT_SIGN_FILES) , $$($1.kext_0_OUTDIR)/Contents/_CodeSignature/$(extfile)) \4562 $(foreach symfile, $(VBOX_DARWIN_KEXT_SIGN_SYMLINKS), $$($1.kext_0_OUTDIR)/Contents/$(symfile)) \4563 $$($1.kext_0_OUTDIR)/Contents/MacOS/$1 \4564 $$($1.kext_0_OUTDIR)/$1.kext/Contents/_CodeSignature/4565 $1.kext_BLDDIRS+= $$($1.kext_0_OUTDIR)/Contents/MacOS/4566 4567 $$$$($1.kext_0_OUTDIR)/Contents/MacOS/$1 \4568 + $(foreach file,$(VBOX_DARWIN_KEXT_SIGN_FILES), $$$$($1.kext_0_OUTDIR)/Contents/_CodeSignature/$(file)): \4569 $$$$($1.kext_0_OUTDIR)/Contents/Info.plist $$$$($1_1_TARGET) | $$$$($1.kext_0_OUTDIR)/4554 $1_INSTTYPE.darwin = none 4555 4556 $1.kext_SOURCES += $$($1.kext_0_OUTDIR)/Contents/MacOS/$1=>MacOS/$1 \ 4557 $(foreach extfile, $(VBOX_DARWIN_KEXT_SIGN_FILES) \ 4558 , $$($1.kext_0_OUTDIR)/Contents/_CodeSignature/$(extfile)=>_CodeSignature/$(extfile)) 4559 $1.kext_SYMLINKS += $(foreach symfile, $(VBOX_DARWIN_KEXT_SIGN_SYMLINKS), $(symfile)=>_CodeSignature/$(symfile)) 4560 $1.kext_CLEAN += \ 4561 $(foreach extfile, $(VBOX_DARWIN_KEXT_SIGN_FILES) , $$($1.kext_0_OUTDIR)/Contents/_CodeSignature/$(extfile)) \ 4562 $(foreach symfile, $(VBOX_DARWIN_KEXT_SIGN_SYMLINKS), $$($1.kext_0_OUTDIR)/Contents/$(symfile)) \ 4563 $$($1.kext_0_OUTDIR)/Contents/MacOS/$1 \ 4564 $$($1.kext_0_OUTDIR)/$1.kext/Contents/_CodeSignature/ 4565 $1.kext_BLDDIRS += $$($1.kext_0_OUTDIR)/Contents/MacOS/ 4566 4567 $$$$($1.kext_0_OUTDIR)/Contents/MacOS/$1 \ 4568 + $(foreach file,$(VBOX_DARWIN_KEXT_SIGN_FILES), $$$$($1.kext_0_OUTDIR)/Contents/_CodeSignature/$(file)): \ 4569 $$$$($1.kext_0_OUTDIR)/Contents/Info.plist $$$$($1_1_TARGET) | $$$$($1.kext_0_OUTDIR)/ 4570 4570 $(RM) -Rf -- "$$($1.kext_0_OUTDIR)/Contents/_CodeSignature/" "$$($1.kext_0_OUTDIR)/Contents/MacOS/" 4571 4571 $(MKDIR) -p -- "$$($1.kext_0_OUTDIR)/Contents/MacOS/" … … 4600 4600 # @param 1 The elf object file to sign. 4601 4601 VBOX_SIGN_ELF_FN ?= $(VBOX_ELFSIGN) \ 4602 sign \4603 $(VBOX_CERTIFICATE_FILE_ARGS) \4604 $(VBOX_TOKEN_NAME_ARGS) \4605 $(VBOX_PIN_ARGS) \4606 -e "$(1)"4602 sign \ 4603 $(VBOX_CERTIFICATE_FILE_ARGS) \ 4604 $(VBOX_TOKEN_NAME_ARGS) \ 4605 $(VBOX_PIN_ARGS) \ 4606 -e "$(1)" 4607 4607 4608 4608 ## Commands for signing a driver image after link. … … 4618 4618 endif 4619 4619 4620 #4621 # Complain if windows hardening is enabled but not code signing.4622 #4620 # 4621 # Complain if windows hardening is enabled but not code signing. 4622 # 4623 4623 else if "$(KBUILD_TARGET)" == "win" && defined(VBOX_WITH_HARDENING) && !defined(VBOX_ONLY_BUILD) 4624 4624 $(error You need to enable code signing for a hardened windows build to work.) … … 4648 4648 # @param 2 The output file. 4649 4649 VBOX_EDIT_INF64_FN = $(SED) \ 4650 $(if $(VBOX_SIGNING_MODE),-e 's/^;cat *//', -e '/^;cat /d') \4650 $(if $(VBOX_SIGNING_MODE),-e 's/^;cat *//', -e '/^;cat /d') \ 4651 4651 -e 's/^;amd64 *//' \ 4652 4652 -e '/^;x86 /d' \ … … 4672 4672 if defined(VBOX_SIGNING_MODE) && "$(KBUILD_TARGET)" == "win" 4673 4673 if1of (quote, $(KMK_FEATURES)) 4674 VBOX_RE_SIGN_DLL_FN = $(if-expr !defined($(1)_VBOX_RE_SIGNED_$(3)$(qnotdir ,$(2))),\4675 $(evalcall VBOX_RE_SIGN_DLL_INTERNAL_FN,$1,$2,$3)\4676 ,)$($(1)_0_OUTDIR)/$(3)$(qnotdir ,$2)4674 VBOX_RE_SIGN_DLL_FN = $(if-expr !defined($(1)_VBOX_RE_SIGNED_$(3)$(qnotdir ,$(2))), \ 4675 $(evalcall VBOX_RE_SIGN_DLL_INTERNAL_FN,$1,$2,$3) \ 4676 ,)$($(1)_0_OUTDIR)/$(3)$(qnotdir ,$2) 4677 4677 4678 4678 define VBOX_RE_SIGN_DLL_INTERNAL_FN 4679 4679 local n = $(3)$(qnotdir ,$2) 4680 4680 ifndef $(1)_VBOX_RE_SIGNED_$(n) 4681 $(1)_VBOX_RE_SIGNED_$(n) := 14682 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(n))4683 4684 $$($(1)_0_OUTDIR)/$(n): $(2) $(VBOX_VERSION_STAMP) | $$(dir $$@) $(VBOX_SIGN_IMAGE_ORDERDEPS)4681 $(1)_VBOX_RE_SIGNED_$(n) := 1 4682 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(n)) 4683 4684 $$($(1)_0_OUTDIR)/$(n): $(2) $(VBOX_VERSION_STAMP) | $$(dir $$@) $(VBOX_SIGN_IMAGE_ORDERDEPS) 4685 4685 $(call MSG_TOOL,SIGNTOOL,,$<,$@) 4686 4686 $(RM) -f -- "$@" … … 4695 4695 4696 4696 else # old kmk: no quote feature 4697 VBOX_RE_SIGN_DLL_FN = $(if-expr !defined($(1)_VBOX_RE_SIGNED_$(3)$(notdir $(2))),\4698 $(evalcall VBOX_RE_SIGN_DLL_INTERNAL_FN,$1,$2,$3)\4699 ,)$($(1)_0_OUTDIR)/$(3)$(notdir $2)4697 VBOX_RE_SIGN_DLL_FN = $(if-expr !defined($(1)_VBOX_RE_SIGNED_$(3)$(notdir $(2))), \ 4698 $(evalcall VBOX_RE_SIGN_DLL_INTERNAL_FN,$1,$2,$3) \ 4699 ,)$($(1)_0_OUTDIR)/$(3)$(notdir $2) 4700 4700 define VBOX_RE_SIGN_DLL_INTERNAL_FN 4701 local n = $(3)$(notdir $2)4702 ifndef $(1)_VBOX_RE_SIGNED_$(n)4703 $(1)_VBOX_RE_SIGNED_$(n) := 14704 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(n))4705 4706 $$($(1)_0_OUTDIR)/$(n): $(2) $(VBOX_VERSION_STAMP) | $$(dir $$@) $(VBOX_SIGN_IMAGE_ORDERDEPS)4701 local n = $(3)$(notdir $2) 4702 ifndef $(1)_VBOX_RE_SIGNED_$(n) 4703 $(1)_VBOX_RE_SIGNED_$(n) := 1 4704 $(eval $(1)_CLEAN += $$($(1)_0_OUTDIR)/$(n)) 4705 4706 $$($(1)_0_OUTDIR)/$(n): $(2) $(VBOX_VERSION_STAMP) | $$(dir $$@) $(VBOX_SIGN_IMAGE_ORDERDEPS) 4707 4707 $(call MSG_TOOL,SIGNTOOL,,$<,$@) 4708 4708 $(RM) -f -- "$@" … … 4713 4713 "$@" 4714 4714 $(call VBOX_SIGN_IMAGE_FN,$@) 4715 endif4715 endif 4716 4716 endef # VBOX_RE_SIGN_DLL_INTERNAL_FN 4717 4717 endif # old kmk: no quote feature … … 4737 4737 # @remarks ASSUMES RCFLAGS isn't a simple variable (var := value). 4738 4738 define VBOX_SET_VER_INFO_INTERNAL 4739 ifeq ($(KBUILD_TARGET),win)4740 $(1)_SOURCES.win += $(PATH_ROOT)/src/VBox/Artwork/win/$(4)4741 $(1)_RCFLAGS += /nologo /dIN_INTERNAL_NAME="\"$(1)\"" /dIN_FILE_DESCRIPTION="\"$(2)\"" \4742 /dIN_ORIGINAL_NAME="\"$(if $(6),$6,$$(notdir $$($(1)_1_INST_TARGET)))\"" \4743 $(if $(3), /dIN_ICON_FILE="\"$(subst \\,/,$(strip $(3)))\"") $(5)4744 $$$$($(1)_0_OUTDIR)/src/VBox/Artwork/win/$(basename $(4)).res: \4745 $(PATH_ROOT)/include/VBox/version.h $$$$(VBOX_VERSION_HEADER)4746 endif4739 ifeq ($(KBUILD_TARGET),win) 4740 $(1)_SOURCES.win += $(PATH_ROOT)/src/VBox/Artwork/win/$(4) 4741 $(1)_RCFLAGS += /nologo /dIN_INTERNAL_NAME="\"$(1)\"" /dIN_FILE_DESCRIPTION="\"$(2)\"" \ 4742 /dIN_ORIGINAL_NAME="\"$(if $(6),$6,$$(notdir $$($(1)_1_INST_TARGET)))\"" \ 4743 $(if $(3), /dIN_ICON_FILE="\"$(subst \\,/,$(strip $(3)))\"") $(5) 4744 $$$$($(1)_0_OUTDIR)/src/VBox/Artwork/win/$(basename $(4)).res: \ 4745 $(PATH_ROOT)/include/VBox/version.h $$$$(VBOX_VERSION_HEADER) 4746 endif 4747 4747 endef 4748 4748 … … 4822 4822 VBOX_HAIKU_MIMESETTOOL := mimeset 4823 4823 4824 4825 4826 4827 4828 define VBOX_HAIKU_XRES_SETVER_FN4824 ## Add optional resources to the program, set its version info, and sniff its mime properties. 4825 # @param 1 The file to add resources to. 4826 # @param 2 The resource files. 4827 # @param 3 The target name. 4828 define VBOX_HAIKU_XRES_SETVER_FN 4829 4829 $(if $(2),$(call MSG_TOOL,HaikuAddResources,$(3),$(2)) 4830 4830 $(QUIET)$(VBOX_HAIKU_XRESTOOL) -o $(1) $(2),) … … 4836 4836 $(call MSG_TOOL,HaikuMimeSet,$(3)) 4837 4837 $(QUIET)$(VBOX_HAIKU_MIMESETTOOL) -f $(1) 4838 endef4838 endef 4839 4839 4840 4840 VBOX_HAIKU_XRES_SETVER_CMDS ?= $(if $(eq $(tool_do),LINK_PROGRAM),$(call VBOX_HAIKU_XRES_SETVER_FN,$(out),$($(target)_RSRCS),$(target)),) … … 4846 4846 VBOX_PREF_LIB = 4847 4847 if1of ($(KBUILD_TARGET), os2 win) 4848 VBOX_SUFF_LIB = .lib4848 VBOX_SUFF_LIB = .lib 4849 4849 else 4850 VBOX_SUFF_LIB = .a4850 VBOX_SUFF_LIB = .a 4851 4851 endif 4852 4852 if1of ($(KBUILD_HOST), os2 win) 4853 VBOX_HOSTSUFF_LIB = .lib4853 VBOX_HOSTSUFF_LIB = .lib 4854 4854 else 4855 VBOX_HOSTSUFF_LIB = .a4855 VBOX_HOSTSUFF_LIB = .a 4856 4856 endif 4857 4857 VBOX_SUFF_DLL = $(SUFF_DLL) 4858 4858 ifeq ($(KBUILD_TARGET),os2) # GXX3OMF produces out .o at the moment. 4859 VBOX_SUFF_OBJ = .o4859 VBOX_SUFF_OBJ = .o 4860 4860 else 4861 VBOX_SUFF_OBJ = $(SUFF_OBJ)4861 VBOX_SUFF_OBJ = $(SUFF_OBJ) 4862 4862 endif 4863 4863 VBOXW32GUEST_SUFF_LIB = .lib … … 4913 4913 SDK_VBoxOpenSslStatic_INCS ?= $(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS) 4914 4914 SDK_VBoxOpenSslStatic_ORDERDEPS ?= $(crypto-headers_1_TARGET) 4915 if !defined(VBOX_ONLY_SDK) \4916 && (!defined(VBOX_ONLY_ADDITIONS) || !defined(VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER)) \4917 && (!defined(VBOX_ONLY_EXTPACKS) || !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)) \4918 && ("$(SDK_VBoxOpenSslStatic_INCS)" == "$(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS)")4915 if !defined(VBOX_ONLY_SDK) \ 4916 && (!defined(VBOX_ONLY_ADDITIONS) || !defined(VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER)) \ 4917 && (!defined(VBOX_ONLY_EXTPACKS) || !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)) \ 4918 && ("$(SDK_VBoxOpenSslStatic_INCS)" == "$(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS)") 4919 4919 SDK_VBoxOpenSslStatic_DEPS ?= $(SDK_VBoxOpenSslStatic_INCS)/openssl/openssl-mangling.h 4920 4920 endif … … 4938 4938 SDK_VBoxOpenSslBldProg_INCS ?= $(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS) 4939 4939 SDK_VBoxOpenSslBldProg_ORDERDEPS ?= $(crypto-headers_1_TARGET) 4940 if !defined(VBOX_ONLY_SDK) \4941 && ("$(SDK_VBoxOpenSsl_INCS)" == "$(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS)")4940 if !defined(VBOX_ONLY_SDK) \ 4941 && ("$(SDK_VBoxOpenSsl_INCS)" == "$(SDK_VBoxOpenSslStatic_VBOX_DEFAULT_INCS)") 4942 4942 SDK_VBoxOpenSslBldProg_DEPS ?= $(SDK_VBoxOpenSslStatic_INCS)/openssl/openssl-mangling.h 4943 4943 endif … … 4973 4973 SDK_VBoxSoftFloatR3Shared_DEFS.arm64 := LITTLEENDIAN 4974 4974 SDK_VBoxSoftFloatR3Shared_DEFS.x86 := LITTLEENDIAN 4975 if1of ($(KBUILD_TARGET), win)4975 if1of ($(KBUILD_TARGET), win) 4976 4976 SDK_VBoxSoftFloatR3Shared_DEFS += THREAD_LOCAL=__declspec(thread) 4977 4977 else … … 4985 4985 SDK_VBoxSoftFloatR0 := SoftFloat 3 for ring-0 linking. 4986 4986 SDK_VBoxSoftFloatR0_DEFS := SOFTFLOAT_FAST_INT64 4987 SDK_VBoxSoftFloatR0_DEFS.amd64 := LITTLEENDIAN4988 SDK_VBoxSoftFloatR0_DEFS.arm64 := LITTLEENDIAN4987 SDK_VBoxSoftFloatR0_DEFS.amd64 := LITTLEENDIAN 4988 SDK_VBoxSoftFloatR0_DEFS.arm64 := LITTLEENDIAN 4989 4989 SDK_VBoxSoftFloatR0_DEFS.x86 := LITTLEENDIAN 4990 4990 SDK_VBoxSoftFloatR0_INCS = \ … … 4995 4995 SDK_VBoxSoftFloatGuestR3Shared := SoftFloat 3 for ring-0 linking. 4996 4996 SDK_VBoxSoftFloatGuestR3Shared_DEFS := SOFTFLOAT_FAST_INT64 4997 SDK_VBoxSoftFloatGuestR3Shared_DEFS.amd64 := LITTLEENDIAN4998 SDK_VBoxSoftFloatGuestR3Shared_DEFS.arm64 := LITTLEENDIAN4997 SDK_VBoxSoftFloatGuestR3Shared_DEFS.amd64 := LITTLEENDIAN 4998 SDK_VBoxSoftFloatGuestR3Shared_DEFS.arm64 := LITTLEENDIAN 4999 4999 SDK_VBoxSoftFloatGuestR3Shared_DEFS.x86 := LITTLEENDIAN 5000 5000 SDK_VBoxSoftFloatGuestR3Shared_INCS = \ … … 5008 5008 SDK_VBoxLibSsh := libssh for dynamic dll loading with assembly stubs. 5009 5009 SDK_VBoxLibSsh_INCS ?= $(PATH_ROOT)/src/libs/libssh-0.9.6/include 5010 # SDK_VBoxLibSsh_LIBS is not defined, as VBoxLibSsh dll is not linked, but loaded explicitly5011 # by auto-generated stub code (lazy loading)5010 # SDK_VBoxLibSsh_LIBS is not defined, as VBoxLibSsh dll is not linked, but loaded explicitly 5011 # by auto-generated stub code (lazy loading) 5012 5012 endif 5013 5013 … … 5054 5054 SDK_VBoxZlibStatic_EXTENDS := VBoxZlib 5055 5055 if1of ($(KBUILD_TARGET), os2 win) # Not required on solaris. 5056 SDK_VBoxZlibStatic_LIBS 5056 SDK_VBoxZlibStatic_LIBS ?= $(PATH_STAGE_LIB)/VBox-zlib-static$(VBOX_SUFF_LIB) 5057 5057 endif 5058 5058 … … 5083 5083 SDK_VBoxWinInt64Lib := Abstracts where to find int64.lib for x86 builds. 5084 5084 ifn1of ($(VBOX_WINPSDK), WINPSDK71 WINPSDK80) 5085 SDK_VBoxWinInt64Lib_LIBS.x86 5085 SDK_VBoxWinInt64Lib_LIBS.x86 = $(PATH_SDK_$(VBOX_WINPSDK)_LIB.x86)/int64.lib 5086 5086 ifeq ($(KBUILD_TARGET),win) 5087 5087 include $(KBUILD_PATH)/sdks/$(VBOX_WINPSDK).kmk ## TODO: Add a kBuild feature for loading SDKs. … … 5123 5123 TOOL_VBoxTpG_DTRACE_DEPORD = $(VBOX_VBOXTPG) 5124 5124 TOOL_VBoxTpG_DTRACE_HDR_FLAGS := \ 5125 -h --host-$(VBOX_HC_ARCH_BITS)-bit#-vvv5125 -h --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv 5126 5126 define TOOL_VBoxTpG_DTRACE_HDR_CMDS 5127 5127 $(QUIET)$(VBOX_VBOXTPG) $(if-expr $(intersects $(bld_trg_arch),$(KBUILD_ARCHES_64)),-64,-32) \ … … 5208 5208 endif 5209 5209 TEMPLATE_VBoxRc_CFLAGS = $(TEMPLATE_VBoxRc_CXXFLAGS) 5210 TEMPLATE_VBoxRc_LDFLAGS = 5210 TEMPLATE_VBoxRc_LDFLAGS = -Ignore:4197 \ 5211 5211 -Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Exports -NoD $(VBOX_VCC_LD_WERR) -Release -Debug -Opt:Ref -Opt:Icf \ 5212 5212 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ … … 5223 5223 5224 5224 ifeq ($(VBOX_LDR_FMT32),elf) 5225 TEMPLATE_VBoxRc_TOOL= $(VBOX_GCC32_TOOL)5226 TEMPLATE_VBoxRc_CXXFLAGS= -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)5227 TEMPLATE_VBoxRc_CFLAGS= -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)5225 TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL) 5226 TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK) 5227 TEMPLATE_VBoxRc_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) 5228 5228 if $(VBOX_GCC32_VERSION_CC) < 30400 5229 5229 TEMPLATE_VBoxRc_DEFS += RT_WITHOUT_PRAGMA_ONCE … … 5238 5238 ifn1of ($(KBUILD_TARGET), solaris freebsd) 5239 5239 TEMPLATE_VBoxRc_LIBS = \ 5240 $(VBOX_GCC32_LIBGCC) # intrinsics5241 endif 5242 if1of ($(KBUILD_TARGET), linux)5240 $(VBOX_GCC32_LIBGCC) # intrinsics 5241 endif 5242 if1of ($(KBUILD_TARGET), linux) 5243 5243 TEMPLATE_VBoxRc_POST_CMDS = $(if $(eq $(tool_do),LINK_SYSMOD),if readelf -S $(out)|grep -q "[cd]tors"; then echo "Found ctors/dtors in $(out)!"; exit 1; fi) 5244 5244 endif … … 5246 5246 5247 5247 ifeq ($(VBOX_LDR_FMT32),macho) 5248 TEMPLATE_VBoxRc_TOOL= $(VBOX_GCC_TOOL)5249 TEMPLATE_VBoxRc_SDKS+= $(VBOX_DARWIN_DEF_SDK_SDKS)5250 TEMPLATE_VBoxRc_DEFS+= $(VBOX_DARWIN_DEF_SDK_DEFS)5251 TEMPLATE_VBoxRc_CXXFLAGS= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti $(VBOX_GCC_std)5252 TEMPLATE_VBoxRc_CFLAGS= $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing5253 TEMPLATE_VBoxRc_LDFLAGS= $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -m32 -nostdlib5254 #TEMPLATE_VBoxRc_LDFLAGS.release = -Wl,-S ???5248 TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC_TOOL) 5249 TEMPLATE_VBoxRc_SDKS += $(VBOX_DARWIN_DEF_SDK_SDKS) 5250 TEMPLATE_VBoxRc_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 5251 TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti $(VBOX_GCC_std) 5252 TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing 5253 TEMPLATE_VBoxRc_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -m32 -nostdlib 5254 #TEMPLATE_VBoxRc_LDFLAGS.release = -Wl,-S ??? 5255 5255 endif 5256 5256 5257 5257 ifeq ($(VBOX_LDR_FMT32),lx) 5258 TEMPLATE_VBoxRc_TOOL= GXX3OMF5258 TEMPLATE_VBoxRc_TOOL = GXX3OMF 5259 5259 if $(VBOX_GCC_VERSION_CC) < 30400 5260 5260 TEMPLATE_VBoxRc_DEFS += RT_WITHOUT_PRAGMA_ONCE 5261 5261 endif 5262 TEMPLATE_VBoxRc_CXXFLAGS= -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti5263 TEMPLATE_VBoxRc_CFLAGS= -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions5264 TEMPLATE_VBoxRc_LDFLAGS= -Zdll -nostdlib5265 TEMPLATE_VBoxRc_LIBS= \5266 $(VBOX_GCC32_LIBGCC) \5267 $(VBOX_OBJ_SYS0) \5268 end5262 TEMPLATE_VBoxRc_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti 5263 TEMPLATE_VBoxRc_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions 5264 TEMPLATE_VBoxRc_LDFLAGS = -Zdll -nostdlib 5265 TEMPLATE_VBoxRc_LIBS = \ 5266 $(VBOX_GCC32_LIBGCC) \ 5267 $(VBOX_OBJ_SYS0) \ 5268 end 5269 5269 endif 5270 5270 … … 5346 5346 5347 5347 ifeq ($(VBOX_LDR_FMT),pe) 5348 TEMPLATE_VBoxR0_TOOL= $(VBOX_VCC_TOOL)5349 TEMPLATE_VBoxR0_RCDEFS= VBOX_SVN_REV=$(VBOX_SVN_REV) VBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000)5350 TEMPLATE_VBoxR0_CXXFLAGS= -Zi -Zl -GR- -EHs- -GF -GS- -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP) \5351 5348 TEMPLATE_VBoxR0_TOOL = $(VBOX_VCC_TOOL) 5349 TEMPLATE_VBoxR0_RCDEFS = VBOX_SVN_REV=$(VBOX_SVN_REV) VBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000) 5350 TEMPLATE_VBoxR0_CXXFLAGS = -Zi -Zl -GR- -EHs- -GF -GS- -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP) \ 5351 -Gy $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_std) $(VBOX_VCC_WARN_ALL) -wd4505 $(VBOX_VCC_WERR) 5352 5352 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120" 5353 TEMPLATE_VBoxR0_CXXFLAGS+= -Gw5353 TEMPLATE_VBoxR0_CXXFLAGS += -Gw 5354 5354 endif 5355 5355 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" # Don't waste space on x86/amd64-on-arm emulation optimizations. 5356 TEMPLATE_VBoxR0_CXXFLAGS+= /volatileMetadata-5356 TEMPLATE_VBoxR0_CXXFLAGS += /volatileMetadata- 5357 5357 endif 5358 5358 ifdef VBOX_WITH_MSC_ANALYZE_THIS 5359 TEMPLATE_VBoxR0_CXXFLAGS+= /analyze5360 endif 5361 TEMPLATE_VBoxR0_CFLAGS= $(filter-out $(VBOX_VCC_std),$(TEMPLATE_VBoxR0_CXXFLAGS))5362 TEMPLATE_VBoxR0_LDFLAGS= -Ignore:4197 \5363 -Driver -Subsystem:NATIVE -Incremental:NO -Align:4096 -MapInfo:Exports -NoD $(VBOX_VCC_LD_WERR) \5364 -Release -Debug -Opt:Ref -Opt:Icf $(VBOX_VCC_LD_GUARD_CF) \5365 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \5366 -Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com5359 TEMPLATE_VBoxR0_CXXFLAGS += /analyze 5360 endif 5361 TEMPLATE_VBoxR0_CFLAGS = $(filter-out $(VBOX_VCC_std),$(TEMPLATE_VBoxR0_CXXFLAGS)) 5362 TEMPLATE_VBoxR0_LDFLAGS = -Ignore:4197 \ 5363 -Driver -Subsystem:NATIVE -Incremental:NO -Align:4096 -MapInfo:Exports -NoD $(VBOX_VCC_LD_WERR) \ 5364 -Release -Debug -Opt:Ref -Opt:Icf $(VBOX_VCC_LD_GUARD_CF) \ 5365 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 5366 -Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com 5367 5367 ifdef VBOX_WITH_DTRACE_R0 5368 TEMPLATE_VBoxR0_LDFLAGS+= -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj5368 TEMPLATE_VBoxR0_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj 5369 5369 endif 5370 5370 ifdef VBOX_SIGNING_MODE 5371 TEMPLATE_VBoxR0_LDFLAGS+= -IntegrityCheck5371 TEMPLATE_VBoxR0_LDFLAGS += -IntegrityCheck 5372 5372 endif 5373 5373 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" # Don't waste space on x86/amd64-on-arm emulation optimizations. 5374 TEMPLATE_VBoxR0_LDFLAGS+= -EmitVolatileMetadata:NO5375 endif 5376 TEMPLATE_VBoxR0_LDFLAGS.win.amd64= $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA)5374 TEMPLATE_VBoxR0_LDFLAGS += -EmitVolatileMetadata:NO 5375 endif 5376 TEMPLATE_VBoxR0_LDFLAGS.win.amd64 = $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA) 5377 5377 ifneq ($(VBOX_VCC_CC_GUARD_CF),) 5378 TEMPLATE_VBoxR0_LDFLAGS.win.amd64+= -Include:__security_init_cookie -Export:ModuleInitSecurityCookie=__security_init_cookie5379 TEMPLATE_VBoxR0_LDFLAGS.win.x86+= -Include:___security_init_cookie -Export:ModuleInitSecurityCookie=__security_init_cookie5380 endif 5381 TEMPLATE_VBoxR0_LIBS= \5382 $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB)5378 TEMPLATE_VBoxR0_LDFLAGS.win.amd64 += -Include:__security_init_cookie -Export:ModuleInitSecurityCookie=__security_init_cookie 5379 TEMPLATE_VBoxR0_LDFLAGS.win.x86 += -Include:___security_init_cookie -Export:ModuleInitSecurityCookie=__security_init_cookie 5380 endif 5381 TEMPLATE_VBoxR0_LIBS = \ 5382 $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB) 5383 5383 ifneq ($(VBOX_VCC_CC_GUARD_CF),) 5384 TEMPLATE_VBoxR0_LIBS+= \5385 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/BufferOverflowK.lib5384 TEMPLATE_VBoxR0_LIBS += \ 5385 $(PATH_SDK_$(VBOX_WINDDK)_LIB)/BufferOverflowK.lib 5386 5386 include $(KBUILD_PATH)/sdks/$(VBOX_WINDDK).kmk ## TODO: Add a kBuild feature for loading SDKs. 5387 5387 endif 5388 TEMPLATE_VBoxR0_SDKS.x86+= VBoxWinInt64Lib5389 TEMPLATE_VBoxR0_ORDERDEPS= $(VBOX_SIGN_DRIVER_ORDERDEPS)5390 TEMPLATE_VBoxR0_POST_CMDS= $(VBOX_SIGN_DRIVER_CMDS)5388 TEMPLATE_VBoxR0_SDKS.x86 += VBoxWinInt64Lib 5389 TEMPLATE_VBoxR0_ORDERDEPS = $(VBOX_SIGN_DRIVER_ORDERDEPS) 5390 TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) 5391 5391 endif # pe 5392 5392 5393 5393 ifeq ($(VBOX_LDR_FMT),elf) 5394 TEMPLATE_VBoxR0_TOOL= $(VBOX_GCC_TOOL)5395 TEMPLATE_VBoxR0_CFLAGS= -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) \5396 $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \5397 $(VBOX_GCC_fno-stack-protector) -fno-common -ffreestanding $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)5398 TEMPLATE_VBoxR0_CXXFLAGS= -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) \5399 $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \5400 $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \5401 -fno-rtti $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK)5394 TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) 5395 TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) \ 5396 $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ 5397 $(VBOX_GCC_fno-stack-protector) -fno-common -ffreestanding $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK) 5398 TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) \ 5399 $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \ 5400 $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ 5401 -fno-rtti $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) 5402 5402 if $(VBOX_GCC_VERSION_CC) >= 40500 # 4.1.2 complains, 4.5.2 is okay, didn't check which version inbetween made it okay with g++. 5403 TEMPLATE_VBoxR0_CXXFLAGS+= -ffreestanding5404 endif 5405 TEMPLATE_VBoxR0_CFLAGS.amd64= -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding5406 TEMPLATE_VBoxR0_CXXFLAGS.amd64= -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables5407 TEMPLATE_VBoxR0_CXXFLAGS.freebsd= -ffreestanding5403 TEMPLATE_VBoxR0_CXXFLAGS += -ffreestanding 5404 endif 5405 TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding 5406 TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables 5407 TEMPLATE_VBoxR0_CXXFLAGS.freebsd = -ffreestanding 5408 5408 if $(VBOX_GCC_VERSION_CC) < 30400 5409 TEMPLATE_VBoxR0_DEFS+= RT_WITHOUT_PRAGMA_ONCE5409 TEMPLATE_VBoxR0_DEFS += RT_WITHOUT_PRAGMA_ONCE 5410 5410 endif 5411 5411 ifeq ($(KBUILD_TARGET),solaris) 5412 TEMPLATE_VBoxR0_LDFLAGS= -r5413 TEMPLATE_VBoxR0_LDFLAGS.solaris= -u _init -u _info5414 TEMPLATE_VBoxR0_LDFLAGS.solaris.amd64 = -m645415 TEMPLATE_VBoxR0_LDFLAGS.solaris.x86= -m325416 TEMPLATE_VBoxR0_LIBS.solaris= \5417 $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB)5412 TEMPLATE_VBoxR0_LDFLAGS = -r 5413 TEMPLATE_VBoxR0_LDFLAGS.solaris = -u _init -u _info 5414 TEMPLATE_VBoxR0_LDFLAGS.solaris.amd64 = -m64 5415 TEMPLATE_VBoxR0_LDFLAGS.solaris.x86 = -m32 5416 TEMPLATE_VBoxR0_LIBS.solaris = \ 5417 $(PATH_STAGE_LIB)/RuntimeR0Stub$(VBOX_SUFF_LIB) 5418 5418 ifdef VBOX_GCC_USING_SOLARIS_AS 5419 TEMPLATE_VBoxR0_CFLAGS.amd64+= -Wa,-xmodel=kernel5420 TEMPLATE_VBoxR0_CXXFLAGS.amd64+= -Wa,-xmodel=kernel5421 endif 5422 # Solaris driver signing.5423 TEMPLATE_VBoxR0_POST_CMDS= $(VBOX_SIGN_DRIVER_CMDS)5419 TEMPLATE_VBoxR0_CFLAGS.amd64 += -Wa,-xmodel=kernel 5420 TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -Wa,-xmodel=kernel 5421 endif 5422 # Solaris driver signing. 5423 TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) 5424 5424 else 5425 TEMPLATE_VBoxR0_LDFLAGS= -nostdlib -Bsymbolic -g5426 ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR5427 TEMPLATE_VBoxR0_LD_DEBUG= split5425 TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g 5426 ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR 5427 TEMPLATE_VBoxR0_LD_DEBUG = split 5428 5428 endif 5429 5429 if "$(KBUILD_TARGET)" == "linux" && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS) 5430 VBOX_WITH_VBOXR0_AS_DLL = 15431 TEMPLATE_VBoxR0_DLLSUFF= .r05432 TEMPLATE_VBoxR0_CFLAGS+= -fPIC5433 TEMPLATE_VBoxR0_CXXFLAGS+= -fPIC5434 TEMPLATE_VBoxR0_LDFLAGS+=5435 TEMPLATE_VBoxR0_DTRACE_HDR_FLAGS+= --pic5436 TEMPLATE_VBoxR0_DTRACE_OBJ_FLAGS+= --pic5430 VBOX_WITH_VBOXR0_AS_DLL = 1 5431 TEMPLATE_VBoxR0_DLLSUFF = .r0 5432 TEMPLATE_VBoxR0_CFLAGS += -fPIC 5433 TEMPLATE_VBoxR0_CXXFLAGS += -fPIC 5434 TEMPLATE_VBoxR0_LDFLAGS += 5435 TEMPLATE_VBoxR0_DTRACE_HDR_FLAGS += --pic 5436 TEMPLATE_VBoxR0_DTRACE_OBJ_FLAGS += --pic 5437 5437 else 5438 TEMPLATE_VBoxR0_CFLAGS.amd64+= -mcmodel=kernel5439 TEMPLATE_VBoxR0_CXXFLAGS.amd64+= -mcmodel=kernel5438 TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel 5439 TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel 5440 5440 endif 5441 5441 ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1 5442 TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS 5443 TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds 5444 TEMPLATE_VBoxR0_LNK_DEPS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds 5445 TEMPLATE_VBoxR0_CFLAGS.linux += -g1 5446 TEMPLATE_VBoxR0_CXXFLAGS.linux += -g1 5447 endif 5448 ifn1of ($(KBUILD_TARGET),solaris freebsd) 5442 TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS 5443 TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds 5444 TEMPLATE_VBoxR0_LNK_DEPS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds 5445 TEMPLATE_VBoxR0_CFLAGS.linux += -g1 5446 TEMPLATE_VBoxR0_CXXFLAGS.linux += -g1 5447 endif 5448 ifn1of ($(KBUILD_TARGET), solaris freebsd) 5449 TEMPLATE_VBoxR0_LIBS = \ 5450 $(VBOX_GCC_LIBGCC) # intrinsics 5451 endif 5452 if1of ($(KBUILD_TARGET), linux) 5453 TEMPLATE_VBoxR0_POST_CMDS += $(NLTAB) \ 5454 $(if $(eq $(tool_do),LINK_SYSMOD),if readelf -S $(out)|grep -q "[cd]tors"; then echo "Found ctors/dtors in $(out)!"; exit 1; fi) 5455 endif 5456 endif # elf 5457 5458 ifeq ($(VBOX_LDR_FMT),macho) 5459 TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) 5460 TEMPLATE_VBoxR0_SDKS += $(VBOX_DARWIN_DEF_SDK_SDKS) 5461 TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 5462 TEMPLATE_VBoxR0_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \ 5463 -fno-common -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ 5464 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_std) 5465 TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables 5466 TEMPLATE_VBoxR0_CXXFLAGS.x86 = -m32 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5467 TEMPLATE_VBoxR0_CXXFLAGS.arm64 = -m64 -target arm64e-apple-macos11.0 # Assembly fixup issues w/o the -target bit. Why? 5468 TEMPLATE_VBoxR0_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \ 5469 -fno-common -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ 5470 $(VBOX_GCC_fno-stack-protector) 5471 TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables 5472 TEMPLATE_VBoxR0_CFLAGS.x86 = -m32 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5473 TEMPLATE_VBoxR0_CFLAGS.arm64 = -m64 -target arm64e-apple-macos11.0 5474 TEMPLATE_VBoxR0_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib 5475 TEMPLATE_VBoxR0_LDFLAGS.amd64 = -m64 -static 5476 TEMPLATE_VBoxR0_LDFLAGS.arm64 = -m64 -static 5477 TEMPLATE_VBoxR0_LDFLAGS.x86 = -m32 5478 TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mkernel 5479 TEMPLATE_VBoxR0_CFLAGS.amd64 += -mkernel 5480 TEMPLATE_VBoxR0_CXXFLAGS.arm64 += -mkernel 5481 TEMPLATE_VBoxR0_CFLAGS.arm64 += -mkernel 5482 TEMPLATE_VBoxR0_LDFLAGS += -Wl,-kext -mkernel 5483 TEMPLATE_VBoxR0_POST_CMDS = $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_VMM_MOD_FN,$(out),org.virtualbox.app.r0.$(target))) 5484 endif 5485 5486 ifeq ($(VBOX_LDR_FMT),lx) 5487 TEMPLATE_VBoxR0_TOOL = GXX3OMF 5488 TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-common 5489 TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-common -fno-rtti 5490 if $(VBOX_GCC_VERSION_CC) < 30400 5491 TEMPLATE_VBoxR0_DEFS += RT_WITHOUT_PRAGMA_ONCE 5492 endif 5493 TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Zdll 5449 5494 TEMPLATE_VBoxR0_LIBS = \ 5450 $(VBOX_GCC_LIBGCC) # intrinsics 5451 endif 5452 if1of ($(KBUILD_TARGET),linux) 5453 TEMPLATE_VBoxR0_POST_CMDS += $(NLTAB)\ 5454 $(if $(eq $(tool_do),LINK_SYSMOD),if readelf -S $(out)|grep -q "[cd]tors"; then echo "Found ctors/dtors in $(out)!"; exit 1; fi) 5455 endif 5456 endif # elf 5457 5458 ifeq ($(VBOX_LDR_FMT),macho) 5459 TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) 5460 TEMPLATE_VBoxR0_SDKS += $(VBOX_DARWIN_DEF_SDK_SDKS) 5461 TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 5462 TEMPLATE_VBoxR0_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \ 5463 -fno-common -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ 5464 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_std) 5465 TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables 5466 TEMPLATE_VBoxR0_CXXFLAGS.x86 = -m32 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5467 TEMPLATE_VBoxR0_CXXFLAGS.arm64 = -m64 -target arm64e-apple-macos11.0 # Assembly fixup issues w/o the -target bit. Why? 5468 TEMPLATE_VBoxR0_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \ 5469 -fno-common -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \ 5470 $(VBOX_GCC_fno-stack-protector) 5471 TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables 5472 TEMPLATE_VBoxR0_CFLAGS.x86 = -m32 -msoft-float -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5473 TEMPLATE_VBoxR0_CFLAGS.arm64 = -m64 -target arm64e-apple-macos11.0 5474 TEMPLATE_VBoxR0_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib 5475 TEMPLATE_VBoxR0_LDFLAGS.amd64 = -m64 -static 5476 TEMPLATE_VBoxR0_LDFLAGS.arm64 = -m64 -static 5477 TEMPLATE_VBoxR0_LDFLAGS.x86 = -m32 5478 TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mkernel 5479 TEMPLATE_VBoxR0_CFLAGS.amd64 += -mkernel 5480 TEMPLATE_VBoxR0_CXXFLAGS.arm64 += -mkernel 5481 TEMPLATE_VBoxR0_CFLAGS.arm64 += -mkernel 5482 TEMPLATE_VBoxR0_LDFLAGS += -Wl,-kext -mkernel 5483 TEMPLATE_VBoxR0_POST_CMDS = $(if $(eq $(tool_do),LINK_LIBRARY),,$(call VBOX_SIGN_VMM_MOD_FN,$(out),org.virtualbox.app.r0.$(target))) 5484 endif 5485 5486 ifeq ($(VBOX_LDR_FMT),lx) 5487 TEMPLATE_VBoxR0_TOOL = GXX3OMF 5488 TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-common 5489 TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-common -fno-rtti 5490 if $(VBOX_GCC_VERSION_CC) < 30400 5491 TEMPLATE_VBoxR0_DEFS += RT_WITHOUT_PRAGMA_ONCE 5492 endif 5493 TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Zdll 5494 TEMPLATE_VBoxR0_LIBS = \ 5495 $(VBOX_GCC_LIBGCC) \ 5496 $(VBOX_OBJ_SYS0) \ 5497 end 5495 $(VBOX_GCC_LIBGCC) \ 5496 $(VBOX_OBJ_SYS0) \ 5497 end 5498 5498 endif 5499 5499 … … 5542 5542 TEMPLATE_VBoxR0Drv_DEFS.win = IPRT_NT_MAP_TO_ZW 5543 5543 TEMPLATE_VBoxR0Drv_CXXFLAGS = -Zi -Zl -GR- -EHs- -GF -Gz -GS- -Zc:wchar_t- $(VBOX_VCC_FP) -Gs4096 $(VBOX_VCC_OPT) \ 5544 -Gy $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_WARN_ALL) $(VBOX_VCC_WERR)5544 -Gy $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_WARN_ALL) $(VBOX_VCC_WERR) 5545 5545 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120" 5546 5546 TEMPLATE_VBoxR0Drv_CXXFLAGS += -Gw … … 5556 5556 -Driver -Subsystem:NATIVE -Incremental:NO -Align:4096 -MapInfo:Exports -NoD -Release -Debug -Opt:Ref -Opt:Icf \ 5557 5557 $(VBOX_VCC_LD_GUARD_CF) \ 5558 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \5559 -Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com5558 -Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 5559 -Stub:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com 5560 5560 ifdef VBOX_WITH_DTRACE_R0DRV 5561 5561 TEMPLATE_VBoxR0Drv_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj … … 5602 5602 ## 5603 5603 if defined(VBOX_WITH_TESTCASES) \ 5604 && "$(KBUILD_HOST)" == "linux" \5605 && "$(KBUILD_HOST_ARCH)" == "$(KBUILD_TARGET_ARCH)" \5606 && !defined(VBOX_WITHOUT_LINUX_TEST_BUILDS) \5607 && !defined(VBOX_ONLY_SDK) \5608 && !defined(VBOX_ONLY_DOCS) \5609 && !defined(VBOX_ONLY_VALIDATIONKIT)5604 && "$(KBUILD_HOST)" == "linux" \ 5605 && "$(KBUILD_HOST_ARCH)" == "$(KBUILD_TARGET_ARCH)" \ 5606 && !defined(VBOX_WITHOUT_LINUX_TEST_BUILDS) \ 5607 && !defined(VBOX_ONLY_SDK) \ 5608 && !defined(VBOX_ONLY_DOCS) \ 5609 && !defined(VBOX_ONLY_VALIDATIONKIT) 5610 5610 define VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN 5611 5611 ifneq ($(KERN_DIR),) 5612 TESTING+= $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run5613 OTHERS+= $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run5614 OTHERS_CLEAN += $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run5615 $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run: \5616 $$(if $(2),$$(PATH_TARGET)/tst$(2)$(subst /,_,$(KERN_DIR))_mod.run,) \5617 $$$$($(1)_2_STAGE_TARGETS)5612 TESTING += $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5613 OTHERS += $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5614 OTHERS_CLEAN += $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5615 $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run: \ 5616 $$(if $(2),$$(PATH_TARGET)/tst$(2)$(subst /,_,$(KERN_DIR))_mod.run,) \ 5617 $$$$($(1)_2_STAGE_TARGETS) 5618 5618 $(QUIET)$$(call MSG_L1,Doing a test build of the $(1) kernel module) 5619 5619 $(QUIET)$$(RM) -f -- "$$@" … … 5627 5627 BUILD_TYPE= BUILD_TARGET= BUILD_TARGET_ARCH= BUILD_TARGET_CPU= BUILD_PLATFORM= BUILD_PLATFORM_ARCH= BUILD_PLATFORM_CPU= \ 5628 5628 -C $$(PATH_TARGET)/tst$(1)_mod clean 5629 ifneq ($(2),)5629 ifneq ($(2),) 5630 5630 $(QUIET)$$(CP) -f -- "$$<" "$$(PATH_TARGET)/tst$(1)_mod/Module.symvers" 5631 endif5631 endif 5632 5632 + $(QUIET)$(REDIRECT_EXT) -d2=1 -w1 "$$(PATH_TARGET)/tst$(1)_mod/make.err" -- \ 5633 5633 make KBUILD_VERBOSE=$(KBUILD_VERBOSE) KERN_DIR=$(KERN_DIR) VBOX_KERN_QUIET=1 $(if $(2),KBUILD_EXTRA_SYMBOLS="$$(PATH_TARGET)/tst$(1)_mod/Module.symvers",) $(if-expr $(KMK_OPTS_JOBS) != 0,JOBS=$(KMK_OPTS_JOBS),) \ … … 5638 5638 $(CAT) "$$(PATH_TARGET)/tst$(1)_mod/make.err" 5639 5639 $(QUIET)! grep "^WARNING: .* undefined!$$$$" "$$(PATH_TARGET)/tst$(1)_mod/make.err" 5640 if1of ($(USERNAME), bird)5640 if1of ($(USERNAME), bird) 5641 5641 - nm -u "$$(PATH_TARGET)/tst$(1)_mod/"*.ko | sort 5642 endif 5643 ifneq ($(3),) 5644 $(QUIET)$$(CP) -f -- "$$(PATH_TARGET)/tst$(1)_mod/Module.symvers" "$$@" 5645 else 5646 $(QUIET)$$(APPEND) -t "$$@" "done" 5647 endif 5648 $(QUIET)$$(RM) -Rf -- "$$(PATH_TARGET)/tst$(1)_mod" 5649 vbox-linux-kmod-test-builds: $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5650 $$(foreach src,$$(notdir $$(filter %.c,$$(subst =>,/,$$($(1)_SOURCES)))),$$(patsubst %.c,%.o,$$(src))): $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5642 5651 endif 5643 ifneq ($(3),) 5644 $(QUIET)$$(CP) -f -- "$$(PATH_TARGET)/tst$(1)_mod/Module.symvers" "$$@" 5645 else 5646 $(QUIET)$$(APPEND) -t "$$@" "done" 5647 endif 5648 $(QUIET)$$(RM) -Rf -- "$$(PATH_TARGET)/tst$(1)_mod" 5649 vbox-linux-kmod-test-builds: $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5650 $$(foreach src,$$(notdir $$(filter %.c,$$(subst =>,/,$$($(1)_SOURCES)))),$$(patsubst %.c,%.o,$$(src))): $$(PATH_TARGET)/tst$(1)$(subst /,_,$(KERN_DIR))_mod.run 5651 endif 5652 endef # VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN 5652 endef # VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN 5653 5653 else 5654 5654 VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN = 5655 5655 endif 5656 5656 else 5657 VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN=5657 VBOX_LINUX_KMOD_TEST_BUILD_RULE_FN = 5658 5658 endif # linux target 5659 5659 5660 5660 ifeq ($(KBUILD_TARGET),os2) 5661 5661 ifndef VBOX_USE_WATCOM_FOR_OS2 5662 TEMPLATE_VBoxR0Drv_TOOL= GXX3OMF5663 TEMPLATE_VBoxR0Drv_CXXFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti5664 TEMPLATE_VBoxR0Drv_CFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions5665 TEMPLATE_VBoxR0Drv_LIBS= $(VBOX_GCC_LIBGCC)5666 # wlink thinks physdevice doesn't need fixups and should have a stack - stupid!5667 TEMPLATE_VBoxR0Drv_LDFLAGS= -Zlinker Option -Zlinker internalrelocs, -Zlinker togglerelocs5668 5669 TEMPLATE_VBoxR0Drv_TOOL= OPENWATCOM5670 TEMPLATE_VBoxR0Drv_CTOOL= OPENWATCOM5671 TEMPLATE_VBoxR0Drv_CXXTOOL= OPENWATCOM5672 TEMPLATE_VBoxR0Drv_LDTOOL= OPENWATCOM-WL5673 TEMPLATE_VBoxR0Drv_ARTOOL= OPENWATCOM5674 TEMPLATE_VBoxR0Drv_ASTOOL= NASM5675 TEMPLATE_VBoxR0Drv_ASFLAGS= -fobj -DASM_FORMAT_OMF -D__NASM__ -w+orphan-labels #-g -F borland5676 TEMPLATE_VBoxR0Drv_DEFS.os2 = #_OS2EMX_H5677 TEMPLATE_VBoxR0Drv_INCS= \5678 $(PATH_TOOL_OPENWATCOM)/h \5679 $(PATH_TOOL_OPENWATCOM)/h/os2 \5680 $(PATH_ROOT)/include \5681 $(PATH_KLIBC_TRUNK)/libc/include # for os2ddk5682 TEMPLATE_VBoxR0Drv_CFLAGS= -s -ze -w4 -hd -d1+ -nt=TEXT32 -nc=CODE -4 -of+5683 TEMPLATE_VBoxR0Drv_CXXFLAGS = -s -ze -w4 -hd -d2t -nt=TEXT32 -nc=CODE -4 -of+5684 TEMPLATE_VBoxR0Drv_LDFLAGS= \5685 form os2 lx physdevice \5686 option NODefaultlibs, internalrelocs, togglerelocs \5687 debug dwarf all #option symfile5688 # debug codeview all option symfile - wlink generates bad info, overwritten mod dir header.5662 TEMPLATE_VBoxR0Drv_TOOL = GXX3OMF 5663 TEMPLATE_VBoxR0Drv_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti 5664 TEMPLATE_VBoxR0Drv_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions 5665 TEMPLATE_VBoxR0Drv_LIBS = $(VBOX_GCC_LIBGCC) 5666 # wlink thinks physdevice doesn't need fixups and should have a stack - stupid! 5667 TEMPLATE_VBoxR0Drv_LDFLAGS = -Zlinker Option -Zlinker internalrelocs, -Zlinker togglerelocs 5668 else 5669 TEMPLATE_VBoxR0Drv_TOOL = OPENWATCOM 5670 TEMPLATE_VBoxR0Drv_CTOOL = OPENWATCOM 5671 TEMPLATE_VBoxR0Drv_CXXTOOL = OPENWATCOM 5672 TEMPLATE_VBoxR0Drv_LDTOOL = OPENWATCOM-WL 5673 TEMPLATE_VBoxR0Drv_ARTOOL = OPENWATCOM 5674 TEMPLATE_VBoxR0Drv_ASTOOL = NASM 5675 TEMPLATE_VBoxR0Drv_ASFLAGS = -fobj -DASM_FORMAT_OMF -D__NASM__ -w+orphan-labels #-g -F borland 5676 TEMPLATE_VBoxR0Drv_DEFS.os2 = #_OS2EMX_H 5677 TEMPLATE_VBoxR0Drv_INCS = \ 5678 $(PATH_TOOL_OPENWATCOM)/h \ 5679 $(PATH_TOOL_OPENWATCOM)/h/os2 \ 5680 $(PATH_ROOT)/include \ 5681 $(PATH_KLIBC_TRUNK)/libc/include # for os2ddk 5682 TEMPLATE_VBoxR0Drv_CFLAGS = -s -ze -w4 -hd -d1+ -nt=TEXT32 -nc=CODE -4 -of+ 5683 TEMPLATE_VBoxR0Drv_CXXFLAGS = -s -ze -w4 -hd -d2t -nt=TEXT32 -nc=CODE -4 -of+ 5684 TEMPLATE_VBoxR0Drv_LDFLAGS = \ 5685 form os2 lx physdevice \ 5686 option NODefaultlibs, internalrelocs, togglerelocs \ 5687 debug dwarf all #option symfile 5688 # debug codeview all option symfile - wlink generates bad info, overwritten mod dir header. 5689 5689 endif 5690 5690 endif 5691 5691 5692 5692 ifeq ($(KBUILD_TARGET),darwin) 5693 TEMPLATE_VBoxR0Drv_TOOL= $(VBOX_GCC_TOOL)5694 TEMPLATE_VBoxR0Drv_SDKS+= $(VBOX_DARWIN_DEF_SDK_SDKS)5695 TEMPLATE_VBoxR0Drv_DEFS+= $(VBOX_DARWIN_DEF_SDK_DEFS) KERNEL KERNEL_PRIVATE DRIVER_PRIVATE APPLE NeXT5693 TEMPLATE_VBoxR0Drv_TOOL = $(VBOX_GCC_TOOL) 5694 TEMPLATE_VBoxR0Drv_SDKS += $(VBOX_DARWIN_DEF_SDK_SDKS) 5695 TEMPLATE_VBoxR0Drv_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) KERNEL KERNEL_PRIVATE DRIVER_PRIVATE APPLE NeXT 5696 5696 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) 5697 TEMPLATE_VBoxR0Drv_INCS+= \5698 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \5699 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers5700 ## @todo try use VBOX_GCC_PEDANTIC_CXX5701 TEMPLATE_VBoxR0Drv_CXXFLAGS= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) \5702 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \5703 -fno-common -nostdinc -fno-builtin -finline $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \5704 -fno-keep-inline-functions -fno-exceptions -msoft-float \5705 -fapple-kext -fno-rtti -fcheck-new -force_cpusubtype_ALL \5706 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks5707 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= -m64 -mkernel -mno-red-zone -gdwarf-25708 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= -m32 -static5709 TEMPLATE_VBoxR0Drv_CFLAGS= $(VBOX_DARWIN_DEF_SDK_CFLAGS) \5710 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long -fno-common -nostdinc -fno-builtin -finline \5711 -fno-keep-inline-functions -fno-exceptions $(VBOX_GCC_fvisibility-hidden) -msoft-float \5712 -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations \5713 -Werror-implicit-function-declaration -force_cpusubtype_ALL \5714 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks5715 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 -mkernel -mno-red-zone -gdwarf-25716 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -static5717 TEMPLATE_VBoxR0Drv_LDFLAGS =$(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \5718 -nostdlib -Wl,-kext,-new_linker -Wl,-Y,1455 -keep_private_extern5719 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64= -m645720 TEMPLATE_VBoxR0Drv_LDFLAGS.x86= -m325721 TEMPLATE_VBoxR0Drv_LIBS= kmodc++ kmod cc_kext cpp_kext $(VBOX_GCC_LIBGCC)5697 TEMPLATE_VBoxR0Drv_INCS += \ 5698 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \ 5699 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers 5700 ## @todo try use VBOX_GCC_PEDANTIC_CXX 5701 TEMPLATE_VBoxR0Drv_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) \ 5702 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \ 5703 -fno-common -nostdinc -fno-builtin -finline $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ 5704 -fno-keep-inline-functions -fno-exceptions -msoft-float \ 5705 -fapple-kext -fno-rtti -fcheck-new -force_cpusubtype_ALL \ 5706 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks 5707 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-2 5708 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = -m32 -static 5709 TEMPLATE_VBoxR0Drv_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) \ 5710 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long -fno-common -nostdinc -fno-builtin -finline \ 5711 -fno-keep-inline-functions -fno-exceptions $(VBOX_GCC_fvisibility-hidden) -msoft-float \ 5712 -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations \ 5713 -Werror-implicit-function-declaration -force_cpusubtype_ALL \ 5714 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks 5715 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-2 5716 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -static 5717 TEMPLATE_VBoxR0Drv_LDFLAGS = $(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \ 5718 -nostdlib -Wl,-kext,-new_linker -Wl,-Y,1455 -keep_private_extern 5719 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64 = -m64 5720 TEMPLATE_VBoxR0Drv_LDFLAGS.x86 = -m32 5721 TEMPLATE_VBoxR0Drv_LIBS = kmodc++ kmod cc_kext cpp_kext $(VBOX_GCC_LIBGCC) 5722 5722 else 5723 5723 # Note xcode uses -fstrict-aliasing, we currently don't dare... We also add -mno-red-zone. 5724 TEMPLATE_VBoxR0Drv_INCS+= \5725 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \5726 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers5727 ## @todo try use VBOX_GCC_PEDANTIC_CXX5728 # -Wno-c++11-extensions -Wno-c99-extensions -Wno-extra-semi -Wno-zero-length-array5729 TEMPLATE_VBoxR0Drv_CXXFLAGS= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -mkernel \5730 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \5731 -Wno-c++11-extensions -Wno-c99-extensions -Wno-extra-semi -Wno-zero-length-array \5732 -Wno-gnu-zero-variadic-macro-arguments -Wno-four-char-constants \5733 -fno-common -nostdinc -fno-builtin $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \5734 -fno-exceptions -fapple-kext -fno-rtti -mkernel \5735 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -Wnon-modular-include-in-framework-module \5736 -Werror=non-modular-include-in-framework-module \5737 $(VBOX_GCC_Wno-nullability-extension) $(VBOX_GCC_Wno-gnu-statement-expression) \5738 5739 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing -stdlib=libc++5740 # if1of ($(VBOX_GCC_TOOL), CLANGXXMACHO) ## @todo check if we can safely use $(VBOX_GCC_std) @bugref{9790}, good for noexcept.5741 #TEMPLATE_VBoxR0Drv_CXXFLAGS += $(VBOX_GCC_std)5742 # endif5743 # also used by xcode 6.2: \5744 # -Werror=return-type \5745 # -Werror=deprecated-objc-isa-usage \5746 # -Werror=objc-root-class \5747 # -Wno-missing-field-initializers -Wno-missing-prototypes -Wunreachable-code \5748 # -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function \5749 # -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body \5750 # -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants \5751 # -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion \5752 # -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion5753 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= -m64 -msoft-float -mno-red-zone5754 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= -m32 -msoft-float5755 TEMPLATE_VBoxR0Drv_CXXFLAGS.arm64= -m64 -fno-sanitize=vptr -target arm64e-apple-macos11.05756 TEMPLATE_VBoxR0Drv_CFLAGS= $(VBOX_DARWIN_DEF_SDK_CFLAGS) -mkernel \5757 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \5758 -fno-common -nostdinc -fno-builtin $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \5759 -fno-exceptions -fapple-kext -fno-rtti\5760 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -Wnon-modular-include-in-framework-module \5761 -Werror=non-modular-include-in-framework-module $(VBOX_GCC_Wno-c11-extensions) \5762 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing5763 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 -msoft-float -mno-red-zone5764 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -msoft-float5765 TEMPLATE_VBoxR0Drv_CFLAGS.arm64= -m64 -fno-sanitize=vptr -target arm64e-apple-macos11.05724 TEMPLATE_VBoxR0Drv_INCS += \ 5725 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \ 5726 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers 5727 ## @todo try use VBOX_GCC_PEDANTIC_CXX 5728 # -Wno-c++11-extensions -Wno-c99-extensions -Wno-extra-semi -Wno-zero-length-array 5729 TEMPLATE_VBoxR0Drv_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -mkernel \ 5730 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \ 5731 -Wno-c++11-extensions -Wno-c99-extensions -Wno-extra-semi -Wno-zero-length-array \ 5732 -Wno-gnu-zero-variadic-macro-arguments -Wno-four-char-constants \ 5733 -fno-common -nostdinc -fno-builtin $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ 5734 -fno-exceptions -fapple-kext -fno-rtti -mkernel \ 5735 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -Wnon-modular-include-in-framework-module \ 5736 -Werror=non-modular-include-in-framework-module \ 5737 $(VBOX_GCC_Wno-nullability-extension) $(VBOX_GCC_Wno-gnu-statement-expression) \ 5738 $(VBOX_GCC_Wno-import-preprocessor-directive-pedantic) $(VBOX_GCC_Wno-c11-extensions) \ 5739 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing -stdlib=libc++ 5740 # if1of ($(VBOX_GCC_TOOL), CLANGXXMACHO) ## @todo check if we can safely use $(VBOX_GCC_std) @bugref{9790}, good for noexcept. 5741 #TEMPLATE_VBoxR0Drv_CXXFLAGS += $(VBOX_GCC_std) 5742 # endif 5743 # also used by xcode 6.2: \ 5744 # -Werror=return-type \ 5745 # -Werror=deprecated-objc-isa-usage \ 5746 # -Werror=objc-root-class \ 5747 # -Wno-missing-field-initializers -Wno-missing-prototypes -Wunreachable-code \ 5748 # -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function \ 5749 # -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body \ 5750 # -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants \ 5751 # -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion \ 5752 # -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion 5753 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = -m64 -msoft-float -mno-red-zone 5754 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = -m32 -msoft-float 5755 TEMPLATE_VBoxR0Drv_CXXFLAGS.arm64 = -m64 -fno-sanitize=vptr -target arm64e-apple-macos11.0 5756 TEMPLATE_VBoxR0Drv_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -mkernel \ 5757 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \ 5758 -fno-common -nostdinc -fno-builtin $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ 5759 -fno-exceptions -fapple-kext -fno-rtti \ 5760 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -Wnon-modular-include-in-framework-module \ 5761 -Werror=non-modular-include-in-framework-module $(VBOX_GCC_Wno-c11-extensions) \ 5762 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing 5763 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 -msoft-float -mno-red-zone 5764 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -msoft-float 5765 TEMPLATE_VBoxR0Drv_CFLAGS.arm64 = -m64 -fno-sanitize=vptr -target arm64e-apple-macos11.0 5766 5766 if 1 5767 5767 TEMPLATE_VBoxR0Drv_CFLAGS += $(VBOX_GCC_WERR) 5768 5768 TEMPLATE_VBoxR0Drv_CXXFLAGS += $(VBOX_GCC_WERR) 5769 5769 endif 5770 TEMPLATE_VBoxR0Drv_LDFLAGS =$(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \5771 -nostdlib -stdlib=libc++ -Wl,-kext -Wl,-keep_private_externs5772 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64= -m645773 TEMPLATE_VBoxR0Drv_LDFLAGS.arm64= -m645774 TEMPLATE_VBoxR0Drv_LDFLAGS.x86= -m325775 TEMPLATE_VBoxR0Drv_LIBS= kmodc++ kmod cc_kext5770 TEMPLATE_VBoxR0Drv_LDFLAGS = $(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \ 5771 -nostdlib -stdlib=libc++ -Wl,-kext -Wl,-keep_private_externs 5772 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64 = -m64 5773 TEMPLATE_VBoxR0Drv_LDFLAGS.arm64 = -m64 5774 TEMPLATE_VBoxR0Drv_LDFLAGS.x86 = -m32 5775 TEMPLATE_VBoxR0Drv_LIBS = kmodc++ kmod cc_kext 5776 5776 endif 5777 5777 endif 5778 5778 5779 5779 ifeq ($(KBUILD_TARGET),solaris) 5780 ## The Solaris /usr/platform/i86pc/include and /usr/include directories.5781 VBOX_SOLARIS_SYS_INCS ?= /usr/platform/i86pc/include /usr/include5782 5783 TEMPLATE_VBoxR0Drv_TOOL= $(VBOX_GCC_TOOL)5784 TEMPLATE_VBoxR0Drv_DEFS+= _MACHDEP _KERNEL _STRICT_STDC5780 ## The Solaris /usr/platform/i86pc/include and /usr/include directories. 5781 VBOX_SOLARIS_SYS_INCS ?= /usr/platform/i86pc/include /usr/include 5782 5783 TEMPLATE_VBoxR0Drv_TOOL = $(VBOX_GCC_TOOL) 5784 TEMPLATE_VBoxR0Drv_DEFS += _MACHDEP _KERNEL _STRICT_STDC 5785 5785 if $(VBOX_GCC_VERSION_CC) < 30400 5786 TEMPLATE_VBoxR0Drv_DEFS+= RT_WITHOUT_PRAGMA_ONCE5787 endif 5788 TEMPLATE_VBoxR0Drv_INCS= $(VBOX_SOLARIS_SYS_INCS)5789 TEMPLATE_VBoxR0Drv_LDFLAGS= -r -dy5790 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64= $(if $(eq $(KBUILD_HOST),solaris),-64,-m elf_x86_64)5791 # Exclude -Wall because of solaris headers' pragma ident warnings that gcc refuses to supress.5792 TEMPLATE_VBoxR0Drv_CFLAGS= -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) \5793 -Wmissing-prototypes -Wstrict-prototypes $(VBOX_GCC_fdiagnostics-show-option) \5794 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \5795 -Wformat -Wimplicit-int -Wimplicit-function-declaration -Werror-implicit-function-declaration -Wparentheses \5796 -O2 -fno-omit-frame-pointer -ffreestanding -nodefaultlibs -fno-strict-aliasing -fno-common -std=c995797 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow5798 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_msave-args) \5799 -mno-red-zone -mcmodel=kernel $(if-expr defined(VBOX_GCC_USING_SOLARIS_AS),-Wa$(COMMA)-xmodel=kernel,) \5800 -fno-reorder-blocks -fno-asynchronous-unwind-tables -funit-at-a-time5801 TEMPLATE_VBoxR0Drv_CXXFLAGS= -Wpointer-arith \5802 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wformat \5803 -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti5804 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)5805 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64)5806 TEMPLATE_VBoxR0Drv_POST_CMDS= $(VBOX_SIGN_DRIVER_CMDS)5786 TEMPLATE_VBoxR0Drv_DEFS += RT_WITHOUT_PRAGMA_ONCE 5787 endif 5788 TEMPLATE_VBoxR0Drv_INCS = $(VBOX_SOLARIS_SYS_INCS) 5789 TEMPLATE_VBoxR0Drv_LDFLAGS = -r -dy 5790 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64 = $(if $(eq $(KBUILD_HOST),solaris),-64,-m elf_x86_64) 5791 # Exclude -Wall because of solaris headers' pragma ident warnings that gcc refuses to supress. 5792 TEMPLATE_VBoxR0Drv_CFLAGS = -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) \ 5793 -Wmissing-prototypes -Wstrict-prototypes $(VBOX_GCC_fdiagnostics-show-option) \ 5794 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \ 5795 -Wformat -Wimplicit-int -Wimplicit-function-declaration -Werror-implicit-function-declaration -Wparentheses \ 5796 -O2 -fno-omit-frame-pointer -ffreestanding -nodefaultlibs -fno-strict-aliasing -fno-common -std=c99 5797 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5798 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_msave-args) \ 5799 -mno-red-zone -mcmodel=kernel $(if-expr defined(VBOX_GCC_USING_SOLARIS_AS),-Wa$(COMMA)-xmodel=kernel,) \ 5800 -fno-reorder-blocks -fno-asynchronous-unwind-tables -funit-at-a-time 5801 TEMPLATE_VBoxR0Drv_CXXFLAGS = -Wpointer-arith \ 5802 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wformat \ 5803 -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti 5804 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) 5805 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64) 5806 TEMPLATE_VBoxR0Drv_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) 5807 5807 endif # Solaris 5808 5808 5809 5809 ifeq ($(KBUILD_TARGET),freebsd) 5810 # x86 FreeBSD (6.2 or something):5811 # cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \5812 # -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \5813 # -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 \5814 # -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \5815 # -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \5816 # -std=c99 -c ../my.c5817 # ld -d -warn-common -r -d -o my.kld my.o5818 # :> export_syms5819 # awk -f /usr/src/sys/modules/my/../../conf/kmod_syms.awk my.kld export_syms | xargs -J% objcopy % my.kld5820 # ld -Bsharable -d warn-commnon -o my.ko my.kld5821 #5822 # AMD64 FreeBSD (7.1):5823 # cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \5824 # -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \5825 # -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \5826 # -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \5827 # -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \5828 # -fformat-extensions -c /usr/src/sys/modules/my/../../dev/my/if_my.c5829 # ld -d -warn-common -r -d -o if_my.ko if_my.o5830 # :> export_syms5831 # awk -f /usr/src/sys/modules/my/../../conf/kmod_syms.awk if_my.ko export_syms | xargs -J% objcopy % if_my.ko5832 5833 # Note: @ -> /usr/src/sys and machine -> /usr/src/sys/i386/include5834 5835 ## The location of the FreeBSD kernel source.5836 VBOX_FREEBSD_SRC ?= /usr/src/sys5837 ## The FreeBSD /usr/include.5838 VBOX_FREEBSD_SYS_INCS ?= /usr/include5839 5840 TEMPLATE_VBoxR0Drv_TOOL= $(VBOX_GCC_TOOL)5841 TEMPLATE_VBoxR0Drv_LDTOOL= FreeBsdKModLd5842 TEMPLATE_VBoxR0Drv_DEFS+= _KERNEL KLD_MODULE5810 # x86 FreeBSD (6.2 or something): 5811 # cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \ 5812 # -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \ 5813 # -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 \ 5814 # -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \ 5815 # -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \ 5816 # -std=c99 -c ../my.c 5817 # ld -d -warn-common -r -d -o my.kld my.o 5818 # :> export_syms 5819 # awk -f /usr/src/sys/modules/my/../../conf/kmod_syms.awk my.kld export_syms | xargs -J% objcopy % my.kld 5820 # ld -Bsharable -d warn-commnon -o my.ko my.kld 5821 # 5822 # AMD64 FreeBSD (7.1): 5823 # cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \ 5824 # -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \ 5825 # -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \ 5826 # -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \ 5827 # -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \ 5828 # -fformat-extensions -c /usr/src/sys/modules/my/../../dev/my/if_my.c 5829 # ld -d -warn-common -r -d -o if_my.ko if_my.o 5830 # :> export_syms 5831 # awk -f /usr/src/sys/modules/my/../../conf/kmod_syms.awk if_my.ko export_syms | xargs -J% objcopy % if_my.ko 5832 5833 # Note: @ -> /usr/src/sys and machine -> /usr/src/sys/i386/include 5834 5835 ## The location of the FreeBSD kernel source. 5836 VBOX_FREEBSD_SRC ?= /usr/src/sys 5837 ## The FreeBSD /usr/include. 5838 VBOX_FREEBSD_SYS_INCS ?= /usr/include 5839 5840 TEMPLATE_VBoxR0Drv_TOOL = $(VBOX_GCC_TOOL) 5841 TEMPLATE_VBoxR0Drv_LDTOOL = FreeBsdKModLd 5842 TEMPLATE_VBoxR0Drv_DEFS += _KERNEL KLD_MODULE 5843 5843 if $(VBOX_GCC_VERSION_CC) < 30400 5844 TEMPLATE_VBoxR0Drv_DEFS+= RT_WITHOUT_PRAGMA_ONCE5845 endif 5846 TEMPLATE_VBoxR0Drv_INCS= \5847 $(VBOX_FREEBSD_SRC) \5848 $(VBOX_FREEBSD_SRC)/contrib/altq \5849 $(VBOX_FREEBSD_SRC)/contrib/ck/include \5850 $(VBOX_FREEBSD_SRC)/../include \5851 $(VBOX_FREEBSD_SYS_INCS)5852 # omitting: -Wcast-qual, -Wredundant-decls5853 TEMPLATE_VBoxR0Drv_CFLAGS =\5854 $(VBOX_GCC_WARN) -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) $(VBOX_GCC_fdiagnostics-show-option) \5855 -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \5856 -Wimplicit-function-declaration -Werror-implicit-function-declaration \5857 -O2 -ffreestanding -fno-strict-aliasing -fno-common \5858 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \5859 -nostdinc -std=c995860 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -mno-align-long-strings -mno-mmx -mno-3dnow -mno-sse -mno-sse25861 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 \5862 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -Wundef5863 TEMPLATE_VBoxR0Drv_CXXFLAGS= -fno-exceptions -fno-rtti \5864 $(VBOX_GCC_WARN) -Wpointer-arith -Winline \5865 -O2 -fno-strict-aliasing -fno-common \5866 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \5867 -nostdinc5868 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)5869 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64)5870 TEMPLATE_VBoxR0Drv_SYSSUFF= .ko5871 TEMPLATE_VBoxR0Drv_LDFLAGS= -d --warn-common5872 TEMPLATE_VBoxR0Drv_LDFLAGS.x86= -m elf_i386_fbsd5873 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64= -m elf_x86_64_fbsd5874 5875 TOOL_FreeBsdKModLd = FreeBSD kernel module linker.5876 # See kBuild/tools/GCC3.kmk for docs.5877 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map5878 TOOL_FreeBsdKModLd_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))5879 TOOL_FreeBsdKModLd_LINK_SYSMOD_DEPORD =5844 TEMPLATE_VBoxR0Drv_DEFS += RT_WITHOUT_PRAGMA_ONCE 5845 endif 5846 TEMPLATE_VBoxR0Drv_INCS = \ 5847 $(VBOX_FREEBSD_SRC) \ 5848 $(VBOX_FREEBSD_SRC)/contrib/altq \ 5849 $(VBOX_FREEBSD_SRC)/contrib/ck/include \ 5850 $(VBOX_FREEBSD_SRC)/../include \ 5851 $(VBOX_FREEBSD_SYS_INCS) 5852 # omitting: -Wcast-qual, -Wredundant-decls 5853 TEMPLATE_VBoxR0Drv_CFLAGS = \ 5854 $(VBOX_GCC_WARN) -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) $(VBOX_GCC_fdiagnostics-show-option) \ 5855 -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ 5856 -Wimplicit-function-declaration -Werror-implicit-function-declaration \ 5857 -O2 -ffreestanding -fno-strict-aliasing -fno-common \ 5858 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ 5859 -nostdinc -std=c99 5860 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-align-long-strings -mno-mmx -mno-3dnow -mno-sse -mno-sse2 5861 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 \ 5862 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -Wundef 5863 TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \ 5864 $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ 5865 -O2 -fno-strict-aliasing -fno-common \ 5866 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ 5867 -nostdinc 5868 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) 5869 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64) 5870 TEMPLATE_VBoxR0Drv_SYSSUFF = .ko 5871 TEMPLATE_VBoxR0Drv_LDFLAGS = -d --warn-common 5872 TEMPLATE_VBoxR0Drv_LDFLAGS.x86 = -m elf_i386_fbsd 5873 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64 = -m elf_x86_64_fbsd 5874 5875 TOOL_FreeBsdKModLd = FreeBSD kernel module linker. 5876 # See kBuild/tools/GCC3.kmk for docs. 5877 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map 5878 TOOL_FreeBsdKModLd_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) 5879 TOOL_FreeBsdKModLd_LINK_SYSMOD_DEPORD = 5880 5880 ifeq ($(KBUILD_TARGET_ARCH),amd64) 5881 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT =5882 define TOOL_FreeBsdKModLd_LINK_SYSMOD_CMDS5883 # Link intermediate .kld (a relocatable object).5881 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT = 5882 define TOOL_FreeBsdKModLd_LINK_SYSMOD_CMDS 5883 # Link intermediate .kld (a relocatable object). 5884 5884 ld $(flags) -r -o $(out) $(objs) \ 5885 5885 $(foreach p,$(libpath), -L$(p))\ 5886 5886 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 5887 # Strip non-exported symbols private and localize the exported ones.5887 # Strip non-exported symbols private and localize the exported ones. 5888 5888 awk -f $(VBOX_FREEBSD_SRC)/conf/kmod_syms.awk $(out) $(if $(othersrc), $(othersrc),/dev/null) \ 5889 5889 | xargs -J% objcopy % $(out) 5890 5890 5891 ## Strip debug info (comment out if debugging or something).5891 ## Strip debug info (comment out if debugging or something). 5892 5892 objcopy --strip-debug $(out) 5893 endef5893 endef 5894 5894 else # x86 5895 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT = $(outbase).kld5896 define TOOL_FreeBsdKModLd_LINK_SYSMOD_CMDS5897 # Link intermediate .kld (a relocatable object).5895 TOOL_FreeBsdKModLd_LINK_SYSMOD_OUTPUT = $(outbase).kld 5896 define TOOL_FreeBsdKModLd_LINK_SYSMOD_CMDS 5897 # Link intermediate .kld (a relocatable object). 5898 5898 ld $(flags) -r -o $(outbase).kld $(objs) \ 5899 5899 $(foreach p,$(libpath), -L$(p))\ 5900 5900 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) 5901 # Strip non-exported symbols private and localize the exported ones.5901 # Strip non-exported symbols private and localize the exported ones. 5902 5902 awk -f $(VBOX_FREEBSD_SRC)/conf/kmod_syms.awk $(outbase).kld $(if $(othersrc), $(othersrc),/dev/null) \ 5903 5903 | xargs -J% objcopy % $(outbase).kld 5904 5904 5905 # Link the final .ko (a shared object).5905 # Link the final .ko (a shared object). 5906 5906 ld $(flags) -Bshareable -o $(out) $(outbase).kld 5907 endef5907 endef 5908 5908 endif # x86 5909 5909 … … 5912 5912 ifeq ($(KBUILD_TARGET),netbsd) 5913 5913 5914 # The location of the NetBSD sources.5915 VBOX_NETBSD_SRC ?= /usr/src5916 5917 # NetBSD uses "i386" for 32-bit, "x86" for common 32- and 64-bit code.5918 ifeq ($(KBUILD_TARGET_ARCH),amd64)5919 VBOX_NETBSD_TARGET_ARCH=amd645920 else5921 VBOX_NETBSD_TARGET_ARCH=i3865922 endif5923 5924 VBOX_NETBSD_TARGET_SRC=$(VBOX_NETBSD_SRC)/sys/arch/$(VBOX_NETBSD_TARGET_ARCH)5925 5926 TEMPLATE_VBoxR0Drv_TOOL= $(VBOX_GCC_TOOL)5927 TEMPLATE_VBoxR0Drv_DEFS+= _KERNEL _MODULE5914 # The location of the NetBSD sources. 5915 VBOX_NETBSD_SRC ?= /usr/src 5916 5917 # NetBSD uses "i386" for 32-bit, "x86" for common 32- and 64-bit code. 5918 ifeq ($(KBUILD_TARGET_ARCH),amd64) 5919 VBOX_NETBSD_TARGET_ARCH = amd64 5920 else 5921 VBOX_NETBSD_TARGET_ARCH = i386 5922 endif 5923 5924 VBOX_NETBSD_TARGET_SRC = $(VBOX_NETBSD_SRC)/sys/arch/$(VBOX_NETBSD_TARGET_ARCH) 5925 5926 TEMPLATE_VBoxR0Drv_TOOL = $(VBOX_GCC_TOOL) 5927 TEMPLATE_VBoxR0Drv_DEFS += _KERNEL _MODULE 5928 5928 if $(VBOX_GCC_VERSION_CC) < 30400 5929 TEMPLATE_VBoxR0Drv_DEFS+= RT_WITHOUT_PRAGMA_ONCE5930 endif 5931 TEMPLATE_VBoxR0Drv_INCS= \5932 $(VBOX_NETBSD_SRC)/sys \5933 $(VBOX_NETBSD_SRC)/common/include \5934 $(PATH_OBJ)/netbsd/include5935 5936 TEMPLATE_VBoxR0Drv_CFLAGS =\5937 $(VBOX_GCC_WARN) -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) \5938 $(VBOX_GCC_fdiagnostics-show-option) \5939 -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \5940 -Wimplicit-function-declaration -Werror-implicit-function-declaration \5941 -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \5942 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \5943 -nostdinc -std=c99 -msoft-float5944 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -mno-mmx -mno-sse -mno-avx \5945 5946 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 --param inline-unit-growth=100 \5947 5948 5949 -fno-asynchronous-unwind-tables -mno-fp-ret-in-3875950 TEMPLATE_VBoxR0Drv_CXXFLAGS= -fno-exceptions -fno-rtti \5951 $(VBOX_GCC_WARN) -Wpointer-arith -Winline \5952 -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \5953 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \5954 -nostdinc -msoft-float5955 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)5956 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64)5957 TEMPLATE_VBoxR0Drv_SYSSUFF= .kmod5958 TEMPLATE_VBoxR0Drv_LDFLAGS= -d --warn-common5959 TEMPLATE_VBoxR0Drv_LDFLAGS.x86= -m elf_i3865960 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64= -m elf_x86_645961 5962 # symlink kernel includes5963 TEMPLATE_VBoxR0Drv_ORDERDEPS += \5964 $(PATH_OBJ)/netbsd/include/$(VBOX_NETBSD_TARGET_ARCH) \5965 $(PATH_OBJ)/netbsd/include/x86 \5966 $(PATH_OBJ)/netbsd/include/machine5967 5968 $$(PATH_OBJ)/netbsd/include/$(VBOX_NETBSD_TARGET_ARCH):5929 TEMPLATE_VBoxR0Drv_DEFS += RT_WITHOUT_PRAGMA_ONCE 5930 endif 5931 TEMPLATE_VBoxR0Drv_INCS = \ 5932 $(VBOX_NETBSD_SRC)/sys \ 5933 $(VBOX_NETBSD_SRC)/common/include \ 5934 $(PATH_OBJ)/netbsd/include 5935 5936 TEMPLATE_VBoxR0Drv_CFLAGS = \ 5937 $(VBOX_GCC_WARN) -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) \ 5938 $(VBOX_GCC_fdiagnostics-show-option) \ 5939 -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ 5940 -Wimplicit-function-declaration -Werror-implicit-function-declaration \ 5941 -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \ 5942 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ 5943 -nostdinc -std=c99 -msoft-float 5944 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \ 5945 -mno-fp-ret-in-387 5946 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 --param inline-unit-growth=100 \ 5947 --param large-function-growth=1000 -fno-omit-frame-pointer \ 5948 -mcmodel=kernel -mno-red-zone -mno-sse -mno-mmx -mno-avx \ 5949 -fno-asynchronous-unwind-tables -mno-fp-ret-in-387 5950 TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \ 5951 $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ 5952 -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \ 5953 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ 5954 -nostdinc -msoft-float 5955 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) 5956 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64) 5957 TEMPLATE_VBoxR0Drv_SYSSUFF = .kmod 5958 TEMPLATE_VBoxR0Drv_LDFLAGS = -d --warn-common 5959 TEMPLATE_VBoxR0Drv_LDFLAGS.x86 = -m elf_i386 5960 TEMPLATE_VBoxR0Drv_LDFLAGS.amd64 = -m elf_x86_64 5961 5962 # symlink kernel includes 5963 TEMPLATE_VBoxR0Drv_ORDERDEPS += \ 5964 $(PATH_OBJ)/netbsd/include/$(VBOX_NETBSD_TARGET_ARCH) \ 5965 $(PATH_OBJ)/netbsd/include/x86 \ 5966 $(PATH_OBJ)/netbsd/include/machine 5967 5968 $$(PATH_OBJ)/netbsd/include/$(VBOX_NETBSD_TARGET_ARCH): 5969 5969 $(QUIET)$(MKDIR) -p $(@D) 5970 5970 $(QUIET)$(LN_SYMLINK) $(VBOX_NETBSD_TARGET_SRC)/include $@ 5971 5971 5972 $$(PATH_OBJ)/netbsd/include/x86:5972 $$(PATH_OBJ)/netbsd/include/x86: 5973 5973 $(QUIET)$(MKDIR) -p $(@D) 5974 5974 $(QUIET)$(LN_SYMLINK) $(VBOX_NETBSD_SRC)/sys/arch/x86/include $@ 5975 5975 5976 $$(PATH_OBJ)/netbsd/include/machine:5976 $$(PATH_OBJ)/netbsd/include/machine: 5977 5977 $(QUIET)$(MKDIR) -p $(@D) 5978 5978 $(QUIET)$(LN_SYMLINK) $(VBOX_NETBSD_TARGET_ARCH) $@ … … 5981 5981 5982 5982 ifeq ($(KBUILD_TARGET),haiku) 5983 ## The Haiku include directories5984 VBOX_HAIKU_SYS_INCS ?= /boot/develop/headers/os/kernel /boot/develop/headers/os/drivers5985 5986 TEMPLATE_VBoxR0Drv_TOOL= $(VBOX_GCC_TOOL)5987 TEMPLATE_VBoxR0Drv_LDTOOL= $(VBOX_GCC_TOOL)5988 TEMPLATE_VBoxR0Drv_DEFS= _KERNEL_MODE=1 _STRICT_STDC IN_RING0 IN_RT_R05983 ## The Haiku include directories 5984 VBOX_HAIKU_SYS_INCS ?= /boot/develop/headers/os/kernel /boot/develop/headers/os/drivers 5985 5986 TEMPLATE_VBoxR0Drv_TOOL = $(VBOX_GCC_TOOL) 5987 TEMPLATE_VBoxR0Drv_LDTOOL = $(VBOX_GCC_TOOL) 5988 TEMPLATE_VBoxR0Drv_DEFS = _KERNEL_MODE=1 _STRICT_STDC IN_RING0 IN_RT_R0 5989 5989 if $(VBOX_GCC_VERSION_CC) < 30400 5990 TEMPLATE_VBoxR0Drv_DEFS+= RT_WITHOUT_PRAGMA_ONCE5991 endif 5992 TEMPLATE_VBoxR0Drv_INCS= $(VBOX_HAIKU_SYS_INCS)5993 #TODO: sort this out5994 TEMPLATE_VBoxR0Drv_LDFLAGS= -shared $(VBOX_GCC_NO_UNDEFINED_R0) -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o5995 TEMPLATE_VBoxR0Drv_CFLAGS= -fno-PIC \5996 $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \5997 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration5998 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -mno-sse -mno-mmx -mno-sse2 -mno-3dnow5999 TEMPLATE_VBoxR0Drv_CFLAGS.x86= -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow6000 TEMPLATE_VBoxR0Drv_CFLAGS.amd64= -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \6001 -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \6002 -Wno-sign-compare6003 TEMPLATE_VBoxR0Drv_CXXFLAGS= -fno-PIC -Wpointer-arith \6004 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \6005 -Wformat \6006 -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti6007 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86= $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) -fno-exceptions -fno-rtti6008 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64= $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64) -fno-exceptions -fno-rtti5990 TEMPLATE_VBoxR0Drv_DEFS += RT_WITHOUT_PRAGMA_ONCE 5991 endif 5992 TEMPLATE_VBoxR0Drv_INCS = $(VBOX_HAIKU_SYS_INCS) 5993 #TODO: sort this out 5994 TEMPLATE_VBoxR0Drv_LDFLAGS = -shared $(VBOX_GCC_NO_UNDEFINED_R0) -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o 5995 TEMPLATE_VBoxR0Drv_CFLAGS = -fno-PIC \ 5996 $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \ 5997 $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration 5998 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 5999 TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow 6000 TEMPLATE_VBoxR0Drv_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \ 6001 -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \ 6002 -Wno-sign-compare 6003 TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-PIC -Wpointer-arith \ 6004 -Wshadow -Wuninitialized -Wunused-function -Wunused-label -Wunused-value -Wunused-variable \ 6005 -Wformat \ 6006 -O2 -nodefaultlibs -fno-omit-frame-pointer -fno-strict-aliasing -fno-common -fno-exceptions -fno-rtti 6007 TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) -fno-exceptions -fno-rtti 6008 TEMPLATE_VBoxR0Drv_CXXFLAGS.amd64 = $(TEMPLATE_VBoxR0Drv_CFLAGS.amd64) -fno-exceptions -fno-rtti 6009 6009 endif # Haiku 6010 6010 … … 6024 6024 6025 6025 ifeq ($(KBUILD_TARGET),darwin) 6026 #6027 # A variant of VBoxR0Drv that uses the 10.10 SDK.6028 #6029 TEMPLATE_VBoxR0DrvOSX10.10 = VBoxR0Drv variant using the 10.10 SDK6030 TEMPLATE_VBoxR0DrvOSX10.10_EXTENDS= VBoxR0Drv6031 TEMPLATE_VBoxR0DrvOSX10.10_SDKS= MACOSX10106032 TEMPLATE_VBoxR0DrvOSX10.10_INCS= $(filter-out $(VBOX_PATH_MACOSX_SDK)/%,$(TEMPLATE_VBoxR0Drv_INCS)) \6033 $(PATH_SDK_MACOSX1010)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \6034 $(PATH_SDK_MACOSX1010)/System/Library/Frameworks/Kernel.framework/Headers6035 TEMPLATE_VBoxR0DrvOSX10.10_DEFS= $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_VBoxR0Drv_DEFS))6026 # 6027 # A variant of VBoxR0Drv that uses the 10.10 SDK. 6028 # 6029 TEMPLATE_VBoxR0DrvOSX10.10 = VBoxR0Drv variant using the 10.10 SDK 6030 TEMPLATE_VBoxR0DrvOSX10.10_EXTENDS = VBoxR0Drv 6031 TEMPLATE_VBoxR0DrvOSX10.10_SDKS = MACOSX1010 6032 TEMPLATE_VBoxR0DrvOSX10.10_INCS = $(filter-out $(VBOX_PATH_MACOSX_SDK)/%,$(TEMPLATE_VBoxR0Drv_INCS)) \ 6033 $(PATH_SDK_MACOSX1010)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \ 6034 $(PATH_SDK_MACOSX1010)/System/Library/Frameworks/Kernel.framework/Headers 6035 TEMPLATE_VBoxR0DrvOSX10.10_DEFS = $(filter-out $(VBOX_DARWIN_DEF_SDK_DEFS),$(TEMPLATE_VBoxR0Drv_DEFS)) 6036 6036 6037 6037 endif … … 6085 6085 TEMPLATE_VBoxR3Exe_DEFS += VBOX_WITH_DTRACE VBOX_WITH_DTRACE_R3 VBOX_WITH_NATIVE_DTRACE 6086 6086 else 6087 TEMPLATE_VBoxR3Exe_DTRACE_HDR_FLAGS= --ring-3-context6088 TEMPLATE_VBoxR3Exe_DTRACE_OBJ_FLAGS= --ring-3-context --pic --probe-fn-imported --probe-fn-name "SUPTracerFireProbe"6087 TEMPLATE_VBoxR3Exe_DTRACE_HDR_FLAGS = --ring-3-context 6088 TEMPLATE_VBoxR3Exe_DTRACE_OBJ_FLAGS = --ring-3-context --pic --probe-fn-imported --probe-fn-name "SUPTracerFireProbe" 6089 6089 if defined(VBOX_WITH_DTRACE_R3) 6090 6090 TEMPLATE_VBoxR3Exe_DTRACETOOL = VBoxTpG … … 6096 6096 TEMPLATE_VBoxR3Exe_LIBS.kprofile = $(LIB_KPROFILE) 6097 6097 ifeq ($(KBUILD_TARGET),win) 6098 # TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_VCC_TOOL)6098 # TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_VCC_TOOL) 6099 6099 TEMPLATE_VBoxR3Exe_TOOL.win.x86 = $(VBOX_VCC_TOOL_STEM)X86 6100 6100 TEMPLATE_VBoxR3Exe_TOOL.win.amd64 = $(VBOX_VCC_TOOL_STEM)AMD64 … … 6128 6128 TEMPLATE_VBoxR3Exe_PCHFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile) 6129 6129 TEMPLATE_VBoxR3Exe_LDFLAGS = -Ignore:4197 \ 6130 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \6131 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \6132 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \6133 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com \6134 /DISALLOWLIB:libc.lib \6135 /DISALLOWLIB:libcd.lib \6136 /DISALLOWLIB:libcmt.lib \6137 /DISALLOWLIB:libcmtd.lib \6138 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE_N).lib \6139 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE_N).lib6130 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \ 6131 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \ 6132 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 6133 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com \ 6134 /DISALLOWLIB:libc.lib \ 6135 /DISALLOWLIB:libcd.lib \ 6136 /DISALLOWLIB:libcmt.lib \ 6137 /DISALLOWLIB:libcmtd.lib \ 6138 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE_N).lib \ 6139 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE_N).lib 6140 6140 ifdef VBOX_WITH_DTRACE_R3 6141 6141 TEMPLATE_VBoxR3Exe_LDFLAGS += -Merge:VTGPrLc.Data=VTGPrLc.Begin -Merge:VTGPrLc.End=VTGPrLc.Begin -Merge:VTGPrLc.Begin=VTGObj 6142 6142 endif 6143 6143 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 6144 TEMPLATE_VBoxR3Exe_LDFLAGS+= -IntegrityCheck6144 TEMPLATE_VBoxR3Exe_LDFLAGS += -IntegrityCheck 6145 6145 endif 6146 6146 TEMPLATE_VBoxR3Exe_LDFLAGS.win.amd64 = $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA) … … 6186 6186 TEMPLATE_VBoxR3Exe_LDFLAGS.win.x86 = \ 6187 6187 -Include:_vcc100_kernel32_fakes_cpp \ 6188 -Include:_vcc100_kernel32_fakes_asm6188 -Include:_vcc100_kernel32_fakes_asm 6189 6189 TEMPLATE_VBoxR3Exe_LIBS.win.x86 = \ 6190 6190 $(PATH_STAGE_LIB)/RuntimeR3VccTricks2$(VBOX_SUFF_LIB) … … 6196 6196 6197 6197 else # the gcc guys 6198 TEMPLATE_VBoxR3Exe_TOOL= $(VBOX_GCC_TOOL)6198 TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL) 6199 6199 if $(VBOX_GCC_VERSION_CC) < 30400 6200 TEMPLATE_VBoxR3Exe_DEFS+= RT_WITHOUT_PRAGMA_ONCE6201 endif 6202 TEMPLATE_VBoxR3Exe_CXXFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \6200 TEMPLATE_VBoxR3Exe_DEFS += RT_WITHOUT_PRAGMA_ONCE 6201 endif 6202 TEMPLATE_VBoxR3Exe_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \ 6203 6203 $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_fvisibility-inlines-hidden) \ 6204 6204 $(VBOX_GCC_IPRT_FMT_CHECK) $(VBOX_GCC_SANITIZER_FLAGS) … … 6206 6206 TEMPLATE_VBoxR3Exe_CXXFLAGS += $(VBOX_GCC_WERR) 6207 6207 endif 6208 TEMPLATE_VBoxR3Exe_CXXFLAGS.x86= -m326209 TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64= -m646210 TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc32= -m326211 TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc64= -m646212 TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile= -finstrument-functions6213 TEMPLATE_VBoxR3Exe_CFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \6208 TEMPLATE_VBoxR3Exe_CXXFLAGS.x86 = -m32 6209 TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64 = -m64 6210 TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc32 = -m32 6211 TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc64 = -m64 6212 TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile = -finstrument-functions 6213 TEMPLATE_VBoxR3Exe_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \ 6214 6214 $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) 6215 6215 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 6216 6216 TEMPLATE_VBoxR3Exe_CFLAGS += $(VBOX_GCC_WERR) 6217 6217 endif 6218 TEMPLATE_VBoxR3Exe_CFLAGS.x86= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86)6219 TEMPLATE_VBoxR3Exe_CFLAGS.amd64= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64)6220 TEMPLATE_VBoxR3Exe_CFLAGS.sparc32= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc32)6221 TEMPLATE_VBoxR3Exe_CFLAGS.sparc64= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc64)6222 TEMPLATE_VBoxR3Exe_CFLAGS.debug= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug)6223 TEMPLATE_VBoxR3Exe_CFLAGS.kprofile= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile)6224 TEMPLATE_VBoxR3Exe_OBJCFLAGS= $(TEMPLATE_VBoxR3Exe_CFLAGS)6225 TEMPLATE_VBoxR3Exe_OBJCFLAGS.x86= $(TEMPLATE_VBoxR3Exe_CFLAGS.x86)6226 TEMPLATE_VBoxR3Exe_OBJCFLAGS.amd64= $(TEMPLATE_VBoxR3Exe_CFLAGS.amd64)6227 TEMPLATE_VBoxR3Exe_OBJCFLAGS.debug= $(TEMPLATE_VBoxR3Exe_CFLAGS.debug)6228 TEMPLATE_VBoxR3Exe_OBJCFLAGS.kprofile= $(TEMPLATE_VBoxR3Exe_CFLAGS.kprofile)6229 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS= $(TEMPLATE_VBoxR3Exe_CXXFLAGS)6230 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.x86= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86)6231 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.amd64= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64)6232 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.debug= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug)6233 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile)6234 TEMPLATE_VBoxR3Exe_PCHFLAGS= $(TEMPLATE_VBoxR3Exe_CXXFLAGS)6235 TEMPLATE_VBoxR3Exe_PCHFLAGS.x86= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86)6236 TEMPLATE_VBoxR3Exe_PCHFLAGS.amd64= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64)6237 TEMPLATE_VBoxR3Exe_PCHFLAGS.debug= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug)6238 TEMPLATE_VBoxR3Exe_PCHFLAGS.kprofile= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile)6239 TEMPLATE_VBoxR3Exe_LDFLAGS= $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS)6240 TEMPLATE_VBoxR3Exe_LDFLAGS.x86= -m326241 TEMPLATE_VBoxR3Exe_LDFLAGS.amd64= -m646242 TEMPLATE_VBoxR3Exe_LDFLAGS.sparc32= -m326243 TEMPLATE_VBoxR3Exe_LDFLAGS.sparc64= -m646244 TEMPLATE_VBoxR3Exe_LDFLAGS.linux= -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)6245 TEMPLATE_VBoxR3Exe_LDFLAGS.solaris= -Wl,-z,ignore # same as VBOX_LD_as_needed6218 TEMPLATE_VBoxR3Exe_CFLAGS.x86 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86) 6219 TEMPLATE_VBoxR3Exe_CFLAGS.amd64 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64) 6220 TEMPLATE_VBoxR3Exe_CFLAGS.sparc32 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc32) 6221 TEMPLATE_VBoxR3Exe_CFLAGS.sparc64 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.sparc64) 6222 TEMPLATE_VBoxR3Exe_CFLAGS.debug = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug) 6223 TEMPLATE_VBoxR3Exe_CFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile) 6224 TEMPLATE_VBoxR3Exe_OBJCFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) 6225 TEMPLATE_VBoxR3Exe_OBJCFLAGS.x86 = $(TEMPLATE_VBoxR3Exe_CFLAGS.x86) 6226 TEMPLATE_VBoxR3Exe_OBJCFLAGS.amd64 = $(TEMPLATE_VBoxR3Exe_CFLAGS.amd64) 6227 TEMPLATE_VBoxR3Exe_OBJCFLAGS.debug = $(TEMPLATE_VBoxR3Exe_CFLAGS.debug) 6228 TEMPLATE_VBoxR3Exe_OBJCFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CFLAGS.kprofile) 6229 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) 6230 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.x86 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86) 6231 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64) 6232 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.debug = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug) 6233 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile) 6234 TEMPLATE_VBoxR3Exe_PCHFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) 6235 TEMPLATE_VBoxR3Exe_PCHFLAGS.x86 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.x86) 6236 TEMPLATE_VBoxR3Exe_PCHFLAGS.amd64 = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.amd64) 6237 TEMPLATE_VBoxR3Exe_PCHFLAGS.debug = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.debug) 6238 TEMPLATE_VBoxR3Exe_PCHFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile) 6239 TEMPLATE_VBoxR3Exe_LDFLAGS = $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS) 6240 TEMPLATE_VBoxR3Exe_LDFLAGS.x86 = -m32 6241 TEMPLATE_VBoxR3Exe_LDFLAGS.amd64 = -m64 6242 TEMPLATE_VBoxR3Exe_LDFLAGS.sparc32 = -m32 6243 TEMPLATE_VBoxR3Exe_LDFLAGS.sparc64 = -m64 6244 TEMPLATE_VBoxR3Exe_LDFLAGS.linux = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) 6245 TEMPLATE_VBoxR3Exe_LDFLAGS.solaris = -Wl,-z,ignore # same as VBOX_LD_as_needed 6246 6246 6247 6247 ifeq ($(KBUILD_TARGET),linux) 6248 TEMPLATE_VBoxR3Exe_LIBS= pthread m rt dl6248 TEMPLATE_VBoxR3Exe_LIBS = pthread m rt dl 6249 6249 else ifeq ($(KBUILD_TARGET),os2) 6250 TEMPLATE_VBoxR3Exe_TOOL= GXX3OMF6251 TEMPLATE_VBoxR3Exe_LIBS= socket iconv6250 TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF 6251 TEMPLATE_VBoxR3Exe_LIBS = socket iconv 6252 6252 else ifeq ($(KBUILD_TARGET),darwin) 6253 TEMPLATE_VBoxR3Exe_TOOL= $(VBOX_GCC_TOOL)6254 TEMPLATE_VBoxR3Exe_LIBS=6255 TEMPLATE_VBoxR3Exe_DEFS+= LIBICONV_PLUG # Avoid 3rd party libiconv (from macports).6256 TEMPLATE_VBoxR3Exe_SDKS.darwin= $(VBOX_DARWIN_DEF_SDK_SDKS)6257 TEMPLATE_VBoxR3Exe_DEFS.darwin= $(VBOX_DARWIN_DEF_SDK_DEFS)6258 TEMPLATE_VBoxR3Exe_CFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common6259 TEMPLATE_VBoxR3Exe_CXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)6260 TEMPLATE_VBoxR3Exe_PCHFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)6261 TEMPLATE_VBoxR3Exe_OBJCFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS)6262 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS)6263 TEMPLATE_VBoxR3Exe_LDFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -Wl,-headerpad_max_install_names6264 TEMPLATE_VBoxR3Exe_LDFLAGS.darwin.x86= -read_only_relocs suppress6265 TEMPLATE_VBoxR3Exe_POST_CMDS.darwin= $(VBOX_SIGN_IMAGE_CMDS)6253 TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL) 6254 TEMPLATE_VBoxR3Exe_LIBS = 6255 TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party libiconv (from macports). 6256 TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS) 6257 TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS) 6258 TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common 6259 TEMPLATE_VBoxR3Exe_CXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) 6260 TEMPLATE_VBoxR3Exe_PCHFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) 6261 TEMPLATE_VBoxR3Exe_OBJCFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS) 6262 TEMPLATE_VBoxR3Exe_OBJCXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS) 6263 TEMPLATE_VBoxR3Exe_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -Wl,-headerpad_max_install_names 6264 TEMPLATE_VBoxR3Exe_LDFLAGS.darwin.x86 = -read_only_relocs suppress 6265 TEMPLATE_VBoxR3Exe_POST_CMDS.darwin = $(VBOX_SIGN_IMAGE_CMDS) 6266 6266 ifdef VBOX_WITH_DTRACE_R3 6267 6267 TEMPLATE_VBoxR3Exe_CXXFLAGS := $(filter-out -pedantic,$(TEMPLATE_VBoxR3Exe_CXXFLAGS)) -fdollars-in-identifiers # annoying gcc option precedence. 6268 6268 endif 6269 6269 else ifeq ($(KBUILD_TARGET),haiku) 6270 TEMPLATE_VBoxR3Exe_TOOL= GXX36271 TEMPLATE_VBoxR3Exe_POST_CMDS= $(VBOX_HAIKU_XRES_SETVER_CMDS)6272 TEMPLATE_VBoxR3Exe_LIBS= network iconv stdc++ supc++6273 TEMPLATE_VBoxR3Exe_LIBPATH+= \6274 /boot/common/lib6275 # Haiku uses PIC by default...6276 TEMPLATE_VBoxR3Exe_CFLAGS+= -fno-pic6277 TEMPLATE_VBoxR3Exe_CXXFLAGS+= -fno-pic6278 TEMPLATE_VBoxR3Exe_LDFLAGS+= -fno-pic6270 TEMPLATE_VBoxR3Exe_TOOL = GXX3 6271 TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS) 6272 TEMPLATE_VBoxR3Exe_LIBS = network iconv stdc++ supc++ 6273 TEMPLATE_VBoxR3Exe_LIBPATH += \ 6274 /boot/common/lib 6275 # Haiku uses PIC by default... 6276 TEMPLATE_VBoxR3Exe_CFLAGS += -fno-pic 6277 TEMPLATE_VBoxR3Exe_CXXFLAGS += -fno-pic 6278 TEMPLATE_VBoxR3Exe_LDFLAGS += -fno-pic 6279 6279 else if1of ($(KBUILD_TARGET), freebsd openbsd) 6280 TEMPLATE_VBoxR3Exe_TOOL= GXX36281 TEMPLATE_VBoxR3Exe_LIBS= pthread6282 TEMPLATE_VBoxR3Exe_INCS+= \6283 /usr/include \6284 /usr/X11R6/include \6285 /usr/local/include6286 TEMPLATE_VBoxR3Exe_LIBPATH+= \6287 /usr/lib \6288 /usr/X11R6/lib \6289 /usr/local/lib6280 TEMPLATE_VBoxR3Exe_TOOL = GXX3 6281 TEMPLATE_VBoxR3Exe_LIBS = pthread 6282 TEMPLATE_VBoxR3Exe_INCS += \ 6283 /usr/include \ 6284 /usr/X11R6/include \ 6285 /usr/local/include 6286 TEMPLATE_VBoxR3Exe_LIBPATH += \ 6287 /usr/lib \ 6288 /usr/X11R6/lib \ 6289 /usr/local/lib 6290 6290 else ifeq ($(KBUILD_TARGET),netbsd) 6291 TEMPLATE_VBoxR3Exe_TOOL= GXX36292 TEMPLATE_VBoxR3Exe_LIBS= pthread6293 TEMPLATE_VBoxR3Exe_INCS+= \6294 /usr/include \6295 /usr/X11R7/include6296 TEMPLATE_VBoxR3Exe_LIBPATH+= \6297 /usr/lib \6298 /usr/X11R7/lib6291 TEMPLATE_VBoxR3Exe_TOOL = GXX3 6292 TEMPLATE_VBoxR3Exe_LIBS = pthread 6293 TEMPLATE_VBoxR3Exe_INCS += \ 6294 /usr/include \ 6295 /usr/X11R7/include 6296 TEMPLATE_VBoxR3Exe_LIBPATH += \ 6297 /usr/lib \ 6298 /usr/X11R7/lib 6299 6299 else ifeq ($(KBUILD_TARGET),solaris) 6300 TEMPLATE_VBoxR3Exe_TOOL= GXX3PLAIN6301 TEMPLATE_VBoxR3Exe_DEFS+= LIBICONV_PLUG _REENTRANT # Avoid the GNU libiconv, for now at least.6300 TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN 6301 TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU libiconv, for now at least. 6302 6302 if $(VBOX_GCC_VERSION_CC) < 30500 6303 TEMPLATE_VBoxR3Exe_CFLAGS+= -std=gnu996304 endif 6305 TEMPLATE_VBoxR3Exe_LIBS= rt socket6303 TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99 6304 endif 6305 TEMPLATE_VBoxR3Exe_LIBS = rt socket 6306 6306 else 6307 $(warning Warning: VBOX Build: Target $(KBUILD_TARGET) is not officially supported!)6308 TEMPLATE_VBoxR3Exe_CXXFLAGS.profile= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.release)6309 TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile= $(TEMPLATE_VBoxR3Exe_CXXFLAGS.krelease)6307 $(warning Warning: VBOX Build: Target $(KBUILD_TARGET) is not officially supported!) 6308 TEMPLATE_VBoxR3Exe_CXXFLAGS.profile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.release) 6309 TEMPLATE_VBoxR3Exe_CXXFLAGS.kprofile = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.krelease) 6310 6310 endif 6311 6311 ifdef VBOX_WITH_RUNPATH … … 6470 6470 endif 6471 6471 TEMPLATE_VBoxR3StaticBase_LDFLAGS += \ 6472 /DISALLOWLIB:msvcrt.lib \6473 /DISALLOWLIB:msvcrtd.lib \6474 /DISALLOWLIB:msvcprt.lib \6475 /DISALLOWLIB:msvcprtd.lib \6476 /DISALLOWLIB:vcruntime.lib \6477 /DISALLOWLIB:vcruntimed.lib \6478 /DISALLOWLIB:ucrt.lib \6479 /DISALLOWLIB:ucrtd.lib6472 /DISALLOWLIB:msvcrt.lib \ 6473 /DISALLOWLIB:msvcrtd.lib \ 6474 /DISALLOWLIB:msvcprt.lib \ 6475 /DISALLOWLIB:msvcprtd.lib \ 6476 /DISALLOWLIB:vcruntime.lib \ 6477 /DISALLOWLIB:vcruntimed.lib \ 6478 /DISALLOWLIB:ucrt.lib \ 6479 /DISALLOWLIB:ucrtd.lib 6480 6480 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140" 6481 6481 ifdef VBOX_WITH_NOCRT_STATIC … … 6569 6569 endif 6570 6570 TEMPLATE_VBoxR3Static_LIBS.$(KBUILD_TARGET_ARCH) += \ 6571 6571 $(VBOX_LIB_RUNTIME_STATIC) 6572 6572 ifneq ($(KBUILD_TARGET_ARCH),x86) 6573 TEMPLATE_VBoxR3Static_LIBS.x86+= \6573 TEMPLATE_VBoxR3Static_LIBS.x86 += \ 6574 6574 $(VBOX_LIB_RUNTIME_STATIC_X86) 6575 6575 endif … … 6586 6586 $(SDK_VBoxLzf_LIBS) \ 6587 6587 $(SDK_VBoxZlib_LIBS) 6588 if1of ($(KBUILD_TARGET), darwin freebsd)6588 if1of ($(KBUILD_TARGET), darwin freebsd) 6589 6589 TEMPLATE_VBoxR3Static_LIBS += iconv 6590 6590 else ifeq ($(KBUILD_TARGET),solaris) … … 6668 6668 IN_RT_STATIC 6669 6669 ifndef VBOX_WITH_NOCRT_STATIC 6670 TEMPLATE_VBoxR3StaticNoCrt_DEFS.win= $(TEMPLATE_VBoxR3Static_DEFS.win) \6671 RT_WITHOUT_NOCRT_WRAPPERS6670 TEMPLATE_VBoxR3StaticNoCrt_DEFS.win = $(TEMPLATE_VBoxR3Static_DEFS.win) \ 6671 RT_WITHOUT_NOCRT_WRAPPERS 6672 6672 endif 6673 6673 TEMPLATE_VBoxR3StaticNoCrt_LIBS = \ 6674 6674 $(PATH_STAGE_LIB)/RuntimeR3NoCrt$(VBOX_SUFF_LIB) 6675 6675 ifeq ($(KBUILD_TARGET),win) 6676 TEMPLATE_VBoxR3StaticNoCrt_LIBS.x86= $(NO_SUCH_VARIABLE)6677 TEMPLATE_VBoxR3StaticNoCrt_LIBS.amd64= $(NO_SUCH_VARIABLE)6678 TEMPLATE_VBoxR3StaticNoCrt_LIBS.win= $(NO_SUCH_VARIABLE)6676 TEMPLATE_VBoxR3StaticNoCrt_LIBS.x86 = $(NO_SUCH_VARIABLE) 6677 TEMPLATE_VBoxR3StaticNoCrt_LIBS.amd64 = $(NO_SUCH_VARIABLE) 6678 TEMPLATE_VBoxR3StaticNoCrt_LIBS.win = $(NO_SUCH_VARIABLE) 6679 6679 ifdef VBOX_WITH_NOCRT_STATIC 6680 TEMPLATE_VBoxR3StaticNoCrt_LIBS.$(KBUILD_TARGET_ARCH) = \6681 $(PATH_STAGE_LIB)/RuntimeR3NoCrt$(VBOX_SUFF_LIB)6680 TEMPLATE_VBoxR3StaticNoCrt_LIBS.$(KBUILD_TARGET_ARCH) = \ 6681 $(PATH_STAGE_LIB)/RuntimeR3NoCrt$(VBOX_SUFF_LIB) 6682 6682 ifneq ($(KBUILD_TARGET_ARCH),x86) 6683 TEMPLATE_VBoxR3StaticNoCrt_LIBS.x86= \6684 $(PATH_STAGE_LIB)/RuntimeR3NoCrt-x86$(VBOX_SUFF_LIB) # place holder, we don't have this library6683 TEMPLATE_VBoxR3StaticNoCrt_LIBS.x86 = \ 6684 $(PATH_STAGE_LIB)/RuntimeR3NoCrt-x86$(VBOX_SUFF_LIB) # place holder, we don't have this library 6685 6685 endif 6686 6686 else 6687 TEMPLATE_VBoxR3StaticNoCrt_LIBS.win.x86= \6688 $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticNoCrt_TOOL.win.x86)_LIB)/chkstk.obj6689 endif 6690 TEMPLATE_VBoxR3StaticNoCrt_SDKS.win.x86+= VBoxWinInt64Lib6691 TEMPLATE_VBoxR3StaticNoCrt_LDFLAGS= $(filter-out $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS), $(TEMPLATE_VBoxR3Static_LDFLAGS))6692 TEMPLATE_VBoxR3StaticNoCrt_LDFLAGS.win.x86 = $(filter-out -Include%, $(TEMPLATE_VBoxR3Static_LDFLAGS.win.x86))6693 TEMPLATE_VBoxR3StaticNoCrt_CFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_CFLAGS)) /GS- -EHs-6694 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_CXXFLAGS)) /GS- -EHs-6695 TEMPLATE_VBoxR3StaticNoCrt_PCHFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_PCHFLAGS)) /GS- -EHs-6696 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS.debug= $(filter-out /RTC% -RTC%, $(TEMPLATE_VBoxR3Static_CXXFLAGS.debug))6687 TEMPLATE_VBoxR3StaticNoCrt_LIBS.win.x86 = \ 6688 $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticNoCrt_TOOL.win.x86)_LIB)/chkstk.obj 6689 endif 6690 TEMPLATE_VBoxR3StaticNoCrt_SDKS.win.x86 += VBoxWinInt64Lib 6691 TEMPLATE_VBoxR3StaticNoCrt_LDFLAGS = $(filter-out $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS), $(TEMPLATE_VBoxR3Static_LDFLAGS)) 6692 TEMPLATE_VBoxR3StaticNoCrt_LDFLAGS.win.x86 = $(filter-out -Include%, $(TEMPLATE_VBoxR3Static_LDFLAGS.win.x86)) 6693 TEMPLATE_VBoxR3StaticNoCrt_CFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_CFLAGS)) /GS- -EHs- 6694 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_CXXFLAGS)) /GS- -EHs- 6695 TEMPLATE_VBoxR3StaticNoCrt_PCHFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxR3Static_PCHFLAGS)) /GS- -EHs- 6696 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS.debug = $(filter-out /RTC% -RTC%, $(TEMPLATE_VBoxR3Static_CXXFLAGS.debug)) 6697 6697 else 6698 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS= $(TEMPLATE_VBoxR3Static_CXXFLAGS) -fno-exceptions6699 TEMPLATE_VBoxR3StaticNoCrt_PCHFLAGS= $(TEMPLATE_VBoxR3Static_PCHFLAGS) -fno-exceptions6698 TEMPLATE_VBoxR3StaticNoCrt_CXXFLAGS = $(TEMPLATE_VBoxR3Static_CXXFLAGS) -fno-exceptions 6699 TEMPLATE_VBoxR3StaticNoCrt_PCHFLAGS = $(TEMPLATE_VBoxR3Static_PCHFLAGS) -fno-exceptions 6700 6700 endif 6701 6701 … … 6726 6726 TEMPLATE_VBoxR3HardenedExe_LDFLAGS.darwin = $(TEMPLATE_VBoxR3Exe_LDFLAGS.darwin) -framework IOKit 6727 6727 ifeq ($(KBUILD_TARGET),linux) 6728 # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp6729 # TEMPLATE_VBoxR3HardenedExe_LIBS += cap6728 # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp 6729 # TEMPLATE_VBoxR3HardenedExe_LIBS += cap 6730 6730 endif 6731 6731 ifeq ($(KBUILD_TARGET),win) # No CRT! … … 6748 6748 endif 6749 6749 TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out $(VBOX_VCC_SANITIZER_LDFLAGS), $(TEMPLATE_VBoxR3Exe_LDFLAGS)) \ 6750 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE).lib \6751 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE).lib \6752 /DISALLOWLIB:vcruntime$(VBOX_VCC_CRT_TYPE).lib \6753 /DISALLOWLIB:ucrt$(VBOX_VCC_CRT_TYPE).lib6750 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE).lib \ 6751 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE).lib \ 6752 /DISALLOWLIB:vcruntime$(VBOX_VCC_CRT_TYPE).lib \ 6753 /DISALLOWLIB:ucrt$(VBOX_VCC_CRT_TYPE).lib 6754 6754 TEMPLATE_VBoxR3HardenedExe_LDFLAGS.win.x86 = $(TEMPLATE_VBoxR3Exe_LDFLAGS.win.x86) /entry:suplibHardenedWindowsMain 6755 6755 TEMPLATE_VBoxR3HardenedExe_LDFLAGS.win.amd64 = $(TEMPLATE_VBoxR3Exe_LDFLAGS.win.amd64) /entry:suplibHardenedWindowsMain … … 6788 6788 TEMPLATE_VBoxR3HardenedTstDll_EXTENDS = VBoxR3TstDll 6789 6789 TEMPLATE_VBoxR3HardenedTstDll_INST = $(INST_TESTCASE) 6790 TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.win= $(TEMPLATE_VBoxR3TstDll_LDFLAGS.win) -IntegrityCheck6790 TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.win = $(TEMPLATE_VBoxR3TstDll_LDFLAGS.win) -IntegrityCheck 6791 6791 ifn1of ($(KBUILD_TARGET), win os2) 6792 6792 TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS)) … … 6799 6799 # 6800 6800 TEMPLATE_VBoxR3SetUidToRoot = Set-uid-to-root helper program. 6801 if1of ($(KBUILD_TARGET), win)6801 if1of ($(KBUILD_TARGET), win) 6802 6802 TEMPLATE_VBoxR3SetUidToRoot_EXTENDS = VBoxR3Exe 6803 6803 else … … 6867 6867 $(if-expr !defined(SDK_VBoxLibXml2_LIBS),$(PATH_STAGE_LIB)/VBox-libxml2-static$(VBOX_SUFF_LIB),) \ 6868 6868 $(if-expr "$(KBUILD_TARGET)" == "win" || "$(KBUILD_TARGET)" == "os2" \ 6869 6870 6869 ,$(SDK_VBoxLzf_STATIC_LIBS) $(SDK_VBoxZlibStatic_LIBS) \ 6870 ,$(SDK_VBoxLzf_LIBS) $(SDK_VBoxZlib_LIBS)) \ 6871 6871 ,$(TEMPLATE_$(TEMPLATE_VBoxR3AutoTest_EXTENDS)_LIBS.$(KBUILD_TARGET_ARCH))) 6872 6872 … … 6923 6923 TEMPLATE_VBoxR3DllNonPedantic_TOOL = $(VBOX_GCC_TOOL) 6924 6924 TEMPLATE_VBoxR3DllNonPedantic_CFLAGS = $(filter-out $(VBOX_GCC_WERR) $(VBOX_GCC_WARN_MASOCHISTIC) $(VBOX_GCC_PEDANTIC_C) ,$(TEMPLATE_VBoxR3DllBase_CFLAGS)) \ 6925 $(VBOX_GCC_NON_PEDANTIC_C)6925 $(VBOX_GCC_NON_PEDANTIC_C) 6926 6926 TEMPLATE_VBoxR3DllNonPedantic_CXXFLAGS = $(filter-out $(VBOX_GCC_WERR) $(VBOX_GCC_WARN_MASOCHISTIC) $(VBOX_GCC_PEDANTIC_CXX),$(TEMPLATE_VBoxR3DllBase_CXXFLAGS)) \ 6927 6927 $(VBOX_GCC_NON_PEDANTIC_CXX) … … 7028 7028 TEMPLATE_VBoxMainExe_DEFS += VBOX_WITH_DTRACE VBOX_WITH_DTRACE_R3 VBOX_WITH_DTRACE_R3_MAIN VBOX_WITH_NATIVE_DTRACE 7029 7029 else 7030 TEMPLATE_VBoxMainExe_DTRACE_HDR_FLAGS= --ring-3-context7031 TEMPLATE_VBoxMainExe_DTRACE_OBJ_FLAGS= --ring-3-context --pic --probe-fn-imported --probe-fn-name "SUPTracerFireProbe"7030 TEMPLATE_VBoxMainExe_DTRACE_HDR_FLAGS = --ring-3-context 7031 TEMPLATE_VBoxMainExe_DTRACE_OBJ_FLAGS = --ring-3-context --pic --probe-fn-imported --probe-fn-name "SUPTracerFireProbe" 7032 7032 if defined(VBOX_WITH_DTRACE_R3_MAIN) 7033 7033 TEMPLATE_VBoxMainExe_DTRACETOOL = VBoxTpG … … 7073 7073 TEMPLATE_VBoxMainExe_PCHFLAGS.kprofile = $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile) 7074 7074 TEMPLATE_VBoxMainExe_LDFLAGS = -Ignore:4197 \ 7075 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \7076 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \7077 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \7078 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com \7079 /DISALLOWLIB:libc.lib \7080 /DISALLOWLIB:libcd.lib \7081 /DISALLOWLIB:libcmt.lib \7082 /DISALLOWLIB:libcmtd.lib \7083 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE_N).lib \7084 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE_N).lib \7085 /DISALLOWLIB:vcruntime$(VBOX_VCC_CRT_TYPE_N).lib \7086 /DISALLOWLIB:ucrt$(VBOX_VCC_CRT_TYPE_N).lib \7087 /DISALLOWLIB:libvcruntime.lib \7088 /DISALLOWLIB:libvcruntimed.lib \7089 /DISALLOWLIB:libucrt.lib \7090 /DISALLOWLIB:libucrtd.lib7075 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \ 7076 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \ 7077 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 7078 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com \ 7079 /DISALLOWLIB:libc.lib \ 7080 /DISALLOWLIB:libcd.lib \ 7081 /DISALLOWLIB:libcmt.lib \ 7082 /DISALLOWLIB:libcmtd.lib \ 7083 /DISALLOWLIB:msvcrt$(VBOX_VCC_CRT_TYPE_N).lib \ 7084 /DISALLOWLIB:msvcprt$(VBOX_VCC_CRT_TYPE_N).lib \ 7085 /DISALLOWLIB:vcruntime$(VBOX_VCC_CRT_TYPE_N).lib \ 7086 /DISALLOWLIB:ucrt$(VBOX_VCC_CRT_TYPE_N).lib \ 7087 /DISALLOWLIB:libvcruntime.lib \ 7088 /DISALLOWLIB:libvcruntimed.lib \ 7089 /DISALLOWLIB:libucrt.lib \ 7090 /DISALLOWLIB:libucrtd.lib 7091 7091 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 7092 7092 TEMPLATE_VBoxMainExe_LDFLAGS += -IntegrityCheck … … 7097 7097 TEMPLATE_VBoxMainExe_LDFLAGS.win.amd64 = $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA) 7098 7098 TEMPLATE_VBoxMainExe_LIBS = \ 7099 $(LIB_RUNTIME)7099 $(LIB_RUNTIME) 7100 7100 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140" 7101 7101 TEMPLATE_VBoxMainExe_LIBS.x86 = \ … … 7132 7132 else # the GCC guys: 7133 7133 7134 TEMPLATE_VBoxMainExe_TOOL= $(VBOX_GCC_TOOL)7134 TEMPLATE_VBoxMainExe_TOOL = $(VBOX_GCC_TOOL) 7135 7135 if $(VBOX_GCC_VERSION_CC) < 30400 7136 7136 TEMPLATE_VBoxMainExe_DEFS += RT_WITHOUT_PRAGMA_ONCE 7137 7137 endif 7138 TEMPLATE_VBoxMainExe_CXXFLAGS= -g $(VBOX_GCC_pipe) \7139 $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \7140 -fshort-wchar -fpermissive -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \7141 $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \7142 $(VBOX_GCC_SANITIZER_FLAGS)7138 TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \ 7139 $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \ 7140 -fshort-wchar -fpermissive -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \ 7141 $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \ 7142 $(VBOX_GCC_SANITIZER_FLAGS) 7143 7143 if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor") 7144 7144 TEMPLATE_VBoxMainExe_CXXFLAGS += $(VBOX_GCC_Wno-non-virtual-dtor) … … 7150 7150 TEMPLATE_VBoxMainExe_CXXFLAGS := $(filter-out -pedantic,$(TEMPLATE_VBoxMainExe_CXXFLAGS)) -fdollars-in-identifiers # annoying gcc option precedence. 7151 7151 endif 7152 TEMPLATE_VBoxMainExe_CXXFLAGS.x86= -m327153 TEMPLATE_VBoxMainExe_CXXFLAGS.amd64= -m647154 TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile= -finstrument-functions7155 TEMPLATE_VBoxMainExe_CFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \7156 $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) \7157 $(VBOX_GCC_SANITIZER_FLAGS)7152 TEMPLATE_VBoxMainExe_CXXFLAGS.x86 = -m32 7153 TEMPLATE_VBoxMainExe_CXXFLAGS.amd64 = -m64 7154 TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile = -finstrument-functions 7155 TEMPLATE_VBoxMainExe_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \ 7156 $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) \ 7157 $(VBOX_GCC_SANITIZER_FLAGS) 7158 7158 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 7159 7159 TEMPLATE_VBoxMainExe_CFLAGS += $(VBOX_GCC_WERR) 7160 7160 endif 7161 TEMPLATE_VBoxMainExe_CFLAGS.x86= -m327162 TEMPLATE_VBoxMainExe_CFLAGS.amd64= -m647163 TEMPLATE_VBoxMainExe_CFLAGS.kprofile= $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile)7164 TEMPLATE_VBoxMainExe_CFLAGS.debug= $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug)7165 TEMPLATE_VBoxMainExe_OBJCFLAGS= $(TEMPLATE_VBoxMainExe_CFLAGS)7166 TEMPLATE_VBoxMainExe_OBJCFLAGS.x86= $(TEMPLATE_VBoxMainExe_CFLAGS.x86)7167 TEMPLATE_VBoxMainExe_OBJCFLAGS.amd64= $(TEMPLATE_VBoxMainExe_CFLAGS.amd64)7168 TEMPLATE_VBoxMainExe_OBJCFLAGS.debug= $(TEMPLATE_VBoxMainExe_CFLAGS.debug)7169 TEMPLATE_VBoxMainExe_OBJCFLAGS.kprofile= $(TEMPLATE_VBoxMainExe_CFLAGS.kprofile)7170 TEMPLATE_VBoxMainExe_OBJCXXFLAGS= $(TEMPLATE_VBoxMainExe_CXXFLAGS)7171 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.x86= $(TEMPLATE_VBoxMainExe_CXXFLAGS.x86)7172 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.amd64= $(TEMPLATE_VBoxMainExe_CXXFLAGS.amd64)7173 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.debug= $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug)7174 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile)7175 TEMPLATE_VBoxMainExe_PCHFLAGS= $(TEMPLATE_VBoxMainExe_CXXFLAGS)7176 TEMPLATE_VBoxMainExe_PCHFLAGS.x86= $(TEMPLATE_VBoxMainExe_CXXFLAGS.x86)7177 TEMPLATE_VBoxMainExe_PCHFLAGS.amd64= $(TEMPLATE_VBoxMainExe_CXXFLAGS.amd64)7178 TEMPLATE_VBoxMainExe_PCHFLAGS.debug= $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug)7179 TEMPLATE_VBoxMainExe_PCHFLAGS.kprofile= $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile)7180 TEMPLATE_VBoxMainExe_LDFLAGS= $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS)7181 TEMPLATE_VBoxMainExe_LDFLAGS.x86= -m327182 TEMPLATE_VBoxMainExe_LDFLAGS.amd64= -m647161 TEMPLATE_VBoxMainExe_CFLAGS.x86 = -m32 7162 TEMPLATE_VBoxMainExe_CFLAGS.amd64 = -m64 7163 TEMPLATE_VBoxMainExe_CFLAGS.kprofile = $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile) 7164 TEMPLATE_VBoxMainExe_CFLAGS.debug = $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug) 7165 TEMPLATE_VBoxMainExe_OBJCFLAGS = $(TEMPLATE_VBoxMainExe_CFLAGS) 7166 TEMPLATE_VBoxMainExe_OBJCFLAGS.x86 = $(TEMPLATE_VBoxMainExe_CFLAGS.x86) 7167 TEMPLATE_VBoxMainExe_OBJCFLAGS.amd64 = $(TEMPLATE_VBoxMainExe_CFLAGS.amd64) 7168 TEMPLATE_VBoxMainExe_OBJCFLAGS.debug = $(TEMPLATE_VBoxMainExe_CFLAGS.debug) 7169 TEMPLATE_VBoxMainExe_OBJCFLAGS.kprofile = $(TEMPLATE_VBoxMainExe_CFLAGS.kprofile) 7170 TEMPLATE_VBoxMainExe_OBJCXXFLAGS = $(TEMPLATE_VBoxMainExe_CXXFLAGS) 7171 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.x86 = $(TEMPLATE_VBoxMainExe_CXXFLAGS.x86) 7172 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBoxMainExe_CXXFLAGS.amd64) 7173 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.debug = $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug) 7174 TEMPLATE_VBoxMainExe_OBJCXXFLAGS.kprofile = $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile) 7175 TEMPLATE_VBoxMainExe_PCHFLAGS = $(TEMPLATE_VBoxMainExe_CXXFLAGS) 7176 TEMPLATE_VBoxMainExe_PCHFLAGS.x86 = $(TEMPLATE_VBoxMainExe_CXXFLAGS.x86) 7177 TEMPLATE_VBoxMainExe_PCHFLAGS.amd64 = $(TEMPLATE_VBoxMainExe_CXXFLAGS.amd64) 7178 TEMPLATE_VBoxMainExe_PCHFLAGS.debug = $(TEMPLATE_VBoxMainExe_CXXFLAGS.debug) 7179 TEMPLATE_VBoxMainExe_PCHFLAGS.kprofile = $(TEMPLATE_VBoxMainExe_CXXFLAGS.kprofile) 7180 TEMPLATE_VBoxMainExe_LDFLAGS = $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS) 7181 TEMPLATE_VBoxMainExe_LDFLAGS.x86 = -m32 7182 TEMPLATE_VBoxMainExe_LDFLAGS.amd64 = -m64 7183 7183 ifeq ($(KBUILD_TARGET),linux) 7184 TEMPLATE_VBoxMainExe_LIBS= pthread m rt $(LIB_RUNTIME) dl7185 TEMPLATE_VBoxMainExe_LDFLAGS.linux= -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)7184 TEMPLATE_VBoxMainExe_LIBS = pthread m rt $(LIB_RUNTIME) dl 7185 TEMPLATE_VBoxMainExe_LDFLAGS.linux = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) 7186 7186 else ifeq ($(KBUILD_TARGET),os2) 7187 TEMPLATE_VBoxMainExe_TOOL= GXX3OMF7188 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME)7187 TEMPLATE_VBoxMainExe_TOOL = GXX3OMF 7188 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) 7189 7189 else ifeq ($(KBUILD_TARGET),darwin) 7190 TEMPLATE_VBoxMainExe_TOOL= $(VBOX_GCC_TOOL)7191 TEMPLATE_VBoxMainExe_SDKS+= $(VBOX_DARWIN_DEF_SDK_SDKS)7192 TEMPLATE_VBoxMainExe_DEFS+= $(VBOX_DARWIN_DEF_SDK_DEFS)7193 TEMPLATE_VBoxMainExe_CFLAGS+= $(VBOX_DARWIN_DEF_SDK_CFLAGS)7194 TEMPLATE_VBoxMainExe_CXXFLAGS+= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)7195 TEMPLATE_VBoxMainExe_OBJCFLAGS+= $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS)7196 TEMPLATE_VBoxMainExe_OBJCXXFLAGS+= $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS)7197 TEMPLATE_VBoxMainExe_LDFLAGS.darwin+= -bind_at_load7198 TEMPLATE_VBoxMainExe_LDFLAGS+= $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -framework Carbon -Wl,-headerpad_max_install_names7199 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME)7200 TEMPLATE_VBoxMainExe_POST_CMDS.darwin= $(VBOX_SIGN_IMAGE_CMDS)7190 TEMPLATE_VBoxMainExe_TOOL = $(VBOX_GCC_TOOL) 7191 TEMPLATE_VBoxMainExe_SDKS += $(VBOX_DARWIN_DEF_SDK_SDKS) 7192 TEMPLATE_VBoxMainExe_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 7193 TEMPLATE_VBoxMainExe_CFLAGS += $(VBOX_DARWIN_DEF_SDK_CFLAGS) 7194 TEMPLATE_VBoxMainExe_CXXFLAGS += $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) 7195 TEMPLATE_VBoxMainExe_OBJCFLAGS += $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS) 7196 TEMPLATE_VBoxMainExe_OBJCXXFLAGS += $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS) 7197 TEMPLATE_VBoxMainExe_LDFLAGS.darwin += -bind_at_load 7198 TEMPLATE_VBoxMainExe_LDFLAGS += $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -framework Carbon -Wl,-headerpad_max_install_names 7199 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) 7200 TEMPLATE_VBoxMainExe_POST_CMDS.darwin = $(VBOX_SIGN_IMAGE_CMDS) 7201 7201 else ifeq ($(KBUILD_TARGET),haiku) 7202 TEMPLATE_VBoxMainExe_TOOL= GXX37203 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME) network stdc++ supc++7202 TEMPLATE_VBoxMainExe_TOOL = GXX3 7203 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) network stdc++ supc++ 7204 7204 else if1of ($(KBUILD_TARGET), freebsd openbsd) 7205 TEMPLATE_VBoxMainExe_TOOL= GXX37206 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME)7207 TEMPLATE_VBoxMainExe_INCS+= \7208 /usr/include \7209 /usr/X11R6/include \7210 /usr/local/include7211 TEMPLATE_VBoxMainExe_LIBPATH+= \7212 /usr/lib \7213 /usr/X11R6/lib \7214 /usr/local/lib7205 TEMPLATE_VBoxMainExe_TOOL = GXX3 7206 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) 7207 TEMPLATE_VBoxMainExe_INCS += \ 7208 /usr/include \ 7209 /usr/X11R6/include \ 7210 /usr/local/include 7211 TEMPLATE_VBoxMainExe_LIBPATH += \ 7212 /usr/lib \ 7213 /usr/X11R6/lib \ 7214 /usr/local/lib 7215 7215 else ifeq ($(KBUILD_TARGET),netbsd) 7216 TEMPLATE_VBoxMainExe_TOOL= GXX37217 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME)7218 TEMPLATE_VBoxMainExe_INCS+= \7219 /usr/include \7220 /usr/X11R7/include7221 TEMPLATE_VBoxMainExe_LIBPATH+= \7222 /usr/lib \7223 /usr/X11R7/lib7224 else ifeq ($(KBUILD_TARGET),solaris)7225 TEMPLATE_VBoxMainExe_TOOL= GXX3PLAIN7226 TEMPLATE_VBoxMainExe_DEFS+= _REENTRANT7227 TEMPLATE_VBoxMainExe_LIBS= $(LIB_RUNTIME) rt thread7216 TEMPLATE_VBoxMainExe_TOOL = GXX3 7217 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) 7218 TEMPLATE_VBoxMainExe_INCS += \ 7219 /usr/include \ 7220 /usr/X11R7/include 7221 TEMPLATE_VBoxMainExe_LIBPATH += \ 7222 /usr/lib \ 7223 /usr/X11R7/lib 7224 else ifeq ($(KBUILD_TARGET),solaris) 7225 TEMPLATE_VBoxMainExe_TOOL = GXX3PLAIN 7226 TEMPLATE_VBoxMainExe_DEFS += _REENTRANT 7227 TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) rt thread 7228 7228 else 7229 $(warning Warning: VBOX Build: Target $(KBUILD_TARGET) is not officially supported!)7230 TEMPLATE_VBoxMainExe_LIBS=7231 endif 7232 TEMPLATE_VBoxMainExe_LDFLAGS.solaris= -Wl,-z,ignore # Same as VBOX_LD_as_needed.7229 $(warning Warning: VBOX Build: Target $(KBUILD_TARGET) is not officially supported!) 7230 TEMPLATE_VBoxMainExe_LIBS = 7231 endif 7232 TEMPLATE_VBoxMainExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed. 7233 7233 ifdef VBOX_WITH_RUNPATH 7234 TEMPLATE_VBoxMainExe_LDFLAGS+= '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'7234 TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' 7235 7235 else ifdef VBOX_WITH_RELATIVE_RUNPATH 7236 TEMPLATE_VBoxMainExe_LDFLAGS+= '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'7236 TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)' 7237 7237 endif 7238 7238 ifdef VBOX_WITH_ORIGIN 7239 TEMPLATE_VBoxMainExe_LDFLAGS.linux+= $(VBOX_GCC_ORIGIN_OPT)7239 TEMPLATE_VBoxMainExe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT) 7240 7240 endif 7241 7241 … … 7252 7252 endif 7253 7253 TEMPLATE_VBoxMainExe_INCS += \ 7254 $(VBOX_XPCOM_INCS)7254 $(VBOX_XPCOM_INCS) 7255 7255 TEMPLATE_VBoxMainExe_LIBS += \ 7256 $(LIB_XPCOM)7256 $(LIB_XPCOM) 7257 7257 TEMPLATE_VBoxMainExe_INTERMEDIATES += \ 7258 $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h7258 $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 7259 7259 7260 7260 else # COM 7261 7261 TEMPLATE_VBoxMainExe_INCS += \ 7262 $(VBOX_PATH_SDK)/bindings/mscom/include7262 $(VBOX_PATH_SDK)/bindings/mscom/include 7263 7263 TEMPLATE_VBoxMainExe_INTERMEDIATES += \ 7264 $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h7264 $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h 7265 7265 endif # COM 7266 7266 … … 7328 7328 VBOX_IN_32_ON_64_MAIN_API 7329 7329 TEMPLATE_VBoxMainComp-x86_LIBS = \ 7330 $(subst $(PATH_STAGE_LIB)/VBoxCOM$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/VBoxCOM-x86$(VBOX_SUFF_LIB), \7331 $(subst $(LIB_RUNTIME),$(VBOX_LIB_RUNTIME_X86), \7332 $(subst $(LIB_XPCOM),$(VBOX_LIB_XPCOM_X86), \7330 $(subst $(PATH_STAGE_LIB)/VBoxCOM$(VBOX_SUFF_LIB),$(PATH_STAGE_LIB)/VBoxCOM-x86$(VBOX_SUFF_LIB), \ 7331 $(subst $(LIB_RUNTIME),$(VBOX_LIB_RUNTIME_X86), \ 7332 $(subst $(LIB_XPCOM),$(VBOX_LIB_XPCOM_X86), \ 7333 7333 $(TEMPLATE_VBoxMainComp_LIBS)))) 7334 7334 … … 7371 7371 TEMPLATE_VBoxMainClientExe_EXTENDS = VBoxMainExe 7372 7372 ifeq ($(KBUILD_TARGET),win) 7373 TEMPLATE_VBoxMainClientExe_DEPS 7374 TEMPLATE_VBoxMainClientExe_LIBS.win 7375 7376 7377 7378 7379 7380 7373 TEMPLATE_VBoxMainClientExe_DEPS = $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h 7374 TEMPLATE_VBoxMainClientExe_LIBS.win = $(TEMPLATE_VBoxMainExe_LIBS.win) \ 7375 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/User32.Lib \ 7376 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Shell32.Lib \ 7377 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/ShLwApi.Lib \ 7378 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Ole32.Lib \ 7379 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/OleAut32.Lib \ 7380 $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Uuid.Lib 7381 7381 else 7382 TEMPLATE_VBoxMainClientExe_DEPS 7383 TEMPLATE_VBoxMainClientExe_DEFS 7384 NDEBUG TRIMMED7382 TEMPLATE_VBoxMainClientExe_DEPS = $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 7383 TEMPLATE_VBoxMainClientExe_DEFS = $(TEMPLATE_VBoxMainExe_DEFS) \ 7384 NDEBUG TRIMMED 7385 7385 TEMPLATE_VBoxMainClientExe_CXXFLAGS.linux = $(TEMPLATE_VBoxMainExe_CXXFLAGS.linux) -pthread 7386 7386 TEMPLATE_VBoxMainClientExe_PCHFLAGS.linux = $(TEMPLATE_VBoxMainExe_PCHFLAGS.linux) -pthread … … 7442 7442 TEMPLATE_VBoxR3ExtPack_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxR3Dll_LDFLAGS)) 7443 7443 else if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH) 7444 TEMPLATE_VBoxR3ExtPack_LDFLAGS= '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxR3Dll_LDFLAGS))7444 TEMPLATE_VBoxR3ExtPack_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxR3Dll_LDFLAGS)) 7445 7445 endif 7446 7446 ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS … … 7467 7467 TEMPLATE_VBoxR3ExtPackApi_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxMainDll_LDFLAGS)) 7468 7468 else if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH) 7469 TEMPLATE_VBoxR3ExtPackApi_LDFLAGS= '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxMainDll_LDFLAGS))7469 TEMPLATE_VBoxR3ExtPackApi_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBoxMainDll_LDFLAGS)) 7470 7470 endif 7471 7471 ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS … … 7492 7492 if1of ($(VBOX_LDR_FMT), pe lx) 7493 7493 TEMPLATE_VBoxR0ExtPack_LIBS = \ 7494 $(PATH_STAGE_LIB)/VMMR0Imp$(VBOX_SUFF_LIB)7494 $(PATH_STAGE_LIB)/VMMR0Imp$(VBOX_SUFF_LIB) 7495 7495 endif 7496 7496 TEMPLATE_VBoxR0ExtPack_LIBS += \ … … 7505 7505 if1of ($(VBOX_LDR_FMT32), pe lx) 7506 7506 TEMPLATE_VBoxRcExtPack_LIBS = \ 7507 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \7508 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)7507 $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \ 7508 $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB) 7509 7509 endif 7510 7510 … … 7581 7581 VBOX_PATH_QT := $(rsort $(wildcard $(KBUILD_DEVTOOLS_TRG)/qt/v5*)) 7582 7582 VBOX_PATH_QT := $(firstword $(filter %-$(tolower $(VBOX_VCC_TOOL_STEM)),$(VBOX_PATH_QT)) \ 7583 7583 $(filter-out %-vcc100 %-vcc110 %-vcc120 %-vcc140 %-vcc141 %-vcc142 %-vcc143 %-vcc150, $(VBOX_PATH_QT))) 7584 7584 ifdef VBOX_PATH_QT 7585 7585 PATH_SDK_QT5 := $(VBOX_PATH_QT) … … 7607 7607 endif 7608 7608 7609 ifeq ($(KBUILD_TARGET), 7609 ifeq ($(KBUILD_TARGET),darwin) 7610 7610 VBOX_QT_MOD := QtCore QtGui QtWidgets QtPrintSupport 7611 7611 ifdef VBOX_WITH_QT6 … … 7628 7628 plugins/styles/libqgtk2style.so \ 7629 7629 plugins/xcbglintegrations/libqxcb-glx-integration.so 7630 else ifeq ($(KBUILD_TARGET), 7630 else ifeq ($(KBUILD_TARGET),win) 7631 7631 VBOX_QT_MOD += Qt5WinExtras 7632 7632 endif # win … … 7634 7634 7635 7635 ifdef VBOX_WITH_QHELP_VIEWER 7636 ifeq ($(KBUILD_TARGET),darwin)7637 VBOX_QT_MOD+= QtHelp QtNetwork QtSql7638 7639 VBOX_QT_MOD+= Qt5Help Qt5Network Qt5Sql7640 7636 ifeq ($(KBUILD_TARGET),darwin) 7637 VBOX_QT_MOD += QtHelp QtNetwork QtSql 7638 else if1of ($(KBUILD_TARGET), linux freebsd netbsd openbsd solaris win) 7639 VBOX_QT_MOD += Qt5Help Qt5Network Qt5Sql 7640 endif 7641 7641 endif 7642 7642 … … 7694 7694 endif 7695 7695 TEMPLATE_VBoxQtGuiExe_DEFS += \ 7696 7697 7698 7696 _WIN32_WINNT=0x0500 UNICODE _UNICODE \ 7697 QT_DLL _CRT_SECURE_NO_DEPRECATE \ 7698 $(QMAKE_PRL_DEFINES) 7699 7699 TEMPLATE_VBoxQtGuiExe_CXXFLAGS = -nologo -Zm200 -MD -Zi -EHsc -Zc:wchar_t- $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS) $(VBOX_VCC_std) 7700 7700 # -wd4481: nonstandard extension used: override specifier 'override' … … 7732 7732 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += -Gy 7733 7733 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120" 7734 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += -Gw7734 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += -Gw 7735 7735 endif 7736 7736 ifdef VBOX_WITH_MSC_ANALYZE_THIS … … 7745 7745 TEMPLATE_VBoxQtGuiExe_PCHFLAGS.dbgopt = $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS.dbgopt) 7746 7746 TEMPLATE_VBoxQtGuiExe_LDFLAGS = -Ignore:4197 \ 7747 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \7748 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \7749 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \7750 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com7747 /NOD /INCREMENTAL:NO /MAPINFO:EXPORTS /LargeAddressAware /DynamicBase /NxCompat /Release /Debug /Opt:Ref /Opt:Icf \ 7748 $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS) \ 7749 /Version:$(VBOX_VERSION_MAJOR)0$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 7750 /STUB:$(PATH_ROOT)/src/VBox/HostDrivers/Support/win/winstub.com 7751 7751 if defined(VBOX_SIGNING_MODE) && defined(VBOX_WITH_HARDENING) 7752 7752 TEMPLATE_VBoxQtGuiExe_LDFLAGS += -IntegrityCheck … … 7767 7767 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/oldnames.lib \ 7768 7768 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib 7769 ifeq ($(KBUILD_TYPE),asan)7770 TEMPLATE_VBoxQtGuiExe_LIBS += \7771 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/clang_rt.asan_dynamic-x86_64.lib \7772 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/clang_rt.asan_dynamic_runtime_thunk-x86_64.lib7773 endif7769 ifeq ($(KBUILD_TYPE),asan) 7770 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7771 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/clang_rt.asan_dynamic-x86_64.lib \ 7772 $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/clang_rt.asan_dynamic_runtime_thunk-x86_64.lib 7773 endif 7774 7774 else 7775 7775 TEMPLATE_VBoxQtGuiExe_LIBS = \ … … 7794 7794 ## @todo Use VBOX_GCC_PEDANTIC_CXX? 7795 7795 TEMPLATE_VBoxQtGuiExe_CXXFLAGS = \ 7796 -g $(VBOX_GCC_pipe) $(filter-out -Wno-unused $(VBOX_GCC_Wno-unused-parameter),$(VBOX_GCC_WARN)) -frtti -fno-exceptions \7797 -Wno-long-long -fshort-wchar -fno-strict-aliasing \7798 $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-ignored-qualifiers) \7799 $(VBOX_GCC_Wno-return-type-c-linkage) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) $(VBOX_GCC_SANITIZER_FLAGS)7796 -g $(VBOX_GCC_pipe) $(filter-out -Wno-unused $(VBOX_GCC_Wno-unused-parameter),$(VBOX_GCC_WARN)) -frtti -fno-exceptions \ 7797 -Wno-long-long -fshort-wchar -fno-strict-aliasing \ 7798 $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-ignored-qualifiers) \ 7799 $(VBOX_GCC_Wno-return-type-c-linkage) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) $(VBOX_GCC_SANITIZER_FLAGS) 7800 7800 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 7801 7801 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += $(VBOX_GCC_WERR) 7802 7802 endif 7803 ifn1of ($(USERNAME), dsen serkan) # Bunch of stuff deprecated after 5.6.*. These guys knows how to deal with it. :)7803 ifn1of ($(USERNAME), dsen serkan) # Bunch of stuff deprecated after 5.6.*. These guys knows how to deal with it. :) 7804 7804 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += $(VBOX_GCC_Wno-deprecated-declarations) 7805 7805 endif … … 7820 7820 TEMPLATE_VBoxQtGuiExe_OBJCFLAGS.amd64 = $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS.amd64) 7821 7821 TEMPLATE_VBoxQtGuiExe_OBJCXXFLAGS = \ 7822 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) \7823 -frtti -fno-exceptions $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)7822 -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) \ 7823 -frtti -fno-exceptions $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) 7824 7824 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 7825 7825 TEMPLATE_VBoxQtGuiExe_OBJCXXFLAGS += $(VBOX_GCC_WERR) … … 7834 7834 TEMPLATE_VBoxQtGuiExe_LDFLAGS.amd64 = -m64 7835 7835 TEMPLATE_VBoxQtGuiExe_LIBS = \ 7836 $(VBOX_LIBS_QT) \7837 $(LIB_RUNTIME)7836 $(VBOX_LIBS_QT) \ 7837 $(LIB_RUNTIME) 7838 7838 7839 7839 ifeq ($(KBUILD_TARGET),linux) 7840 7840 TEMPLATE_VBoxQtGuiExe_LDFLAGS += -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) 7841 7841 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7842 7843 Xext \7844 X117845 TEMPLATE_VBoxQtGuiExe_LIBPATH+= \7846 $(VBOX_LIBPATH_X11)7842 $(VBOX_XCURSOR_LIBS) \ 7843 Xext \ 7844 X11 7845 TEMPLATE_VBoxQtGuiExe_LIBPATH += \ 7846 $(VBOX_LIBPATH_X11) 7847 7847 else ifeq ($(KBUILD_TARGET),darwin) 7848 7848 TEMPLATE_VBoxQtGuiExe_SDKS.darwin += $(VBOX_DARWIN_DEF_SDK_SDKS) … … 7863 7863 else 7864 7864 TEMPLATE_VBoxQtGuiExe_INCS += \ 7865 $(VBOX_XCURSOR_INCS)7865 $(VBOX_XCURSOR_INCS) 7866 7866 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7867 7868 Xext \7869 X11 \7870 m \7871 $(LIB_PTHREAD)7867 $(VBOX_XCURSOR_LIBS) \ 7868 Xext \ 7869 X11 \ 7870 m \ 7871 $(LIB_PTHREAD) 7872 7872 TEMPLATE_VBoxQtGuiExe_LIBPATH += \ 7873 $(VBOX_LIBPATH_X11)7873 $(VBOX_LIBPATH_X11) 7874 7874 ifeq ($(KBUILD_TARGET),freebsd) 7875 7875 TEMPLATE_VBoxQtGuiExe_INCS += \ 7876 /usr/include \7877 /usr/X11R6/include \7878 /usr/local/include7876 /usr/include \ 7877 /usr/X11R6/include \ 7878 /usr/local/include 7879 7879 TEMPLATE_VBoxQtGuiExe_LIBPATH += \ 7880 /usr/lib \7881 /usr/X11R6/lib \7882 /usr/local/lib7880 /usr/lib \ 7881 /usr/X11R6/lib \ 7882 /usr/local/lib 7883 7883 endif 7884 7884 ifeq ($(KBUILD_TARGET),solaris) 7885 7885 TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed. 7886 7886 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7887 7887 rt socket nsl 7888 7888 endif 7889 7889 endif … … 7899 7899 # Add COM/XPCOM stuff 7900 7900 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7901 $(PATH_STAGE_LIB)/VBoxCOM$(if-expr defined(VBOX_WITH_DEBUG_VCC_CRT) && $(KBUILD_TARGET) == win,-GUI,)$(VBOX_SUFF_LIB)7901 $(PATH_STAGE_LIB)/VBoxCOM$(if-expr defined(VBOX_WITH_DEBUG_VCC_CRT) && $(KBUILD_TARGET) == win,-GUI,)$(VBOX_SUFF_LIB) 7902 7902 ifdef VBOX_WITH_XPCOM 7903 7903 ## @todo may be worth creating the VBOX_XPCOM SDK def, or just a SDK_VBOXXPCOM. … … 7907 7907 endif 7908 7908 TEMPLATE_VBoxQtGuiExe_INCS += \ 7909 $(VBOX_XPCOM_INCS)7909 $(VBOX_XPCOM_INCS) 7910 7910 TEMPLATE_VBoxQtGuiExe_LIBS += \ 7911 $(LIB_XPCOM)7911 $(LIB_XPCOM) 7912 7912 TEMPLATE_VBoxQtGuiExe_INTERMEDIATES += \ 7913 $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h7913 $(VBOX_PATH_SDK)/bindings/xpcom/include/VirtualBox_XPCOM.h 7914 7914 else # COM 7915 7915 TEMPLATE_VBoxQtGuiExe_INCS += \ 7916 $(VBOX_PATH_SDK)/bindings/mscom/include7916 $(VBOX_PATH_SDK)/bindings/mscom/include 7917 7917 TEMPLATE_VBoxQtGuiExe_INTERMEDIATES += \ 7918 $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h7918 $(VBOX_PATH_SDK)/bindings/mscom/include/VirtualBox.h 7919 7919 endif # COM 7920 7920 7921 7921 ifn1of ($(KBUILD_TARGET), darwin os2 win) 7922 TEMPLATE_VBoxQtGuiExe_DEFS+= PIC7923 TEMPLATE_VBoxQtGuiExe_CFLAGS+= -fPIC7924 TEMPLATE_VBoxQtGuiExe_CXXFLAGS+= -fPIC7925 7926 TEMPLATE_VBoxQtGuiExe_CXXFLAGS.linux= $(VBOX_GCC_Wno-deprecated-copy) $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS)7927 TEMPLATE_VBoxQtGuiExe_LDFLAGS+= -fPIC7922 TEMPLATE_VBoxQtGuiExe_DEFS += PIC 7923 TEMPLATE_VBoxQtGuiExe_CFLAGS += -fPIC 7924 TEMPLATE_VBoxQtGuiExe_CXXFLAGS += -fPIC 7925 # Needed for GCC 9. Even system's Qt 5.12.4 (on Ubuntu 19.10) did not have this fixed yet. 7926 TEMPLATE_VBoxQtGuiExe_CXXFLAGS.linux = $(VBOX_GCC_Wno-deprecated-copy) $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS) 7927 TEMPLATE_VBoxQtGuiExe_LDFLAGS += -fPIC 7928 7928 endif # not darwin, os2 or win 7929 7929 … … 7931 7931 ifndef VBOX_WITH_QT6 7932 7932 TEMPLATE_VBoxQtGuiExe_POST_CMDS = $(QUIET)install_name_tool $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \ 7933 $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(PATH_SDK_QT5)/, \7934 7935 7933 $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(PATH_SDK_QT5)/, \ 7934 -change "$(prefix)$(qtmod).framework/Versions/5/$(qtmod)" \ 7935 "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/5/$(qtmod)" ) ) "$(out)" 7936 7936 else 7937 7937 TEMPLATE_VBoxQtGuiExe_POST_CMDS = $(QUIET)install_name_tool $(foreach qtmod, $(VBOX_QT_MOD_NAMES), \ 7938 $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(PATH_SDK_QT6)/, \7939 7940 7938 $(foreach prefix, @executable_path/../Frameworks/ $(VBOX_PATH_QT)/Frameworks/ $(PATH_SDK_QT6)/, \ 7939 -change "$(prefix)$(qtmod).framework/Versions/A/$(qtmod)" \ 7940 "$(if $(VBOX_WITH_HARDENING),/Applications/VirtualBox.app/Contents/Frameworks,@rpath)/$(qtmod).framework/Versions/A/$(qtmod)" ) ) "$(out)" 7941 7941 endif 7942 7942 endif … … 7950 7950 ifeq ($(KBUILD_TARGET),darwin) 7951 7951 TEMPLATE_VBoxQtGuiDll_LDFLAGS.darwin += $(filter-out -bind_at_load,$(TEMPLATE_VBoxQtGuiExe_LDFLAGS.darwin)) \ 7952 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \7953 -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)7952 -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \ 7953 -compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) 7954 7954 endif 7955 7955 ifn1of ($(KBUILD_TARGET), darwin os2 win) 7956 TEMPLATE_VBoxQtGuiDll_DEFS= PIC $(TEMPLATE_VBoxQtGuiExe_DEFS)7957 TEMPLATE_VBoxQtGuiDll_CFLAGS= -fPIC $(TEMPLATE_VBoxQtGuiExe_CFLAGS)7958 TEMPLATE_VBoxQtGuiDll_CXXFLAGS= -fPIC $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS)7959 TEMPLATE_VBoxQtGuiDll_PCHFLAGS= $(TEMPLATE_VBoxQtGuiDll_CXXFLAGS)7960 TEMPLATE_VBoxQtGuiDll_LDFLAGS= -fPIC $(TEMPLATE_VBoxQtGuiExe_LDFLAGS)7956 TEMPLATE_VBoxQtGuiDll_DEFS = PIC $(TEMPLATE_VBoxQtGuiExe_DEFS) 7957 TEMPLATE_VBoxQtGuiDll_CFLAGS = -fPIC $(TEMPLATE_VBoxQtGuiExe_CFLAGS) 7958 TEMPLATE_VBoxQtGuiDll_CXXFLAGS = -fPIC $(TEMPLATE_VBoxQtGuiExe_CXXFLAGS) 7959 TEMPLATE_VBoxQtGuiDll_PCHFLAGS = $(TEMPLATE_VBoxQtGuiDll_CXXFLAGS) 7960 TEMPLATE_VBoxQtGuiDll_LDFLAGS = -fPIC $(TEMPLATE_VBoxQtGuiExe_LDFLAGS) 7961 7961 endif 7962 7962 endif # VBOX_WITH_QTGUI … … 7983 7983 TEMPLATE_VBoxNLS_QT_TRANSLATIONS_INST = $(INST_BIN)nls/ 7984 7984 TEMPLATE_VBoxNLS_SOURCES = \ 7985 $(PATH_ROOT)/src/VBox/Main/nls/dummy.c7985 $(PATH_ROOT)/src/VBox/Main/nls/dummy.c 7986 7986 TEMPLATE_VBoxNLS_SDKS.$(KBUILD_TARGET_ARCH) = $(filter-out VBoxOpenSslStatic,$(TEMPLATE_VBoxR3Static_SDKS.$(KBUILD_TARGET_ARCH))) 7987 7987 ifdef VBOX_WITH_NOCRT_STATIC 7988 7988 TEMPLATE_VBoxNLS_LIBS.$(KBUILD_TARGET_ARCH) = $(filter-out \ 7989 7990 7989 $(PATH_STAGE_LIB)/VBox-libxml2-static$(VBOX_SUFF_LIB), \ 7990 $(TEMPLATE_VBoxR3Static_LIBS.$(KBUILD_TARGET_ARCH))) 7991 7991 else 7992 7992 TEMPLATE_VBoxNLS_LIBS.$(KBUILD_TARGET_ARCH) = $(filter-out \ 7993 7994 7995 7993 $(VBOX_LIB_RUNTIME_STATIC) \ 7994 $(PATH_STAGE_LIB)/VBox-libxml2-static$(VBOX_SUFF_LIB), \ 7995 $(TEMPLATE_VBoxR3Static_LIBS.$(KBUILD_TARGET_ARCH))) 7996 7996 endif 7997 7997 endif # !VBOX_WITH_NLS … … 8016 8016 TEMPLATE_VBoxBldProg_DEFS.win := _CRT_SECURE_NO_DEPRECATE 8017 8017 ifeq ($(KBUILD_TARGET),$(KBUILD_HOST)) 8018 TEMPLATE_VBoxBldProg_ASTOOL:= $(VBOX_ASTOOL)8019 TEMPLATE_VBoxBldProg_ASFLAGS.x86:= $(VBOX_ASFLAGS32)8020 TEMPLATE_VBoxBldProg_ASFLAGS.arm32:= $(VBOX_ASFLAGS32)8021 TEMPLATE_VBoxBldProg_ASFLAGS.sparc32:= $(VBOX_ASFLAGS32)8022 TEMPLATE_VBoxBldProg_ASFLAGS.amd64:= $(VBOX_ASFLAGS64)8023 TEMPLATE_VBoxBldProg_ASFLAGS.arm64:= $(VBOX_ASFLAGS64)8024 TEMPLATE_VBoxBldProg_ASFLAGS.sparc64:= $(VBOX_ASFLAGS64)8018 TEMPLATE_VBoxBldProg_ASTOOL := $(VBOX_ASTOOL) 8019 TEMPLATE_VBoxBldProg_ASFLAGS.x86 := $(VBOX_ASFLAGS32) 8020 TEMPLATE_VBoxBldProg_ASFLAGS.arm32 := $(VBOX_ASFLAGS32) 8021 TEMPLATE_VBoxBldProg_ASFLAGS.sparc32 := $(VBOX_ASFLAGS32) 8022 TEMPLATE_VBoxBldProg_ASFLAGS.amd64 := $(VBOX_ASFLAGS64) 8023 TEMPLATE_VBoxBldProg_ASFLAGS.arm64 := $(VBOX_ASFLAGS64) 8024 TEMPLATE_VBoxBldProg_ASFLAGS.sparc64 := $(VBOX_ASFLAGS64) 8025 8025 else if1of ($(KBUILD_TARGET_ARCH), amd64 x86) 8026 TEMPLATE_VBoxBldProg_ASTOOL:= YASM8027 TEMPLATE_VBoxBldProg_ASFLAGS:= -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit)8028 if1of ($(KBUILD_HOST), win)8029 TEMPLATE_VBoxBldProg_ASFLAGS+= -g cv8 -DASM_FORMAT_ELF8030 TEMPLATE_VBoxBldProg_ASFLAGS.x86:= -f win328031 TEMPLATE_VBoxBldProg_ASFLAGS.amd64:= -f win648032 else if1of ($(KBUILD_HOST), darwin)8033 TEMPLATE_VBoxBldProg_ASFLAGS+= -DASM_FORMAT_MACHO8034 TEMPLATE_VBoxBldProg_ASFLAGS.x86:= -f macho328035 TEMPLATE_VBoxBldProg_ASFLAGS.amd64:= -f macho648026 TEMPLATE_VBoxBldProg_ASTOOL := YASM 8027 TEMPLATE_VBoxBldProg_ASFLAGS := -D__YASM__ -Worphan-labels $(VBOX_YASM_Wno-segreg-in-64bit) 8028 if1of ($(KBUILD_HOST), win) 8029 TEMPLATE_VBoxBldProg_ASFLAGS += -g cv8 -DASM_FORMAT_ELF 8030 TEMPLATE_VBoxBldProg_ASFLAGS.x86 := -f win32 8031 TEMPLATE_VBoxBldProg_ASFLAGS.amd64 := -f win64 8032 else if1of ($(KBUILD_HOST), darwin) 8033 TEMPLATE_VBoxBldProg_ASFLAGS += -DASM_FORMAT_MACHO 8034 TEMPLATE_VBoxBldProg_ASFLAGS.x86 := -f macho32 8035 TEMPLATE_VBoxBldProg_ASFLAGS.amd64 := -f macho64 8036 8036 else 8037 TEMPLATE_VBoxBldProg_ASFLAGS+= -g dwarf2 -DASM_FORMAT_ELF8038 TEMPLATE_VBoxBldProg_ASFLAGS.x86:= -f elf328039 TEMPLATE_VBoxBldProg_ASFLAGS.amd64:= -f elf648037 TEMPLATE_VBoxBldProg_ASFLAGS += -g dwarf2 -DASM_FORMAT_ELF 8038 TEMPLATE_VBoxBldProg_ASFLAGS.x86 := -f elf32 8039 TEMPLATE_VBoxBldProg_ASFLAGS.amd64 := -f elf64 8040 8040 endif 8041 8041 endif … … 8084 8084 /DISALLOWLIB:msvcprt.lib \ 8085 8085 /DISALLOWLIB:msvcprtd.lib \ 8086 /DISALLOWLIB:libvcruntime$(VBOX_VCC_CRT_TYPE_N).lib \8087 /DISALLOWLIB:libucrt$(VBOX_VCC_CRT_TYPE_N).lib \8088 /DISALLOWLIB:vcruntime.lib \8089 /DISALLOWLIB:vcruntimed.lib \8090 /DISALLOWLIB:ucrt.lib \8091 /DISALLOWLIB:ucrtd.lib8086 /DISALLOWLIB:libvcruntime$(VBOX_VCC_CRT_TYPE_N).lib \ 8087 /DISALLOWLIB:libucrt$(VBOX_VCC_CRT_TYPE_N).lib \ 8088 /DISALLOWLIB:vcruntime.lib \ 8089 /DISALLOWLIB:vcruntimed.lib \ 8090 /DISALLOWLIB:ucrt.lib \ 8091 /DISALLOWLIB:ucrtd.lib 8092 8092 TEMPLATE_VBoxBldProg_LDFLAGS.win.amd64 = $(VBOX_VCC_LD_HIGH_ENTRYOPY_VA) 8093 8093 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" # Don't waste space on x86/amd64-on-arm emulation optimizations. … … 8108 8108 8109 8109 else 8110 # (gcc of some kind )8111 TEMPLATE_VBoxBldProg_TOOL= GXX38110 # (gcc of some kind ) 8111 TEMPLATE_VBoxBldProg_TOOL = GXX3 8112 8112 if $(VBOX_GCC_VERSION_CC) < 30400 8113 TEMPLATE_VBoxBldProg_DEFS+= RT_WITHOUT_PRAGMA_ONCE8114 endif 8115 TEMPLATE_VBoxBldProg_CFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros)8113 TEMPLATE_VBoxBldProg_DEFS += RT_WITHOUT_PRAGMA_ONCE 8114 endif 8115 TEMPLATE_VBoxBldProg_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) 8116 8116 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 8117 8117 TEMPLATE_VBoxBldProg_CFLAGS += $(VBOX_GCC_WERR) 8118 8118 endif 8119 TEMPLATE_VBoxBldProg_CFLAGS.x86= -m328120 TEMPLATE_VBoxBldProg_CFLAGS.sparc32= -m328121 TEMPLATE_VBoxBldProg_CFLAGS.amd64= -m648122 TEMPLATE_VBoxBldProg_CFLAGS.sparc64= -m648123 TEMPLATE_VBoxBldProg_CFLAGS.release= -O2 -fno-omit-frame-pointer -fno-strict-aliasing8124 TEMPLATE_VBoxBldProg_CFLAGS.profile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile)8125 TEMPLATE_VBoxBldProg_CFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile)8126 TEMPLATE_VBoxBldProg_CXXFLAGS= -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_std)8119 TEMPLATE_VBoxBldProg_CFLAGS.x86 = -m32 8120 TEMPLATE_VBoxBldProg_CFLAGS.sparc32 = -m32 8121 TEMPLATE_VBoxBldProg_CFLAGS.amd64 = -m64 8122 TEMPLATE_VBoxBldProg_CFLAGS.sparc64 = -m64 8123 TEMPLATE_VBoxBldProg_CFLAGS.release = -O2 -fno-omit-frame-pointer -fno-strict-aliasing 8124 TEMPLATE_VBoxBldProg_CFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) 8125 TEMPLATE_VBoxBldProg_CFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) 8126 TEMPLATE_VBoxBldProg_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_std) 8127 8127 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY 8128 8128 TEMPLATE_VBoxBldProg_CXXFLAGS += $(VBOX_GCC_WERR) 8129 8129 endif 8130 TEMPLATE_VBoxBldProg_CXXFLAGS.x86= -m328131 TEMPLATE_VBoxBldProg_CXXFLAGS.sparc32= -m328132 TEMPLATE_VBoxBldProg_CXXFLAGS.amd64= -m648133 TEMPLATE_VBoxBldProg_CXXFLAGS.sparc64= -m648134 TEMPLATE_VBoxBldProg_CXXFLAGS.release= -O2 -fno-omit-frame-pointer -fno-strict-aliasing8135 TEMPLATE_VBoxBldProg_CXXFLAGS.profile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.release)8136 TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.release)8137 TEMPLATE_VBoxBldProg_OBJCFLAGS= $(TEMPLATE_VBoxBldProg_CFLAGS)8138 TEMPLATE_VBoxBldProg_OBJCFLAGS.x86= $(TEMPLATE_VBoxBldProg_CFLAGS.x86)8139 TEMPLATE_VBoxBldProg_OBJCFLAGS.amd64= $(TEMPLATE_VBoxBldProg_CFLAGS.amd64)8140 TEMPLATE_VBoxBldProg_OBJCFLAGS.release= $(TEMPLATE_VBoxBldProg_CFLAGS.release)8141 TEMPLATE_VBoxBldProg_OBJCFLAGS.profile= $(TEMPLATE_VBoxBldProg_CFLAGS.profile)8142 TEMPLATE_VBoxBldProg_OBJCFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CFLAGS.kprofile)8143 TEMPLATE_VBoxBldProg_OBJCXXFLAGS= $(TEMPLATE_VBoxBldProg_CXXFLAGS)8144 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.x86= $(TEMPLATE_VBoxBldProg_CXXFLAGS.x86)8145 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.amd64= $(TEMPLATE_VBoxBldProg_CXXFLAGS.amd64)8146 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release)8147 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile)8148 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile)8149 TEMPLATE_VBoxBldProg_PCHFLAGS= $(TEMPLATE_VBoxBldProg_CXXFLAGS)8150 TEMPLATE_VBoxBldProg_PCHFLAGS.x86= $(TEMPLATE_VBoxBldProg_CXXFLAGS.x86)8151 TEMPLATE_VBoxBldProg_PCHFLAGS.amd64= $(TEMPLATE_VBoxBldProg_CXXFLAGS.amd64)8152 TEMPLATE_VBoxBldProg_PCHFLAGS.release= $(TEMPLATE_VBoxBldProg_CXXFLAGS.release)8153 TEMPLATE_VBoxBldProg_PCHFLAGS.profile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile)8154 TEMPLATE_VBoxBldProg_PCHFLAGS.kprofile= $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile)8155 TEMPLATE_VBoxBldProg_LDFLAGS.x86= -m328156 TEMPLATE_VBoxBldProg_LDFLAGS.sparc32= -m328157 TEMPLATE_VBoxBldProg_LDFLAGS.amd64= -m648158 TEMPLATE_VBoxBldProg_LDFLAGS.sparc64= -m648130 TEMPLATE_VBoxBldProg_CXXFLAGS.x86 = -m32 8131 TEMPLATE_VBoxBldProg_CXXFLAGS.sparc32 = -m32 8132 TEMPLATE_VBoxBldProg_CXXFLAGS.amd64 = -m64 8133 TEMPLATE_VBoxBldProg_CXXFLAGS.sparc64 = -m64 8134 TEMPLATE_VBoxBldProg_CXXFLAGS.release = -O2 -fno-omit-frame-pointer -fno-strict-aliasing 8135 TEMPLATE_VBoxBldProg_CXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) 8136 TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) 8137 TEMPLATE_VBoxBldProg_OBJCFLAGS = $(TEMPLATE_VBoxBldProg_CFLAGS) 8138 TEMPLATE_VBoxBldProg_OBJCFLAGS.x86 = $(TEMPLATE_VBoxBldProg_CFLAGS.x86) 8139 TEMPLATE_VBoxBldProg_OBJCFLAGS.amd64 = $(TEMPLATE_VBoxBldProg_CFLAGS.amd64) 8140 TEMPLATE_VBoxBldProg_OBJCFLAGS.release = $(TEMPLATE_VBoxBldProg_CFLAGS.release) 8141 TEMPLATE_VBoxBldProg_OBJCFLAGS.profile = $(TEMPLATE_VBoxBldProg_CFLAGS.profile) 8142 TEMPLATE_VBoxBldProg_OBJCFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CFLAGS.kprofile) 8143 TEMPLATE_VBoxBldProg_OBJCXXFLAGS = $(TEMPLATE_VBoxBldProg_CXXFLAGS) 8144 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.x86 = $(TEMPLATE_VBoxBldProg_CXXFLAGS.x86) 8145 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.amd64 = $(TEMPLATE_VBoxBldProg_CXXFLAGS.amd64) 8146 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) 8147 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) 8148 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) 8149 TEMPLATE_VBoxBldProg_PCHFLAGS = $(TEMPLATE_VBoxBldProg_CXXFLAGS) 8150 TEMPLATE_VBoxBldProg_PCHFLAGS.x86 = $(TEMPLATE_VBoxBldProg_CXXFLAGS.x86) 8151 TEMPLATE_VBoxBldProg_PCHFLAGS.amd64 = $(TEMPLATE_VBoxBldProg_CXXFLAGS.amd64) 8152 TEMPLATE_VBoxBldProg_PCHFLAGS.release = $(TEMPLATE_VBoxBldProg_CXXFLAGS.release) 8153 TEMPLATE_VBoxBldProg_PCHFLAGS.profile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile) 8154 TEMPLATE_VBoxBldProg_PCHFLAGS.kprofile = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile) 8155 TEMPLATE_VBoxBldProg_LDFLAGS.x86 = -m32 8156 TEMPLATE_VBoxBldProg_LDFLAGS.sparc32 = -m32 8157 TEMPLATE_VBoxBldProg_LDFLAGS.amd64 = -m64 8158 TEMPLATE_VBoxBldProg_LDFLAGS.sparc64 = -m64 8159 8159 ifeq ($(KBUILD_HOST),linux) 8160 TEMPLATE_VBoxBldProg_LIBS= pthread m rt dl8160 TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl 8161 8161 else ifeq ($(KBUILD_HOST),os2) 8162 TEMPLATE_VBoxBldProg_TOOL= GXX3OMF8163 TEMPLATE_VBoxBldProg_LIBS= socket iconv8162 TEMPLATE_VBoxBldProg_TOOL = GXX3OMF 8163 TEMPLATE_VBoxBldProg_LIBS = socket iconv 8164 8164 else ifeq ($(KBUILD_HOST),darwin) 8165 TEMPLATE_VBoxBldProg_TOOL= $(VBOX_GCC_TOOL)8165 TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) 8166 8166 if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7" 8167 TEMPLATE_VBoxBldProg_DEFS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_DEFS)8168 TEMPLATE_VBoxBldProg_CFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_CFLAGS) -fno-common8169 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS)8170 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS)8171 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C)8172 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX)8173 TEMPLATE_VBoxBldProg_LDFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_7_LDFLAGS)8167 TEMPLATE_VBoxBldProg_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_DEFS) 8168 TEMPLATE_VBoxBldProg_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_CFLAGS) -fno-common 8169 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS) 8170 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_CXXFLAGS) 8171 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C) 8172 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX) 8173 TEMPLATE_VBoxBldProg_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_LDFLAGS) 8174 8174 else if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.6" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "6" 8175 TEMPLATE_VBoxBldProg_DEFS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_DEFS)8176 TEMPLATE_VBoxBldProg_CFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_CFLAGS) -fno-common8177 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS)8178 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS)8179 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C)8180 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX)8181 TEMPLATE_VBoxBldProg_LDFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_6_LDFLAGS)8175 TEMPLATE_VBoxBldProg_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_DEFS) 8176 TEMPLATE_VBoxBldProg_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_CFLAGS) -fno-common 8177 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS) 8178 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_CXXFLAGS) 8179 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C) 8180 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX) 8181 TEMPLATE_VBoxBldProg_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_6_LDFLAGS) 8182 8182 else if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.5" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "5" || defined(VBOX_MACOS_10_5_WORKAROUND) 8183 TEMPLATE_VBoxBldProg_DEFS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_DEFS)8184 TEMPLATE_VBoxBldProg_CFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_CFLAGS) -fno-common8185 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS)8186 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS)8187 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C)8188 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX)8189 TEMPLATE_VBoxBldProg_LDFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_10_5_LDFLAGS)8183 TEMPLATE_VBoxBldProg_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_DEFS) 8184 TEMPLATE_VBoxBldProg_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_CFLAGS) -fno-common 8185 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS) 8186 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_CXXFLAGS) 8187 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C) 8188 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX) 8189 TEMPLATE_VBoxBldProg_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_10_5_LDFLAGS) 8190 8190 else 8191 TEMPLATE_VBoxBldProg_SDKS.darwin= $(VBOX_DARWIN_DEF_SDK_SDKS)8192 TEMPLATE_VBoxBldProg_DEFS.darwin= $(VBOX_DARWIN_DEF_SDK_DEFS)8193 TEMPLATE_VBoxBldProg_CFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common8194 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)8195 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_CXXFLAGS)8196 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C)8197 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX)8198 TEMPLATE_VBoxBldProg_LDFLAGS.darwin= $(VBOX_DARWIN_DEF_SDK_LDFLAGS)8199 endif 8200 TEMPLATE_VBoxBldProg_LIBS=8191 TEMPLATE_VBoxBldProg_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS) 8192 TEMPLATE_VBoxBldProg_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS) 8193 TEMPLATE_VBoxBldProg_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common 8194 TEMPLATE_VBoxBldProg_CXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) 8195 TEMPLATE_VBoxBldProg_PCHFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) 8196 TEMPLATE_VBoxBldProg_OBJCFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_OBJCFLAGS) $(VBOX_GCC_PEDANTIC_C) 8197 TEMPLATE_VBoxBldProg_OBJCXXFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_OBJCXXFLAGS) $(VBOX_GCC_PEDANTIC_CXX) 8198 TEMPLATE_VBoxBldProg_LDFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) 8199 endif 8200 TEMPLATE_VBoxBldProg_LIBS = 8201 8201 else ifeq ($(KBUILD_HOST),haiku) 8202 TEMPLATE_VBoxBldProg_TOOL= GXX38203 TEMPLATE_VBoxBldProg_LIBS= network iconv8204 TEMPLATE_VBoxBldProg_LIBPATH+= \8205 /boot/common/lib8202 TEMPLATE_VBoxBldProg_TOOL = GXX3 8203 TEMPLATE_VBoxBldProg_LIBS = network iconv 8204 TEMPLATE_VBoxBldProg_LIBPATH += \ 8205 /boot/common/lib 8206 8206 else if1of ($(KBUILD_HOST), freebsd openbsd) 8207 TEMPLATE_VBoxBldProg_TOOL= $(VBOX_GCC_TOOL)8208 TEMPLATE_VBoxBldProg_LIBS= pthread8209 TEMPLATE_VBoxBldProg_INCS+= \8210 /usr/include \8211 /usr/X11R6/include \8212 /usr/local/include8213 TEMPLATE_VBoxBldProg_LIBPATH+= \8214 /usr/lib \8215 /usr/X11R6/lib \8216 /usr/local/lib8207 TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) 8208 TEMPLATE_VBoxBldProg_LIBS = pthread 8209 TEMPLATE_VBoxBldProg_INCS += \ 8210 /usr/include \ 8211 /usr/X11R6/include \ 8212 /usr/local/include 8213 TEMPLATE_VBoxBldProg_LIBPATH += \ 8214 /usr/lib \ 8215 /usr/X11R6/lib \ 8216 /usr/local/lib 8217 8217 else ifeq ($(KBUILD_HOST),netbsd) 8218 TEMPLATE_VBoxBldProg_TOOL= GXX38219 TEMPLATE_VBoxBldProg_LIBS= pthread8220 TEMPLATE_VBoxBldProg_INCS+= \8221 /usr/include \8222 /usr/X11R7/include8223 TEMPLATE_VBoxBldProg_LIBPATH+= \8224 /usr/lib \8225 /usr/X11R7/lib8218 TEMPLATE_VBoxBldProg_TOOL = GXX3 8219 TEMPLATE_VBoxBldProg_LIBS = pthread 8220 TEMPLATE_VBoxBldProg_INCS += \ 8221 /usr/include \ 8222 /usr/X11R7/include 8223 TEMPLATE_VBoxBldProg_LIBPATH += \ 8224 /usr/lib \ 8225 /usr/X11R7/lib 8226 8226 else ifeq ($(KBUILD_HOST),solaris) 8227 TEMPLATE_VBoxBldProg_TOOL= GXX3PLAIN8228 TEMPLATE_VBoxBldProg_LIBS= rt8227 TEMPLATE_VBoxBldProg_TOOL = GXX3PLAIN 8228 TEMPLATE_VBoxBldProg_LIBS = rt 8229 8229 else 8230 $(warning Warning: VBOX Build: Target $(KBUILD_HOST) is not officially supported!)8230 $(warning Warning: VBOX Build: Target $(KBUILD_HOST) is not officially supported!) 8231 8231 endif 8232 8232 … … 8240 8240 TEMPLATE_VBoxAdvBldProg_EXTENDS = VBoxBldProg 8241 8241 TEMPLATE_VBoxAdvBldProg_SDKS = $(TEMPLATE_VBoxBldProg_SDKS) 8242 TEMPLATE_VBoxAdvBldProg_SDKS.win = $(TEMPLATE_VBoxBldProg_SDKS.win) VBoxNtDll8242 TEMPLATE_VBoxAdvBldProg_SDKS.win = $(TEMPLATE_VBoxBldProg_SDKS.win) VBoxNtDll 8243 8243 TEMPLATE_VBoxAdvBldProg_DEFS = $(TEMPLATE_VBoxBldProg_DEFS) IN_RT_R3 IN_ADV_BLD_PROG 8244 8244 ifeq ($(KBUILD_HOST),win) … … 8285 8285 else 8286 8286 WIN32_MC = $(EXEC_X86_WIN32) $(firstword $(wildcard \ 8287 $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/MC.Exe\8288 $(PATH_SDK_WINPSDK_BIN)/MC.Exe\8289 $(PATH_SDK_WINPSDK)/Bin/MC.Exe\8290 $(PATH_SDK_WIN32SDK_BIN)/MC.Exe\8291 $(PATH_SDK_WIN64SDK_BIN)/MC.Exe\8292 $(KBUILD_DEVTOOLS)/win.x86/bin/mc.exe\8293 ) Sorry_Cannot_find_mc_in_the_PSDK)8287 $(PATH_SDK_$(VBOX_WINPSDK)_BIN)/MC.Exe \ 8288 $(PATH_SDK_WINPSDK_BIN)/MC.Exe \ 8289 $(PATH_SDK_WINPSDK)/Bin/MC.Exe \ 8290 $(PATH_SDK_WIN32SDK_BIN)/MC.Exe \ 8291 $(PATH_SDK_WIN64SDK_BIN)/MC.Exe \ 8292 $(KBUILD_DEVTOOLS)/win.x86/bin/mc.exe \ 8293 ) Sorry_Cannot_find_mc_in_the_PSDK) 8294 8294 endif 8295 8295 … … 8375 8375 else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) 8376 8376 TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) iconv 8377 else ifeq ($(KBUILD_TARGET), 8377 else ifeq ($(KBUILD_TARGET),solaris) 8378 8378 TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl 8379 8379 endif … … 8407 8407 endif 8408 8408 TEMPLATE_VBoxGuestR3Exe_LIBS.x86 = \ 8409 $(VBOX_LIB_IPRT_GUEST_R3_X86) \8410 $(VBOX_LIB_VBGL_R3_X86) \8411 $(VBOX_LIB_IPRT_GUEST_R3_X86) \8412 $(TEMPLATE_VBoxGuestR3ExeBase_LIBS.x86)8409 $(VBOX_LIB_IPRT_GUEST_R3_X86) \ 8410 $(VBOX_LIB_VBGL_R3_X86) \ 8411 $(VBOX_LIB_IPRT_GUEST_R3_X86) \ 8412 $(TEMPLATE_VBoxGuestR3ExeBase_LIBS.x86) 8413 8413 TEMPLATE_VBoxGuestR3Exe_LIBS.$(KBUILD_TARGET_ARCH) = \ 8414 $(VBOX_LIB_IPRT_GUEST_R3) \8415 $(VBOX_LIB_VBGL_R3) \8416 $(VBOX_LIB_IPRT_GUEST_R3) \8417 $(TEMPLATE_VBoxGuestR3ExeBase_LIBS.$(KBUILD_TARGET_ARCH))8414 $(VBOX_LIB_IPRT_GUEST_R3) \ 8415 $(VBOX_LIB_VBGL_R3) \ 8416 $(VBOX_LIB_IPRT_GUEST_R3) \ 8417 $(TEMPLATE_VBoxGuestR3ExeBase_LIBS.$(KBUILD_TARGET_ARCH)) 8418 8418 else 8419 8419 TEMPLATE_VBoxGuestR3Exe_CFLAGS = $(TEMPLATE_VBoxGuestR3ExeBase_CFLAGS) $(VBOX_GCC_WERR) … … 8508 8508 TEMPLATE_NewerVccVBoxGuestR3Dll_CXXFLAGS = \ 8509 8509 $(filter-out $(VBOX_VCC_WARN_ALL) $(VBOX_VCC_WERR), $(TEMPLATE_VBoxGuestR3DllNonPedantic_CXXFLAGS)) \ 8510 $(VBOX_NEWER_VCC_WARN_ALL) $(VBOX_VCC_WERR)8510 $(VBOX_NEWER_VCC_WARN_ALL) $(VBOX_VCC_WERR) 8511 8511 TEMPLATE_NewerVccVBoxGuestR3Dll_CFLAGS = $(TEMPLATE_NewerVccVBoxGuestR3DllNonPedantic_CXXFLAGS) 8512 8512 ifndef VBOX_WITH_NOCRT_STATIC 8513 # Hack begin8514 # Does not work when building x86 for amd64 build (No rule to make target /oldnames.lib).8515 # TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.x86 = \8516 # $(subst $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3DllNonPedantic_TOOL.win.x86)_LIB),$(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.x86)_LIB), $(TEMPLATE_VBoxGuestR3DllNonPedantic_LIBS.x86))8517 # TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.amd64 = \8518 # $(subst $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3DllNonPedantic_TOOL.win.amd64)_LIB),$(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.amd64)_LIB), $(TEMPLATE_VBoxGuestR3DllNonPedantic_LIBS.amd64))8519 # Directly assign TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.8513 # Hack begin 8514 # Does not work when building x86 for amd64 build (No rule to make target /oldnames.lib). 8515 # TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.x86 = \ 8516 # $(subst $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3DllNonPedantic_TOOL.win.x86)_LIB),$(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.x86)_LIB), $(TEMPLATE_VBoxGuestR3DllNonPedantic_LIBS.x86)) 8517 # TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.amd64 = \ 8518 # $(subst $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3DllNonPedantic_TOOL.win.amd64)_LIB),$(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.amd64)_LIB), $(TEMPLATE_VBoxGuestR3DllNonPedantic_LIBS.amd64)) 8519 # Directly assign TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS. 8520 8520 TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS.x86 = \ 8521 8521 $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.x86)_LIB)/oldnames.lib \ … … 8527 8527 $(PATH_TOOL_$(TEMPLATE_NewerVccVBoxGuestR3Dll_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib 8528 8528 endif # !VBOX_WITH_NOCRT_STATIC 8529 # Hack end8529 # Hack end 8530 8530 endif 8531 8531 TEMPLATE_NewerVccVBoxGuestR3Dll_LIBS = \ … … 8575 8575 IN_RT_STATIC 8576 8576 ifndef VBOX_WITH_NOCRT_STATIC 8577 TEMPLATE_VBoxGuestR3NoCrtExe_DEFS.win= $(TEMPLATE_VBoxGuestR3Exe_DEFS.win) \8578 RT_WITHOUT_NOCRT_WRAPPERS8577 TEMPLATE_VBoxGuestR3NoCrtExe_DEFS.win = $(TEMPLATE_VBoxGuestR3Exe_DEFS.win) \ 8578 RT_WITHOUT_NOCRT_WRAPPERS 8579 8579 endif 8580 8580 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS = \ 8581 8581 $(PATH_STAGE_LIB)/RuntimeR3NoCrt$(VBOX_SUFF_LIB) 8582 8582 ifeq ($(KBUILD_TARGET),win) 8583 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.x86= $(NO_SUCH_VARIABLE)8584 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.amd64= $(NO_SUCH_VARIABLE)8585 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.win= $(NO_SUCH_VARIABLE)8586 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.win.x86= \8587 $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3NoCrtExe_TOOL.win.x86)_LIB)/chkstk.obj8588 TEMPLATE_VBoxGuestR3NoCrtExe_SDKS.win.x86= VBoxWinInt64Lib8589 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS= $(filter-out $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS), $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS))8590 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS.win.x86 = $(filter-out -Include%, $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS.win.x86))8591 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS.win= $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS.win) /entry:CustomMainEntrypoint /subsystem:console8592 TEMPLATE_VBoxGuestR3NoCrtExe_CFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_CFLAGS)) /GS- -EHs-8593 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS)) /GS- -EHs-8594 TEMPLATE_VBoxGuestR3NoCrtExe_PCHFLAGS= $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_PCHFLAGS)) /GS- -EHs-8595 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS.debug= $(filter-out /RTC% -RTC%, $(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS.debug))8583 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.x86 = $(NO_SUCH_VARIABLE) 8584 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.amd64 = $(NO_SUCH_VARIABLE) 8585 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.win = $(NO_SUCH_VARIABLE) 8586 TEMPLATE_VBoxGuestR3NoCrtExe_LIBS.win.x86 = \ 8587 $(PATH_TOOL_$(TEMPLATE_VBoxGuestR3NoCrtExe_TOOL.win.x86)_LIB)/chkstk.obj 8588 TEMPLATE_VBoxGuestR3NoCrtExe_SDKS.win.x86 = VBoxWinInt64Lib 8589 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS = $(filter-out $(VBOX_VCC_LD_GUARD_CF) $(VBOX_VCC_SANITIZER_LDFLAGS), $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS)) 8590 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS.win.x86 = $(filter-out -Include%, $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS.win.x86)) 8591 TEMPLATE_VBoxGuestR3NoCrtExe_LDFLAGS.win = $(TEMPLATE_VBoxGuestR3Exe_LDFLAGS.win) /entry:CustomMainEntrypoint /subsystem:console 8592 TEMPLATE_VBoxGuestR3NoCrtExe_CFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_CFLAGS)) /GS- -EHs- 8593 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS)) /GS- -EHs- 8594 TEMPLATE_VBoxGuestR3NoCrtExe_PCHFLAGS = $(filter-out -EH% -GS $(VBOX_VCC_CC_GUARD_CF) $(VBOX_VCC_SANITIZER_FLAGS),$(TEMPLATE_VBoxGuestR3Exe_PCHFLAGS)) /GS- -EHs- 8595 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS.debug = $(filter-out /RTC% -RTC%, $(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS.debug)) 8596 8596 else 8597 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS= $(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS) -fno-exceptions8598 TEMPLATE_VBoxGuestR3NoCrtExe_PCHFLAGS= $(TEMPLATE_VBoxGuestR3Exe_PCHFLAGS) -fno-exceptions8597 TEMPLATE_VBoxGuestR3NoCrtExe_CXXFLAGS = $(TEMPLATE_VBoxGuestR3Exe_CXXFLAGS) -fno-exceptions 8598 TEMPLATE_VBoxGuestR3NoCrtExe_PCHFLAGS = $(TEMPLATE_VBoxGuestR3Exe_PCHFLAGS) -fno-exceptions 8599 8599 endif 8600 8600 … … 8715 8715 # VBOX_LIB_IPRT_GUEST_R0_NT4 = $(VBOX_PATH_ADDITIONS_LIB)/RuntimeGuestR0NT4$(VBOX_SUFF_LIB) 8716 8716 #else 8717 VBOX_LIB_IPRT_GUEST_R0_NT4= $(VBOX_LIB_IPRT_GUEST_R0)8717 VBOX_LIB_IPRT_GUEST_R0_NT4 = $(VBOX_LIB_IPRT_GUEST_R0) 8718 8718 #endif 8719 8719 VBOX_LIB_VBGL_R3 = $(VBOX_PATH_ADDITIONS_LIB)/VBoxGuestR3Lib$(VBOX_SUFF_LIB) … … 8777 8777 8778 8778 if $(words $(VBOX_VER_TMP1)) == 3 || ($(words $(VBOX_VER_TMP1)) == 2 && "$(VBOX_BUILD_PUBLISHER)" == "") 8779 if 8779 if "$(substr $(word 2,$(VBOX_VER_TMP1)),1,4)" == "BETA" 8780 8780 VBOX_VER_TMP2 = 5 8781 8781 else if "$(substr $(word 2,$(VBOX_VER_TMP1)),1,5)" == "ALPHA" … … 8899 8899 # VBOX_LICENSE_VER is used in several Makefiles 8900 8900 VBOX_LICENSE_VER_KMK = $(PATH_OUT)/license-version.kmk 8901 $(VBOX_LICENSE_VER_KMK): $(VBOX_BRAND_LICENSE_HTML)8901 $(VBOX_LICENSE_VER_KMK): $(VBOX_BRAND_LICENSE_HTML) 8902 8902 $(call MSG_GENERATE,,$(VBOX_LICENSE_VER_KMK)) 8903 8903 $(QUIET)$(MKDIR) -p $(@D) … … 8911 8911 ifdef VBOX_LICENSE_VER 8912 8912 VBOX_LICENSE_FILES = \ 8913 8914 8913 License-$(VBOX_LICENSE_VER).html \ 8914 $(foreach f,$(VBOX_INSTALLER_ADD_LANGUAGES),License-$(VBOX_LICENSE_VER)-$(f).html) 8915 8915 VBOX_LICENSE_BINS = $(addprefix $(PATH_STAGE_BIN)/,$(VBOX_LICENSE_FILES)) 8916 8916 endif … … 8920 8920 8921 8921 ifeq ($(KBUILD_TARGET),darwin) 8922 $(VBOX_DARWIN_ENTITLEMENTS_FILE):8922 $(VBOX_DARWIN_ENTITLEMENTS_FILE): 8923 8923 $(call MSG_GENERATE,,$@) 8924 8924 $(QUIET)$(MKDIR) -p $(@D) … … 8935 8935 8936 8936 ifndef VBOX_NOINC_MISC 8937 # Force building of the version header file as the first thing anywhere in8938 # the tree. This eliminates the need for manual dependencies on it.8939 ## @todo there gotta be a better way of doing this.8940 Makefile.kmk: | $(VBOX_VERSION_HEADER) $(VBOX_VERSION_MK) $(VBOX_PRODUCT_HEADER) $(VBOX_PACKAGE_HEADER)8937 # Force building of the version header file as the first thing anywhere in 8938 # the tree. This eliminates the need for manual dependencies on it. 8939 ## @todo there gotta be a better way of doing this. 8940 Makefile.kmk: | $(VBOX_VERSION_HEADER) $(VBOX_VERSION_MK) $(VBOX_PRODUCT_HEADER) $(VBOX_PACKAGE_HEADER) 8941 8941 ifeq ($(KBUILD_TARGET),darwin) 8942 Makefile.kmk: | $(VBOX_DARWIN_ENTITLEMENTS_FILE)8942 Makefile.kmk: | $(VBOX_DARWIN_ENTITLEMENTS_FILE) 8943 8943 endif 8944 8944 endif … … 8967 8967 endif 8968 8968 8969 # Rule for generating a timestamp and updating the real thing on change.8970 $(VBOX_SVN_REV_KMK).ts +| $(VBOX_SVN_REV_KMK): $(if $(VBOX_SVN_DEP), $(VBOX_SVN_DEP), $(PATH_ROOT)/Config.kmk)8969 # Rule for generating a timestamp and updating the real thing on change. 8970 $(VBOX_SVN_REV_KMK).ts +| $(VBOX_SVN_REV_KMK): $(if $(VBOX_SVN_DEP), $(VBOX_SVN_DEP), $(PATH_ROOT)/Config.kmk) 8971 8971 $(call MSG_GENERATE,,$(VBOX_SVN_REV_KMK)) 8972 8972 $(QUIET)$(RM) -f $@ [email protected] … … 8987 8987 endif 8988 8988 else 8989 # allow to overwrite VBOX_SVN_REV externally (mainly for building .debs/.rpms)8990 $(VBOX_SVN_REV_KMK):8989 # allow to overwrite VBOX_SVN_REV externally (mainly for building .debs/.rpms) 8990 $(VBOX_SVN_REV_KMK): 8991 8991 $(call MSG_GENERATE,,$(VBOX_SVN_REV_KMK)) 8992 8992 $(QUIET)$(RM) -f $@ … … 9059 9059 build-release-$(KBUILD_TARGET_ARCH) \ 9060 9060 build-debug-$(KBUILD_TARGET_ARCH) 9061 both-x86-amd64 9061 both-x86-amd64 both-amd64-x86: \ 9062 9062 build-$(KBUILD_TYPE)-x86 \ 9063 9063 build-$(KBUILD_TYPE)-x86
Note:
See TracChangeset
for help on using the changeset viewer.