VirtualBox

Changeset 3493 in kBuild


Ignore:
Timestamp:
Dec 23, 2020 7:52:04 PM (4 years ago)
Author:
bird
Message:

Config.kmk: Allow targetting macOS 11.0 and the M1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r3430 r3493  
    289289   if $(KBUILD_TARGET_ARCH) == amd64
    290290     KBUILD_MACOSX_TARGET_VERSION = 6
     291   else if $(KBUILD_TARGET_ARCH) == arm64
     292     KBUILD_MACOSX_TARGET_VERSION      := 0
     293     KBUILD_MACOSX_TARGET_MAJOR_VERSION := 11
    291294   else
    292295     KBUILD_MACOSX_TARGET_VERSION = 5
    293296   endif
    294297  endif
     298  ifndef KBUILD_MACOSX_TARGET_MAJOR_VERSION
     299   KBUILD_MACOSX_TARGET_MAJOR_VERSION := 10
     300  endif
    295301  ifndef KBUILD_MACOSX_WHATEVER_MODE
    296    if $(KBUILD_MACOSX_TARGET_VERSION) <= 4
     302   if $(KBUILD_MACOSX_TARGET_VERSION) <= 4 && $(KBUILD_MACOSX_TARGET_MAJOR_VERSION) == 10
    297303    TOOL_GCC4MACHO_SUFFIX               = -4.0
    298304    TOOL_GXX4MACHO_SUFFIX               = -4.0
    299    else if $(KBUILD_MACOSX_TARGET_VERSION) <= 9 # dunno which exactly.
     305   else if $(KBUILD_MACOSX_TARGET_VERSION) <= 9 && $(KBUILD_MACOSX_TARGET_MAJOR_VERSION) == 10 # dunno which exactly.
    300306    TOOL_GCC4MACHO_SUFFIX               = -4.2
    301307    TOOL_GXX4MACHO_SUFFIX               = -4.2
    302308   endif
    303309   ifndef KBUILD_MACOSX_SDK
    304     KBUILD_MACOSX_SDK            := /Developer/SDKs/MacOSX10.$(KBUILD_MACOSX_TARGET_VERSION)$(if-expr $(KBUILD_MACOSX_TARGET_VERSION)==4,u,).sdk
     310    KBUILD_MACOSX_SDK            := /Developer/SDKs/MacOSX$(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION)$(if-expr $(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION)==10.4,u,).sdk
    305311    ifeq ($(wildcard $(KBUILD_MACOSX_SDK)),)
    306312     KBUILD_MACOSX_SDK           := /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform$(KBUILD_MACOSX_SDK)
    307313    endif
    308314    ifeq ($(wildcard $(KBUILD_MACOSX_SDK)),)
    309      KBUILD_MACOSX_SDK           := /Library/Developer/CommandLineTools/SDKs/MacOSX10.$(KBUILD_MACOSX_TARGET_VERSION)$(if-expr $(KBUILD_MACOSX_TARGET_VERSION)==4,u,).sdk
     315     KBUILD_MACOSX_SDK           := /Library/Developer/CommandLineTools/SDKs/MacOSX$(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION)$(if-expr $(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION)==10.4,u,).sdk
    310316    endif
    311317   endif
     
    315321  endif # !KBUILD_MACOSX_WHATEVER_MODE
    316322  TEMPLATE_BIN_TOOL              = GCC4MACHO
    317   TEMPLATE_BIN_CFLAGS            = -g -mmacosx-version-min=10.$(KBUILD_MACOSX_TARGET_VERSION) $(if $(KBUILD_MACOSX_WHATEVER_MODE),,-isysroot $(KBUILD_MACOSX_SDK))
     323  TEMPLATE_BIN_CFLAGS            = -g -mmacosx-version-min=$(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION) $(if $(KBUILD_MACOSX_WHATEVER_MODE),,-isysroot $(KBUILD_MACOSX_SDK))
    318324  ifeq ($(USER),bird)
    319325   TEMPLATE_BIN_CFLAGS          += -Wall $(GCC_Wextra) -pedantic -Wno-unused-parameter -Wno-long-long -Wshadow
     
    322328  TEMPLATE_BIN_CFLAGS.profile    = -O3 -pg
    323329  TEMPLATE_BIN_CFLAGS.release    = -O3
    324   TEMPLATE_BIN_LDFLAGS           = -g -mmacosx-version-min=10.$(KBUILD_MACOSX_TARGET_VERSION) $(if $(KBUILD_MACOSX_WHATEVER_MODE),,-Wl,-syslibroot,$(KBUILD_MACOSX_SDK))
    325   if $(KBUILD_MACOSX_TARGET_VERSION) == 4 && $(KBUILD_MACOSX_VERSION) >= 5
     330  TEMPLATE_BIN_LDFLAGS           = -g -mmacosx-version-min=$(KBUILD_MACOSX_TARGET_MAJOR_VERSION).$(KBUILD_MACOSX_TARGET_VERSION) $(if $(KBUILD_MACOSX_WHATEVER_MODE),,-Wl,-syslibroot,$(KBUILD_MACOSX_SDK))
     331  if $(KBUILD_MACOSX_TARGET_VERSION) == 4 && $(KBUILD_MACOSX_VERSION) >= 5 && $(KBUILD_MACOSX_TARGET_MAJOR_VERSION) == 10
    326332   TEMPLATE_BIN_LDFLAGS         += -classic_ld
    327333  endif
Note: See TracChangeset for help on using the changeset viewer.

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