- Timestamp:
- May 12, 2016 8:45:20 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r60959 r60968 1410 1410 VBOX_GCC_TOOL := GXX3OMF 1411 1411 else ifeq ($(KBUILD_TARGET),darwin) 1412 VBOX_GCC_TOOL := GXX4MACHO 1412 ifdef VBOX_WITH_NEW_XCODE 1413 VBOX_GCC_TOOL := VBoxXcode62 1414 else 1415 VBOX_GCC_TOOL := GXX4MACHO 1416 endif 1413 1417 else ifeq ($(KBUILD_TARGET),haiku) 1414 1418 # Haiku shouldn't pass '-r' to the linker by default … … 2040 2044 2041 2045 ifdef VBOX_WITH_NEW_XCODE 2042 # Check for the Xcode 6.2 bits in tools/darwin.amd64. 2043 if !defined(VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL) \ 2044 && !defined(VBOX_XCODE_VERSION) \ 2045 && exists "$(KBUILD_DEVTOOLS)/darwin.amd64/xcode/v6.2" 2046 VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL := 1 2047 VBOX_PATH_MACOSX_DEVEL_ROOT := $(KBUILD_DEVTOOLS)/darwin.amd64/xcode/v6.2/x.app/Contents/Developer 2048 VBOX_XCODE_VERSION := 6.2 2049 endif 2046 # Use the tool path of the compiler (it's clang, not gcc in this instance). 2047 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 2048 VBOX_PATH_MACOSX_DEVEL_ROOT := $(PATH_TOOL_$(VBOX_GCC_TOOL)) 2050 2049 else 2051 2050 # Check for the Xcode 4.1 bits in tools/darwin.x86. … … 2066 2065 ifndef VBOX_PATH_MACOSX_SDK_ROOT 2067 2066 VBOX_PATH_MACOSX_SDK_ROOT := $(firstword $(wildcard \ 2068 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Platforms/MacOSX.platform/Developer/SDKs/.\2069 2070 2071 2067 $(PATH_TOOL_$(VBOX_GCC_TOOL)_SDKS) \ 2068 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs/. \ 2069 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/. \ 2070 /Developer/SDKs/. )) 2072 2071 endif 2073 2072 ifndef VBOX_PATH_MACOSX_TOOLCHAIN_ROOT 2074 2073 VBOX_PATH_MACOSX_TOOLCHAIN_ROOT := $(firstword $(wildcard \ 2074 $(PATH_TOOL_$(VBOX_GCC_TOOL)_TOOLCHAIN) \ 2075 2075 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Library/Developer/CommandLineTools/. \ 2076 2076 $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Toolchains/XcodeDefault.xctoolchain/. \ … … 2148 2148 endif 2149 2149 endif 2150 if $(VBOX_XCODE_VERSION_MAJOR) >= 5 2151 # temp hack. 2152 TOOL_GXX4MACHO_CC = $(TOOL_GXX4MACHO_PREFIX)clang$(TOOL_GXX4MACHO_SUFFIX) 2153 TOOL_GXX4MACHO_CXX = $(TOOL_GXX4MACHO_PREFIX)clang++$(TOOL_GXX4MACHO_SUFFIX) 2154 TOOL_GXX4MACHO_OBJC = $(TOOL_GXX4MACHO_PREFIX)clang$(TOOL_GXX4MACHO_SUFFIX) 2155 TOOL_GXX4MACHO_OBJCXX = $(TOOL_GXX4MACHO_PREFIX)clang$(TOOL_GXX4MACHO_SUFFIX) 2156 TOOL_GXX4MACHO_AS = $(TOOL_GXX4MACHO_PREFIX)clang$(TOOL_GXX4MACHO_SUFFIX) 2157 TOOL_GXX4MACHO_LD = $(TOOL_GXX4MACHO_PREFIX)clang++$(TOOL_GXX4MACHO_SUFFIX) 2158 TOOL_GXX4MACHO_LD_SYSMOD = $(TOOL_GXX4MACHO_PREFIX)clang++$(TOOL_GXX4MACHO_SUFFIX) 2159 TOOL_GXX4MACHO_PREFIX := 2160 TOOL_GXX4MACHO_SUFFIX := 2150 ifdef VBOX_WITH_NEW_XCODE 2151 override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/gcc" 2152 export PATH:=$(VBOX_PATH_MACOSX_SDK)/usr/bin:$(PATH) 2161 2153 else 2162 2154 if $(VBOX_XCODE_VERSION_MAJOR) > 4 || ($(VBOX_XCODE_VERSION_MAJOR) == 4 && $(VBOX_XCODE_VERSION_MINOR) >= 2) … … 2166 2158 TOOL_GXX4MACHO_SUFFIX ?= -4.2 2167 2159 endif 2168 endif 2169 VBOX_DARWIN_NO_COMPACT_LINKEDIT ?= 2170 2171 TOOL_GCC4MACHO_SUFFIX ?= $(TOOL_GXX4MACHO_SUFFIX)$(HOSTSUFF_EXE) 2172 TOOL_GCC4MACHO_PREFIX ?= $(TOOL_GXX4MACHO_PREFIX) 2173 ifdef VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL 2174 TOOL_GCC4MACHO_PREFIX := $(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin/$(TOOL_GCC4MACHO_PREFIX) 2175 TOOL_GXX4MACHO_PREFIX := $(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin/$(TOOL_GXX4MACHO_PREFIX) 2176 TOOL_GCC4MACHO_SUFFIX := $(TOOL_GCC4MACHO_SUFFIX) -isysroot $(VBOX_PATH_MACOSX_SDK) 2177 TOOL_GXX4MACHO_SUFFIX := $(TOOL_GXX4MACHO_SUFFIX) -isysroot $(VBOX_PATH_MACOSX_SDK) 2178 ifndef SVN # must expand first so we won't be using old svn. 2179 SVN := $(firstword $(which svn) svn) 2180 endif 2181 if $(VBOX_XCODE_VERSION_MAJOR) > 4 || ($(VBOX_XCODE_VERSION_MAJOR) == 4 && $(VBOX_XCODE_VERSION_MINOR) >= 2) 2182 export PATH:=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/:$(VBOX_PATH_MACOSX_SDK)/usr/bin:$(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin:$(PATH) 2183 export DEVELOPER_DIR:=$(VBOX_PATH_MACOSX_DEVEL_ROOT) 2184 else 2185 export PATH:=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/:$(PATH) 2186 endif 2187 TOOL_GXX32_CC = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) -m32 2188 TOOL_GXX32_CXX = $(TOOL_GCC4MACHO_PREFIX)g++$(TOOL_GCC4MACHO_SUFFIX) -m32 2189 TOOL_GXX32_LD = $(TOOL_GXX32_CXX) 2190 if $(VBOX_XCODE_VERSION_MAJOR) >= 5 2191 # override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(TOOL_GCC4MACHO_PREFIX)cpp" - busted, pray the default /usr/bin/ stuff works! 2192 else 2160 VBOX_DARWIN_NO_COMPACT_LINKEDIT ?= 2161 2162 TOOL_GCC4MACHO_SUFFIX ?= $(TOOL_GXX4MACHO_SUFFIX)$(HOSTSUFF_EXE) 2163 TOOL_GCC4MACHO_PREFIX ?= $(TOOL_GXX4MACHO_PREFIX) 2164 if defined(VBOX_WITH_MACOSX_COMPILERS_FROM_DEVEL) 2165 TOOL_GCC4MACHO_PREFIX := $(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin/$(TOOL_GCC4MACHO_PREFIX) 2166 TOOL_GXX4MACHO_PREFIX := $(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin/$(TOOL_GXX4MACHO_PREFIX) 2167 TOOL_GCC4MACHO_SUFFIX := $(TOOL_GCC4MACHO_SUFFIX) -isysroot $(VBOX_PATH_MACOSX_SDK) 2168 TOOL_GXX4MACHO_SUFFIX := $(TOOL_GXX4MACHO_SUFFIX) -isysroot $(VBOX_PATH_MACOSX_SDK) 2169 ifndef SVN # must expand first so we won't be using old svn. 2170 SVN := $(firstword $(which svn) svn) 2171 endif 2172 if $(VBOX_XCODE_VERSION_MAJOR) > 4 || ($(VBOX_XCODE_VERSION_MAJOR) == 4 && $(VBOX_XCODE_VERSION_MINOR) >= 2) 2173 export PATH:=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/:$(VBOX_PATH_MACOSX_SDK)/usr/bin:$(VBOX_PATH_MACOSX_TOOLCHAIN_ROOT)/usr/bin:$(PATH) 2174 export DEVELOPER_DIR:=$(VBOX_PATH_MACOSX_DEVEL_ROOT) 2175 else 2176 export PATH:=$(VBOX_PATH_MACOSX_DEVEL_ROOT)/usr/bin/:$(PATH) 2177 endif 2178 TOOL_GXX32_CC = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) -m32 2179 TOOL_GXX32_CXX = $(TOOL_GCC4MACHO_PREFIX)g++$(TOOL_GCC4MACHO_SUFFIX) -m32 2180 TOOL_GXX32_LD = $(TOOL_GXX32_CXX) 2193 2181 override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(TOOL_GCC4MACHO_PREFIX)cpp-4.2" 2194 2182 endif 2195 endif2196 if $(VBOX_XCODE_VERSION_MAJOR) < 52197 ## @todo WTF do we do the -m32/64 stuff here for these compilers? Also the visibility should be elsewhere...2198 TOOL_GXX4MACHO_OBJC = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden2199 TOOL_GXX4MACHO_OBJCXX = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden -fvisibility-inlines-hidden2183 if $(VBOX_XCODE_VERSION_MAJOR) < 5 2184 ## @todo WTF do we do the -m32/64 stuff here for these compilers? Also the visibility should be elsewhere... 2185 TOOL_GXX4MACHO_OBJC = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden 2186 TOOL_GXX4MACHO_OBJCXX = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden -fvisibility-inlines-hidden 2187 endif 2200 2188 endif 2201 2189 … … 2427 2415 # Note! Changes in GCC are not detected automatically (yet). 2428 2416 # 2429 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk 2417 if $(pos VBox,$(VBOX_GCC_TOOL)) > 0 2418 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk 2419 else 2420 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk 2421 endif 2430 2422 ifneq ($(VBOX_GCC_TOOL),$(VBOX_GCC32_TOOL)) 2431 include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk 2423 if $(pos VBox,$(VBOX_GCC32_TOOL)) > 0 2424 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC32_TOOL).kmk 2425 else 2426 include $(KBUILD_PATH)/tools/$(VBOX_GCC32_TOOL).kmk 2427 endif 2432 2428 endif 2433 2429 … … 3662 3658 3663 3659 ifeq ($(VBOX_LDR_FMT32),macho) 3664 TEMPLATE_VBoxRc_TOOL = GXX4MACHO3660 TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC_TOOL) 3665 3661 TEMPLATE_VBoxRc_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 3666 3662 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 … … 3813 3809 3814 3810 ifeq ($(VBOX_LDR_FMT),macho) 3815 TEMPLATE_VBoxR0_TOOL = GXX4MACHO3811 TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL) 3816 3812 TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 3817 3813 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) \ … … 3918 3914 3919 3915 ifeq ($(KBUILD_TARGET),darwin) 3920 TEMPLATE_VBOXR0DRV_TOOL = GXX4MACHO3916 TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) 3921 3917 TEMPLATE_VBOXR0DRV_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) KERNEL KERNEL_PRIVATE DRIVER_PRIVATE APPLE NeXT 3922 3918 ifdef VBOX_WITH_NEW_XCODE # Note xcode uses -fstrict-aliasing, we currently don't dare... We also add -mno-red-zone. … … 4282 4278 TEMPLATE_VBOXR3EXE_LIBS = socket iconv 4283 4279 else ifeq ($(KBUILD_TARGET),darwin) 4284 TEMPLATE_VBOXR3EXE_TOOL = GXX4MACHO4280 TEMPLATE_VBOXR3EXE_TOOL = $(VBOX_GCC_TOOL) 4285 4281 TEMPLATE_VBOXR3EXE_LIBS = 4286 4282 TEMPLATE_VBOXR3EXE_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS) … … 5030 5026 TEMPLATE_VBOXMAINEXE_LIBS = $(LIB_RUNTIME) 5031 5027 else ifeq ($(KBUILD_TARGET),darwin) 5032 TEMPLATE_VBOXMAINEXE_TOOL = GXX4MACHO5028 TEMPLATE_VBOXMAINEXE_TOOL = $(VBOX_GCC_TOOL) 5033 5029 TEMPLATE_VBOXMAINEXE_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS) 5034 5030 TEMPLATE_VBOXMAINEXE_CFLAGS += $(VBOX_DARWIN_DEF_SDK_CFLAGS) … … 5751 5747 TEMPLATE_VBoxBldProg_LIBS = socket iconv 5752 5748 else ifeq ($(KBUILD_HOST),darwin) 5753 TEMPLATE_VBoxBldProg_TOOL = GXX4MACHO5749 TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) 5754 5750 if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7" 5755 5751 TEMPLATE_VBoxBldProg_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_10_7_DEFS)
Note:
See TracChangeset
for help on using the changeset viewer.