- Timestamp:
- Jul 3, 2020 8:56:51 AM (4 years ago)
- File:
-
- 1 edited
-
trunk/Config.kmk (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r85010 r85046 2295 2295 # 2296 2296 ifeq ($(KBUILD_TARGET),darwin) 2297 ifdef VBOX_WITH_NEW_XCODE 2298 VBOX_DEF_MACOSX_VERSION_MIN ?= 10.9 2299 else 2300 VBOX_DEF_MACOSX_VERSION_MIN ?= 10.6 2301 endif 2302 2303 ifdef VBOX_WITH_NEW_XCODE 2304 # Use the tool path of the compiler (it's clang, not gcc in this instance). 2305 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 2306 VBOX_PATH_MACOSX_DEVEL_ROOT := $(PATH_TOOL_$(VBOX_GCC_TOOL)) 2307 else 2297 # The minimum macOS version we're targetting. 2298 ifndef VBOX_DEF_MACOSX_VERSION_MIN 2299 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) # For GAs. 2300 VBOX_DEF_MACOSX_VERSION_MIN := 10.6 2301 else 2302 VBOX_DEF_MACOSX_VERSION_MIN := 10.9 2303 endif 2304 endif 2305 2306 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) # For GAs. 2308 2307 # Check for the Xcode 4.1 bits in tools/darwin.x86. 2309 2308 if !defined(VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL) \ … … 2313 2312 VBOX_PATH_MACOSX_DEVEL_ROOT := $(KBUILD_DEVTOOLS)/darwin.x86/xcode/v4.1 2314 2313 VBOX_XCODE_VERSION := 4.1 2315 endif 2316 endif 2317 2318 # Fallback - system / LocalConfig.kmk. 2319 ifdef VBOX_WITH_NEW_XCODE 2314 else 2315 # Fallback - system / LocalConfig.kmk. 2316 VBOX_PATH_MACOSX_DEVEL_ROOT ?= /Developer 2317 VBOX_PATH_MACOSX_SDK_ROOT ?= $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs 2318 VBOX_PATH_MACOSX_TOOLCHAIN_ROOT ?= $(VBOX_PATH_MACOSX_DEVEL_ROOT) 2319 endif 2320 else ifeq ($(VBOX_GCC_TOOL),VBoxXcode62) 2321 # Use the tool path of the compiler (it's clang, not gcc in this instance). 2322 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 2323 VBOX_PATH_MACOSX_DEVEL_ROOT := $(PATH_TOOL_$(VBOX_GCC_TOOL)) 2324 # Fallback - system / LocalConfig.kmk. 2320 2325 ifndef VBOX_PATH_MACOSX_DEVEL_ROOT 2321 VBOX_PATH_MACOSX_DEVEL_ROOT := $(firstword $(wildcard /Applications/Xcode.app/Contents/Developer /Developer ))2326 VBOX_PATH_MACOSX_DEVEL_ROOT := $(firstword $(wildcard /Applications/Xcode.app/Contents/Developer /Developer /Library/Developer)) 2322 2327 endif 2323 2328 ifndef VBOX_PATH_MACOSX_SDK_ROOT … … 2326 2331 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs/. \ 2327 2332 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/. \ 2328 /Developer/SDKs/. )) 2333 /Developer/SDKs/. \ 2334 /Library/Developer/CommandLineTools/SDKs/. )) 2329 2335 endif 2330 2336 ifndef VBOX_PATH_MACOSX_TOOLCHAIN_ROOT … … 2338 2344 endif 2339 2345 else 2340 VBOX_PATH_MACOSX_DEVEL_ROOT ?= /Developer 2341 VBOX_PATH_MACOSX_SDK_ROOT ?= $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs 2342 VBOX_PATH_MACOSX_TOOLCHAIN_ROOT ?= $(VBOX_PATH_MACOSX_DEVEL_ROOT) 2346 ## @todo 2343 2347 endif 2344 2348 … … 2375 2379 ifeq ($(KBUILD_HOST),darwin) 2376 2380 ifndef VBOX_XCODE_VERSION 2377 if def VBOX_WITH_NEW_XCODE2381 if1of ($(VBOX_GCC_TOOL), VBoxXcode62) 2378 2382 VBOX_XCODE_VERSION := $(shell exec $(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/xcodebuild -version 2>&1) 2379 2383 ifneq ($(pos Symbol not found,$(VBOX_XCODE_VERSION)),0) # Try detect unresolved symbol running Xcode 6.2 on Catalina. … … 2382 2386 VBOX_XCODE_VERSION := $(word 2, $(VBOX_XCODE_VERSION)) 2383 2387 endif 2384 else if def VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL2388 else if defined(VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL) || exists "$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/xcodebuild" 2385 2389 VBOX_XCODE_VERSION := $(word 2, $(shell $(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/xcodebuild -version)) 2386 2390 else … … 2388 2392 endif 2389 2393 ifeq ($(strip $(VBOX_XCODE_VERSION)),) 2390 ifdef VBOX_WITH_NEW_XCODE 2394 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) 2395 VBOX_XCODE_VERSION := 4.1 2396 else if1of ($(VBOX_GCC_TOOL), VBoxXcode62) 2391 2397 VBOX_XCODE_VERSION := 6.2 2392 2398 else 2393 VBOX_XCODE_VERSION := 4.12399 ## @todo 2394 2400 endif 2395 2401 endif 2396 2402 endif 2397 if def VBOX_WITH_NEW_XCODE2403 if1of ($(VBOX_GCC_TOOL), VBoxXcode62) 2398 2404 ifdef KBUILD_USE_KOBJCACHE 2399 2405 $(warning KBUILD_USE_KOBJCACHE does _not_ currently work with this version of Xcode) 2400 endif2401 else2402 ifeq ($(VBOX_XCODE_VERSION),4.2)2403 $(warning Xcode 4.2 is not able to correctly build the recompiler!)2404 $(warning Please downgrade to Xcode 4.1 if you want a working VMM!)2405 2406 endif 2406 2407 endif … … 2426 2427 endif 2427 2428 endif 2428 ifdef VBOX_WITH_NEW_XCODE 2429 if $(KBUILD_HOST_VERSION_MAJOR) >= 18 # HACK ALERT! dtrace doesn't work on Mojave if we specify our Xcode 6.2 environment. 2430 override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/gcc" 2431 else 2432 override TOOL_StandardDTrace_DTRACE := $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) dtrace "-xcpppath=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/gcc" 2433 endif 2434 export PATH:=$(VBOX_PATH_MACOSX_SDK)/usr/bin:$(PATH) 2435 else 2429 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) 2436 2430 if $(VBOX_XCODE_VERSION_MAJOR) > 4 || ($(VBOX_XCODE_VERSION_MAJOR) == 4 && $(VBOX_XCODE_VERSION_MINOR) >= 2) 2437 2431 TOOL_GXX4MACHO_PREFIX ?= llvm- … … 2468 2462 TOOL_GXX4MACHO_OBJCXX = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden -fvisibility-inlines-hidden 2469 2463 endif 2464 else 2465 if $(KBUILD_HOST_VERSION_MAJOR) >= 18 # HACK ALERT! dtrace doesn't work on Mojave if we specify our Xcode 6.2 environment. 2466 override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/gcc" 2467 else 2468 override TOOL_StandardDTrace_DTRACE := $(TOOL_$(VBOX_GCC_TOOL)_ENV_SETUP) dtrace "-xcpppath=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/gcc" 2469 endif 2470 export PATH:=$(VBOX_PATH_MACOSX_SDK)/usr/bin:$(PATH) 2470 2471 endif 2471 2472 … … 3052 3053 endif 3053 3054 if $(KBUILD_TARGET) == "linux" \ 3054 || ($(KBUILD_TARGET) == "darwin" && defined(VBOX_WITH_NEW_XCODE)) \3055 || ($(KBUILD_TARGET) == "darwin" && "$(VBOX_GCC_TOOL)" != "GXX4MACHO" && "$(VBOX_GCC_TOOL)" != "GXX42MACHO") \ 3055 3056 || defined(VBOX_WITH_MASOCHISTIC_WARNINGS) 3056 3057 VBOX_GCC_WARN_PEDANTIC += $(VBOX_GCC_WARN_MASOCHISTIC) … … 3073 3074 VBOX_GCC_NON_PEDANTIC_C ?= -Wno-sign-compare -Werror-implicit-function-declaration 3074 3075 3075 if def VBOX_WITH_NEW_XCODE3076 if "$(KBUILD_TARGET)" == "darwin" && "$(VBOX_GCC_TOOL)" != "GXX4MACHO" && "$(VBOX_GCC_TOOL)" != "GXX42MACHO" 3076 3077 VBOX_GCC_PEDANTIC_CXX += -Wno-c99-extensions 3077 3078 VBOX_GCC_NON_PEDANTIC_CXX += -Wno-c99-extensions … … 3098 3099 -DVBOX_WITH_GCC_SANITIZER \ 3099 3100 -fsanitize=object-size \ 3100 -fsanitize-undefined-trap-on-error3101 -fsanitize-undefined-trap-on-error 3101 3102 else 3102 3103 VBOX_GCC_SANITIZER_FLAGS = … … 3291 3292 if defined(VBOX_WITH_MASOCHISTIC_WARNINGS) # gcc 4.6.x+ 3292 3293 VBOX_WITH_NO_GCC_WARNING_POLICY = 1 3293 else if $(KBUILD_TARGET) == "darwin" && defined(VBOX_WITH_NEW_XCODE) 3294 else if "$(KBUILD_TARGET)" == "darwin" 3295 ifn1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) 3294 3296 VBOX_WITH_NO_GCC_WARNING_POLICY = 1 3297 endif 3295 3298 else if1of ($(KBUILD_TARGET), linux) 3296 3299 if $(VBOX_GCC_VERSION_CXX) >= 40600 # gcc 4.6.x+ … … 4827 4830 TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) 4828 4831 TEMPLATE_VBOXR0DRV_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) KERNEL KERNEL_PRIVATE DRIVER_PRIVATE APPLE NeXT 4829 ifdef VBOX_WITH_NEW_XCODE # Note xcode uses -fstrict-aliasing, we currently don't dare... We also add -mno-red-zone. 4832 if1of ($(VBOX_GCC_TOOL), GXX4MACHO GXX42MACHO) 4833 TEMPLATE_VBOXR0DRV_INCS += \ 4834 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \ 4835 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers 4836 ## @todo try use VBOX_GCC_PEDANTIC_CXX 4837 TEMPLATE_VBOXR0DRV_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) \ 4838 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \ 4839 -fno-common -nostdinc -fno-builtin -finline $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ 4840 -fno-keep-inline-functions -fno-exceptions -msoft-float \ 4841 -fapple-kext -fno-rtti -fcheck-new -force_cpusubtype_ALL \ 4842 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks 4843 TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-2 4844 TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = -m32 -static 4845 TEMPLATE_VBOXR0DRV_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) \ 4846 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long -fno-common -nostdinc -fno-builtin -finline \ 4847 -fno-keep-inline-functions -fno-exceptions $(VBOX_GCC_fvisibility-hidden) -msoft-float \ 4848 -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations \ 4849 -Werror-implicit-function-declaration -force_cpusubtype_ALL \ 4850 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks 4851 TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-2 4852 TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -static 4853 TEMPLATE_VBOXR0DRV_LDFLAGS = $(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \ 4854 -nostdlib -Wl,-kext,-new_linker -Wl,-Y,1455 -keep_private_extern 4855 TEMPLATE_VBOXR0DRV_LDFLAGS.amd64 = -m64 4856 TEMPLATE_VBOXR0DRV_LDFLAGS.x86 = -m32 4857 TEMPLATE_VBOXR0DRV_LIBS = kmodc++ kmod cc_kext cpp_kext $(VBOX_GCC_LIBGCC) 4858 else 4859 # Note xcode uses -fstrict-aliasing, we currently don't dare... We also add -mno-red-zone. 4830 4860 TEMPLATE_VBOXR0DRV_INCS += \ 4831 4861 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \ … … 4872 4902 TEMPLATE_VBOXR0DRV_LDFLAGS.x86 = -m32 4873 4903 TEMPLATE_VBOXR0DRV_LIBS = kmodc++ kmod cc_kext 4874 else4875 TEMPLATE_VBOXR0DRV_INCS += \4876 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/PrivateHeaders \4877 $(VBOX_PATH_MACOSX_SDK)/System/Library/Frameworks/Kernel.framework/Headers4878 ## @todo try use VBOX_GCC_PEDANTIC_CXX4879 TEMPLATE_VBOXR0DRV_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) \4880 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \4881 -fno-common -nostdinc -fno-builtin -finline $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \4882 -fno-keep-inline-functions -fno-exceptions -msoft-float \4883 -fapple-kext -fno-rtti -fcheck-new -force_cpusubtype_ALL \4884 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks4885 TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-24886 TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = -m32 -static4887 TEMPLATE_VBOXR0DRV_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) \4888 -g $(VBOX_GCC_pipe) $(VBOX_GCC_WARN) -Wno-long-long -fno-common -nostdinc -fno-builtin -finline \4889 -fno-keep-inline-functions -fno-exceptions $(VBOX_GCC_fvisibility-hidden) -msoft-float \4890 -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations \4891 -Werror-implicit-function-declaration -force_cpusubtype_ALL \4892 $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fasm-blocks4893 TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mkernel -mno-red-zone -gdwarf-24894 TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -static4895 TEMPLATE_VBOXR0DRV_LDFLAGS = $(filter-out $(VBOX_DARWIN_NO_COMPACT_LINKEDIT),$(VBOX_DARWIN_DEF_SDK_LDFLAGS)) \4896 -nostdlib -Wl,-kext,-new_linker -Wl,-Y,1455 -keep_private_extern4897 TEMPLATE_VBOXR0DRV_LDFLAGS.amd64 = -m644898 TEMPLATE_VBOXR0DRV_LDFLAGS.x86 = -m324899 TEMPLATE_VBOXR0DRV_LIBS = kmodc++ kmod cc_kext cpp_kext $(VBOX_GCC_LIBGCC)4900 4904 endif 4901 4905 endif
Note:
See TracChangeset
for help on using the changeset viewer.

