Compile video and audio filters as ARM64 architecture

This commit is contained in:
twinaphex 2021-02-22 08:11:50 +01:00
parent 19b9fa9dcd
commit 6bba672d60
3 changed files with 106 additions and 13 deletions

View File

@ -325,7 +325,7 @@ build-retroarch-osx-x64:
script:
# Build RetroArch
- ./configure --disable-al
- make V=1 -j$NUMPROC
- make -j$NUMPROC
# Build filters
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
@ -374,7 +374,7 @@ build-retroarch-osx-x64-metal:
script:
# Build RetroArch
- ./configure --enable-metal --disable-al --enable-coreaudio3
- make V=1 -j$NUMPROC
- make -j$NUMPROC
# Build filters
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
@ -425,10 +425,10 @@ build-retroarch-osx-arm64-metal:
script:
# Build RetroArch
- ./configure --enable-metal --disable-al --enable-coreaudio3
- make ARCH=arm64 BUILDBOT=1 V=1 -j$NUMPROC
- make ARCH=arm64 BUILDBOT=1 -j$NUMPROC
# Build filters
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && cd ../../.."
- "cd gfx/video_filters && make -j$NUMPROC build=release && cd ../.."
- "cd libretro-common/audio/dsp_filters && make ARCH=arm64 BUILDBOT=1 -j$NUMPROC build=release && cd ../../.."
- "cd gfx/video_filters && make ARCH=arm64 BUILDBOT=1 -j$NUMPROC build=release && cd ../.."
# Create app directory
- rm -rvf "RetroArch.app/"
- mkdir -vp "RetroArch.app/Contents/MacOS"

View File

@ -50,6 +50,45 @@ else ifeq ($(platform), osx)
compiler := $(CC)
DYLIB = dylib
ldflags := -dynamiclib
ARCHFLAGS=
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
MINVERFLAGS = -mmacosx-version-min=10.5 # macOSX (PowerPC 32-bit)
else ifeq ($(shell uname -m),i386)
MINVERFLAGS = -mmacosx-version-min=10.6 # macOSX (OpenGL, x86 32bit)
else
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)
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)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++
else
MINVERFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++
endif
ARCHFLAGS = -arch x86_64
else ifeq ($(ARCH),x86)
MINVERFLAGS = -mmacosx-version-min=10.6
ARCHFLAGS = -arch x86
else ifeq ($(ARCH),ppc)
MINVERFLAGS = -mmacosx-version-min=10.5
ARCHFLAGS = -arch ppc
endif
ifeq ($(BUILDBOT),1)
ARCHFLAGS = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT)
endif
extraflags += $(MINVERFLAGS) $(ARCHFLAGS)
ldflags += $(MINVERFLAGS) $(ARCHFLAGS)
else
extra_flags += -static-libgcc -static-libstdc++
DYLIB = dll
@ -67,14 +106,29 @@ ASMFLAGS := -INEON/asm
asflags += -mfpu=neon
endif
objects += blargg_ntsc_snes.$(DYLIB) phosphor2x.$(DYLIB) epx.$(DYLIB) lq2x.$(DYLIB) \
2xsai.$(DYLIB) super2xsai.$(DYLIB) supereagle.$(DYLIB) 2xbr.$(DYLIB) \
darken.$(DYLIB) scale2x.$(DYLIB) normal2x.$(DYLIB) \
normal2x_width.$(DYLIB) normal2x_height.$(DYLIB) normal4x.$(DYLIB) \
scanline2x.$(DYLIB) grid2x.$(DYLIB) grid3x.$(DYLIB) \
gameboy3x.$(DYLIB) gameboy4x.$(DYLIB) \
dot_matrix_3x.$(DYLIB) dot_matrix_4x.$(DYLIB) \
upscale_1_5x.$(DYLIB) upscale_256x_320x240.$(DYLIB)
objects += blargg_ntsc_snes.$(DYLIB) \
phosphor2x.$(DYLIB) \
epx.$(DYLIB) \
lq2x.$(DYLIB) \
2xsai.$(DYLIB) \
super2xsai.$(DYLIB) \
supereagle.$(DYLIB) \
2xbr.$(DYLIB) \
darken.$(DYLIB) \
scale2x.$(DYLIB) \
normal2x.$(DYLIB) \
normal2x_width.$(DYLIB) \
normal2x_height.$(DYLIB) \
normal4x.$(DYLIB) \
scanline2x.$(DYLIB) \
grid2x.$(DYLIB) \
grid3x.$(DYLIB) \
gameboy3x.$(DYLIB) \
gameboy4x.$(DYLIB) \
dot_matrix_3x.$(DYLIB) \
dot_matrix_4x.$(DYLIB) \
upscale_1_5x.$(DYLIB) \
upscale_256x_320x240.$(DYLIB)
all: build;

View File

@ -50,6 +50,45 @@ else ifeq ($(platform), osx)
compiler := $(CC)
DYLIB = dylib
ldflags := -dynamiclib
ARCHFLAGS=
MINVERFLAGS=
ifeq ($(shell uname -p),arm)
MINVERFLAGS = -mmacosx-version-min=10.15 -stdlib=libc++ # macOS (Metal, ARM 64bit)
MINVERFLAGS += -DDONT_WANT_ARM_OPTIMIZATIONS
else ifeq ($(HAVE_METAL),1)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++ # macOS (Metal, x86 64bit)
else ifeq ($(shell uname -p),powerpc)
MINVERFLAGS = -mmacosx-version-min=10.5 # macOSX (PowerPC 32-bit)
else ifeq ($(shell uname -m),i386)
MINVERFLAGS = -mmacosx-version-min=10.6 # macOSX (OpenGL, x86 32bit)
else
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)
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)
MINVERFLAGS = -mmacosx-version-min=10.13 -stdlib=libc++
else
MINVERFLAGS = -mmacosx-version-min=10.7 -stdlib=libc++
endif
ARCHFLAGS = -arch x86_64
else ifeq ($(ARCH),x86)
MINVERFLAGS = -mmacosx-version-min=10.6
ARCHFLAGS = -arch x86
else ifeq ($(ARCH),ppc)
MINVERFLAGS = -mmacosx-version-min=10.5
ARCHFLAGS = -arch ppc
endif
ifeq ($(BUILDBOT),1)
ARCHFLAGS = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT)
endif
extraflags += $(MINVERFLAGS) $(ARCHFLAGS)
ldflags += $(MINVERFLAGS) $(ARCHFLAGS)
else
extra_flags += -static-libgcc -static-libstdc++
DYLIB = dll