VirtualBox

Changeset 60968 in vbox for trunk


Ignore:
Timestamp:
May 12, 2016 8:45:20 PM (9 years ago)
Author:
vboxsync
Message:

Hacked up a VBoxXcode62 kBuild tool to put some of the hacks we have in Config.kmk in the right place.

Location:
trunk
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r60959 r60968  
    14101410  VBOX_GCC_TOOL := GXX3OMF
    14111411 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
    14131417 else ifeq ($(KBUILD_TARGET),haiku)
    14141418  # Haiku shouldn't pass '-r' to the linker by default
     
    20402044
    20412045 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))
    20502049 else
    20512050  # Check for the Xcode 4.1 bits in tools/darwin.x86.
     
    20662065  ifndef VBOX_PATH_MACOSX_SDK_ROOT
    20672066   VBOX_PATH_MACOSX_SDK_ROOT := $(firstword $(wildcard \
    2068                  $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Platforms/MacOSX.platform/Developer/SDKs/. \
    2069                  $(VBOX_PATH_MACOSX_DEVEL_ROOT)/SDKs/. \
    2070                  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/. \
    2071                  /Developer/SDKs/. ))
     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/. ))
    20722071  endif
    20732072  ifndef VBOX_PATH_MACOSX_TOOLCHAIN_ROOT
    20742073   VBOX_PATH_MACOSX_TOOLCHAIN_ROOT := $(firstword $(wildcard \
     2074                $(PATH_TOOL_$(VBOX_GCC_TOOL)_TOOLCHAIN) \
    20752075                $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Library/Developer/CommandLineTools/. \
    20762076                $(VBOX_PATH_MACOSX_DEVEL_ROOT)/Toolchains/XcodeDefault.xctoolchain/. \
     
    21482148  endif
    21492149 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)
    21612153 else
    21622154  if  $(VBOX_XCODE_VERSION_MAJOR) > 4 || ($(VBOX_XCODE_VERSION_MAJOR) == 4 && $(VBOX_XCODE_VERSION_MINOR) >= 2)
     
    21662158   TOOL_GXX4MACHO_SUFFIX ?= -4.2
    21672159  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)
    21932181   override TOOL_StandardDTrace_DTRACE := dtrace "-xcpppath=$(TOOL_GCC4MACHO_PREFIX)cpp-4.2"
    21942182  endif
    2195  endif
    2196  if  $(VBOX_XCODE_VERSION_MAJOR) < 5
    2197   ## @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=hidden
    2199   TOOL_GXX4MACHO_OBJCXX = $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX) $(if-expr $(KBUILD_TARGET_ARCH) == "x86",-m32,-m64) -fvisibility=hidden -fvisibility-inlines-hidden
     2183  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
    22002188 endif
    22012189
     
    24272415# Note! Changes in GCC are not detected automatically (yet).
    24282416#
    2429 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk
     2417if $(pos VBox,$(VBOX_GCC_TOOL)) > 0
     2418 include $(KBUILD_TOOL_PATHS)/$(VBOX_GCC_TOOL).kmk
     2419else
     2420 include $(KBUILD_PATH)/tools/$(VBOX_GCC_TOOL).kmk
     2421endif
    24302422ifneq ($(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
    24322428endif
    24332429
     
    36623658
    36633659 ifeq ($(VBOX_LDR_FMT32),macho)
    3664  TEMPLATE_VBoxRc_TOOL                = GXX4MACHO
     3660 TEMPLATE_VBoxRc_TOOL                = $(VBOX_GCC_TOOL)
    36653661 TEMPLATE_VBoxRc_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
    36663662 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
     
    38133809
    38143810ifeq ($(VBOX_LDR_FMT),macho)
    3815 TEMPLATE_VBoxR0_TOOL                = GXX4MACHO
     3811TEMPLATE_VBoxR0_TOOL                = $(VBOX_GCC_TOOL)
    38163812TEMPLATE_VBoxR0_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
    38173813TEMPLATE_VBoxR0_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
     
    39183914
    39193915ifeq ($(KBUILD_TARGET),darwin)
    3920 TEMPLATE_VBOXR0DRV_TOOL                = GXX4MACHO
     3916TEMPLATE_VBOXR0DRV_TOOL                = $(VBOX_GCC_TOOL)
    39213917TEMPLATE_VBOXR0DRV_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS) KERNEL KERNEL_PRIVATE DRIVER_PRIVATE APPLE NeXT
    39223918 ifdef VBOX_WITH_NEW_XCODE # Note xcode uses -fstrict-aliasing, we currently don't dare... We also add -mno-red-zone.
     
    42824278TEMPLATE_VBOXR3EXE_LIBS                = socket iconv
    42834279 else ifeq ($(KBUILD_TARGET),darwin)
    4284 TEMPLATE_VBOXR3EXE_TOOL                = GXX4MACHO
     4280TEMPLATE_VBOXR3EXE_TOOL                = $(VBOX_GCC_TOOL)
    42854281TEMPLATE_VBOXR3EXE_LIBS                =
    42864282TEMPLATE_VBOXR3EXE_DEFS.darwin         = $(VBOX_DARWIN_DEF_SDK_DEFS)
     
    50305026TEMPLATE_VBOXMAINEXE_LIBS                = $(LIB_RUNTIME)
    50315027 else ifeq ($(KBUILD_TARGET),darwin)
    5032 TEMPLATE_VBOXMAINEXE_TOOL                = GXX4MACHO
     5028TEMPLATE_VBOXMAINEXE_TOOL                = $(VBOX_GCC_TOOL)
    50335029TEMPLATE_VBOXMAINEXE_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
    50345030TEMPLATE_VBOXMAINEXE_CFLAGS             += $(VBOX_DARWIN_DEF_SDK_CFLAGS)
     
    57515747TEMPLATE_VBoxBldProg_LIBS                = socket iconv
    57525748 else ifeq ($(KBUILD_HOST),darwin)
    5753 TEMPLATE_VBoxBldProg_TOOL                = GXX4MACHO
     5749TEMPLATE_VBoxBldProg_TOOL                = $(VBOX_GCC_TOOL)
    57545750  if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7"
    57555751TEMPLATE_VBoxBldProg_DEFS.darwin         = $(VBOX_DARWIN_DEF_SDK_10_7_DEFS)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette