diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 542cd90..d7fcc73 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,6 +29,10 @@ include: - project: 'libretro-infrastructure/ci-templates' file: '/linux-i686.yml' + # MacOS ARM 64-bit + - project: 'libretro-infrastructure/ci-templates' + file: '/osx-arm64.yml' + # MacOS 64-bit - project: 'libretro-infrastructure/ci-templates' file: '/osx-x64.yml' @@ -103,6 +107,12 @@ libretro-build-osx-x64: extends: - .libretro-osx-x64-make-default - .core-defs + +# MacOS ARM 64-bit +libretro-build-osx-arm64: + extends: + - .libretro-osx-arm64-make-default + - .core-defs ################################### CELLULAR ################################# # Android ARMv7a diff --git a/Makefile b/Makefile index ca284bb..d8e4b9a 100644 --- a/Makefile +++ b/Makefile @@ -83,11 +83,21 @@ else ifeq ($(platform), osx) fpic := -fPIC SHARED := -dynamiclib OSXVER = `sw_vers -productVersion | cut -d. -f 2` + CFLAGS += -DHAVE_POSIX_MEMALIGN OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` ifeq ($(OSX_LT_MAVERICKS),"YES") fpic += -mmacosx-version-min=10.5 endif + ifeq ($(CROSS_COMPILE),1) + TARGET_RULE = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT) + CFLAGS += $(TARGET_RULE) + CPPFLAGS += $(TARGET_RULE) + CXXFLAGS += $(TARGET_RULE) + LDFLAGS += $(TARGET_RULE) + endif + + # iOS else ifneq (,$(findstring ios,$(platform))) @@ -102,9 +112,11 @@ else ifneq (,$(findstring ios,$(platform))) ifeq ($(platform),$(filter $(platform),ios-arm64)) CC = cc -arch arm64 -isysroot $(IOSSDK) + CC_AS = cc -arch arm64 -isysroot $(IOSSDK) CXX = c++ -arch arm64 -isysroot $(IOSSDK) else CC = cc -arch armv7 -isysroot $(IOSSDK) + CC_AS = cc -arch armv7 -isysroot $(IOSSDK) CXX = c++ -arch armv7 -isysroot $(IOSSDK) endif diff --git a/libretro/libretro-common/libco/aarch64.c b/libretro/libretro-common/libco/aarch64.c index b9781e3..eef31a3 100644 --- a/libretro/libretro-common/libco/aarch64.c +++ b/libretro/libretro-common/libco/aarch64.c @@ -11,7 +11,7 @@ #include #include -#ifndef IOS +#ifndef __APPLE__ #include #endif