diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 403b130e2c..83afa31160 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -448,6 +448,9 @@ build-retroarch-metal-osx-x64: build-retroarch-metal-osx-arm64: tags: - macosx + variables: + LIBRETRO_APPLE_PLATFORM: arm64-apple-macos10.15 + LIBRETRO_APPLE_ISYSROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk stage: build before_script: - export NUMPROC=$((1 + $(sysctl -n hw.ncpu)/3)) @@ -464,7 +467,7 @@ build-retroarch-metal-osx-arm64: script: # Normal RetroArch Metal (ARM64) Build - ./configure --enable-metal --disable-al - - make -j$NUMPROC + - make ARCH=arm64 BUILDBOT=1 -j$NUMPROC # Cleanup for DMG creation - rm -rvf "RetroArch_ARM64.app/" @@ -997,3 +1000,4 @@ trigger_static-cores: script: # Dummy for now - /bin/true + diff --git a/Makefile.common b/Makefile.common index 2afa6cf101..06845539f3 100644 --- a/Makefile.common +++ b/Makefile.common @@ -130,40 +130,45 @@ endif ifneq ($(findstring Darwin,$(OS)),) OSX := 1 LIBS += -framework AppKit - DARWINFLAGS= + ARCHFLAGS= + MINVERFLAGS= ifeq ($(shell uname -p),arm) - DARWINFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit) - DARWINFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS + MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit) + MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS else ifeq ($(HAVE_METAL),1) - DARWINFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit) + MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit) else ifeq ($(shell uname -p),powerpc) - DARWINFLAGS = -mmacosx-version-min=10.5 # macOSX (PowerPC 32-bit) + MINVERFLAGS = -mmacosx-version-min=10.5 # macOSX (PowerPC 32-bit) else ifeq ($(shell uname -m),i386) - DARWINFLAGS = -mmacosx-version-min=10.6 # macOSX (OpenGL, x86 32bit) + MINVERFLAGS = -mmacosx-version-min=10.6 # macOSX (OpenGL, x86 32bit) else - DARWINFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++ # macOSX (OpenGL, x86 64bit) + MINVERFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++ # macOSX (OpenGL, x86 64bit) endif + # Build for a specific architecture when ARCH is defined as a switch ifeq ($(ARCH),arm64) - DARWINFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit) - DARWINFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS - DARWINFLAGS += -arch arm64 + MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit) + MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS + ARCHFLAGS = -arch arm64 else ifeq ($(ARCH),x86_64) ifeq ($(HAVE_METAL),1) - DARWINFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ + MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ else - DARWINFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++ + MINVERFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++ endif - DARWINFLAGS += -arch x86_64 + ARCHFLAGS = -arch x86_64 else ifeq ($(ARCH),x86) - DARWINFLAGS = -mmacosx-version-min=10.6 - DARWINFLAGS += -arch x86 + MINVERFLAGS = -mmacosx-version-min=10.6 + ARCHFLAGS = -arch x86 else ifeq ($(ARCH),ppc) - DARWINFLAGS = -mmacosx-version-min=10.5 - DARWINFLAGS += -arch ppc + MINVERFLAGS = -mmacosx-version-min=10.5 + ARCHFLAGS = -arch ppc endif - DEF_FLAGS += $(DARWINFLAGS) - LDFLAGS += $(DARWINFLAGS) + ifeq ($(BUILDBOT),1) + ARCHFLAGS = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT) + endif + DEF_FLAGS += $(MINVERFLAGS) $(ARCHFLAGS) + LDFLAGS += $(MINVERFLAGS) $(ARCHFLAGS) else OSX := 0 endif @@ -2466,3 +2471,4 @@ ifeq ($(HAVE_ODROIDGO2), 1) endif ################################## +