Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libretro: fix gitlab CI #1044

Merged
merged 1 commit into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 36 additions & 22 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,50 +76,64 @@ libretro-build-linux-x64:
extends:
- .libretro-linux-x64-make-default
- .core-defs
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest
before_script:
- export NUMPROC=$(($(nproc)/5))
- sudo apt-get update -qy
- sudo apt-get install -qy software-properties-common
- sudo add-apt-repository -y ppa:savoury1/build-tools
- sudo add-apt-repository -y ppa:savoury1/gcc-defaults-12
- sudo apt-get update -qy
- sudo apt-get install -qy gcc-12 g++-12
# This container's existing installations of gcc and CMake are way too old
variables:
CC: /usr/bin/gcc-12
CXX: /usr/bin/g++-12
CXXFLAGS: -Wno-deprecated-declarations # Deprecation warnings aren't helpful on the libretro Gitlab

# MacOS 64-bit
libretro-build-osx-x64:
tags:
- mac-apple-silicon
extends:
- .libretro-osx-x64-make-default
- .core-defs

# MacOS ARM 64-bit
libretro-build-osx-arm64:
tags:
- mac-apple-silicon
extends:
- .libretro-osx-arm64-make-default
- .core-defs

################################### CELLULAR #################################
# Android ARMv7a
android-armeabi-v7a:
extends:
- .libretro-android-jni-armeabi-v7a
- .core-defs
# android-armeabi-v7a:
# extends:
# - .libretro-android-jni-armeabi-v7a
# - .core-defs

# Android ARMv8a
android-arm64-v8a:
extends:
- .libretro-android-jni-arm64-v8a
- .core-defs
# android-arm64-v8a:
# extends:
# - .libretro-android-jni-arm64-v8a
# - .core-defs

# Android 64-bit x86
android-x86_64:
extends:
- .libretro-android-jni-x86_64
- .core-defs
# android-x86_64:
# extends:
# - .libretro-android-jni-x86_64
# - .core-defs

# iOS
libretro-build-ios-arm64:
tags:
- mac-apple-silicon
extends:
- .libretro-ios-arm64-make-default
- .core-defs

# iOS (armv7) [iOS 9 and up]
libretro-build-ios9:
extends:
- .libretro-ios9-make-default
- .core-defs

# tvOS
libretro-build-tvos-arm64:
extends:
Expand All @@ -128,7 +142,7 @@ libretro-build-tvos-arm64:

################################### CONSOLES #################################
# Nintendo Switch
libretro-build-libnx-aarch64:
extends:
- .libretro-libnx-static-retroarch-master
- .core-defs
# libretro-build-libnx-aarch64:
# extends:
# - .libretro-libnx-static-retroarch-master
# - .core-defs
42 changes: 7 additions & 35 deletions src/os/libretro/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,6 @@ ifneq (,$(findstring unix,$(platform)))
ifeq ($(GPP_MAJOR),)
$(error Unable to determine $(CXX) version)
endif
ifeq "$(shell [ $(GPP_MAJOR) -lt 10 ]; echo $$?)" "0"
CXXFLAGS := $(subst -std=c++20,-std=c++2a,$(CXXFLAGS))
endif
CXXFLAGS += $(LTO)
LDFLAGS += $(LTO) $(PTHREAD_FLAGS) $(call GET_STATIC_ARG,libgcc) $(call GET_STATIC_ARG,libstdc++)
TARGET := $(TARGET_NAME)_libretro.so
Expand All @@ -88,13 +85,6 @@ ifneq (,$(findstring unix,$(platform)))

# OS X
else ifeq ($(platform), osx)
XCODE_MAJOR := $(shell xcodebuild -version | grep -oE 'Xcode ([0-9]+)' | cut -d ' ' -f 2)
ifeq ($(XCODE_MAJOR),)
$(error Unable to determine Xcode version)
endif
ifeq "$(shell [ $(XCODE_MAJOR) -lt 14 ]; echo $$?)" "0"
CXXFLAGS := $(subst -std=c++20,-std=c++2a,$(CXXFLAGS))
endif
CXXFLAGS += $(LTO) -stdlib=libc++
LDFLAGS += $(LTO) $(PTHREAD_FLAGS) -stdlib=libc++
TARGET := $(TARGET_NAME)_libretro.dylib
Expand All @@ -108,35 +98,24 @@ else ifeq ($(platform), osx)
ifeq ($(arch),ppc)
CXXFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
endif
OSXVER = $(shell sw_vers -productVersion | cut -d. -f 2)
OSX_GT_MOJAVE = $(shell (( $(OSXVER) >= 14)) && echo "YES")
ifneq ($(OSX_GT_MOJAVE),YES)
#this breaks compiling on Mac OS Mojave
MINVERSION = -mmacosx-version-min=10.7
endif
fpic += $(MINVERSION)

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)
TARGET_RULE = -target $(LIBRETRO_APPLE_PLATFORM)
else
TARGET_RULE = -target x86_64-apple-macos10.13
endif
CFLAGS += $(TARGET_RULE)
CPPFLAGS += $(TARGET_RULE)
CXXFLAGS += $(TARGET_RULE)
LDFLAGS += $(TARGET_RULE)

CFLAGS += $(ARCHFLAGS)
CXXFLAGS += $(ARCHFLAGS)
LDFLAGS += $(ARCHFLAGS)

# iOS
else ifneq (,$(findstring ios,$(platform)))
XCODE_MAJOR := $(shell xcodebuild -version | grep -oE 'Xcode ([0-9]+)' | cut -d ' ' -f 2)
ifeq ($(XCODE_MAJOR),)
$(error Unable to determine Xcode version)
endif
ifeq "$(shell [ $(XCODE_MAJOR) -lt 14 ]; echo $$?)" "0"
CXXFLAGS := $(subst -std=c++20,-std=c++2a,$(CXXFLAGS))
endif
CXXFLAGS += $(LTO) -stdlib=libc++
LDFLAGS += $(LTO) $(PTHREAD_FLAGS) -stdlib=libc++
TARGET := $(TARGET_NAME)_libretro_ios.dylib
Expand All @@ -163,13 +142,6 @@ else ifneq (,$(findstring ios,$(platform)))

# tvOS
else ifeq ($(platform), tvos-arm64)
XCODE_MAJOR := $(shell xcodebuild -version | grep -oE 'Xcode ([0-9]+)' | cut -d ' ' -f 2)
ifeq ($(XCODE_MAJOR),)
$(error Unable to determine Xcode version)
endif
ifeq "$(shell [ $(XCODE_MAJOR) -lt 14 ]; echo $$?)" "0"
CXXFLAGS := $(subst -std=c++20,-std=c++2a,$(CXXFLAGS))
endif
CXXFLAGS += $(LTO) $(PTHREAD_FLAGS) -stdlib=libc++
LDFLAGS += $(LTO) $(PTHREAD_FLAGS) -stdlib=libc++
TARGET := $(TARGET_NAME)_libretro_tvos.dylib
Expand Down
Loading