diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..fc64ff46 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,79 @@ +.core-defs: + variables: + GIT_SUBMODULE_STRATEGY: recursive + JNI_PATH: src/libretro + CORENAME: vbam + +include: + - template: Jobs/Code-Quality.gitlab-ci.yml + - project: 'libretro-infrastructure/ci-templates' + file: '/libnx-static.yml' + - project: 'libretro-infrastructure/ci-templates' + file: '/vita-static.yml' + - project: 'libretro-infrastructure/ci-templates' + file: '/linux-x64.yml' + - project: 'libretro-infrastructure/ci-templates' + file: '/windows-x64-mingw.yml' + - project: 'libretro-infrastructure/ci-templates' + file: '/android-jni.yml' + +stages: + - build-prepare + - build-shared + - build-static + - test + +#Desktop +libretro-build-linux-x64: + extends: + - .core-defs + - .libretro-linux-x64-make-default + variables: + MAKEFILE_PATH: src/libretro + MAKEFILE: Makefile + +libretro-build-windows-x64: + extends: + - .core-defs + - .libretro-windows-x64-mingw-make-default + variables: + MAKEFILE_PATH: src/libretro + MAKEFILE: Makefile + +# Android +android-armeabi-v7a: + extends: + - .core-defs + - .libretro-android-jni-armeabi-v7a + +android-arm64-v8a: + extends: + - .core-defs + - .libretro-android-jni-arm64-v8a + +android-x86_64: + extends: + - .core-defs + - .libretro-android-jni-x86_64 + +android-x86: + extends: + - .core-defs + - .libretro-android-jni-x86 + +# Static +libretro-build-libnx-aarch64: + extends: + - .core-defs + - .libretro-libnx-static-retroarch-master + variables: + MAKEFILE_PATH: src/libretro + MAKEFILE: Makefile + +libretro-build-vita: + extends: + - .core-defs + - .libretro-vita-static-retroarch-master + variables: + MAKEFILE_PATH: src/libretro + MAKEFILE: Makefile diff --git a/src/libretro/Makefile b/src/libretro/Makefile index 08de8f4b..bc90db88 100644 --- a/src/libretro/Makefile +++ b/src/libretro/Makefile @@ -158,6 +158,13 @@ else ifneq (,$(findstring ios,$(platform))) CXX = clang++ -arch armv7 -isysroot $(IOSSDK) endif CFLAGS += -DIOS + ifeq ($(platform), ios-arm64) + CXX = clang++ -arch armv7 -isysroot $(IOSSDK) + CC = clang -arch arm64 -isysroot $(IOSSDK) + else + CC = clang -arch armv7 -isysroot $(IOSSDK) + CXX = clang++ -arch armv7 -isysroot $(IOSSDK) + endif ifeq ($(platform),$(filter $(platform),ios9 ios-arm64)) CC += -miphoneos-version-min=8.0 CXX += -miphoneos-version-min=8.0 @@ -169,6 +176,15 @@ else ifneq (,$(findstring ios,$(platform))) endif TILED_RENDERING=1 +else ifeq ($(platform), tvos-arm64) + TARGET := $(TARGET_NAME)_libretro_tvos.dylib + fpic := -fPIC + SHARED := -dynamiclib -DLSB_FIRST +ifeq ($(IOSSDK),) + IOSSDK := $(shell xcodebuild -version -sdk appletvos Path) +endif + TILED_RENDERING = 1 + # Theos iOS else ifeq ($(platform), theos_ios) DEPLOYMENT_IOSVERSION = 5.0 diff --git a/src/libretro/libretro.cpp b/src/libretro/libretro.cpp index f2a54dbb..5f3bc3a9 100644 --- a/src/libretro/libretro.cpp +++ b/src/libretro/libretro.cpp @@ -38,6 +38,10 @@ #define FRAMERATE (16777216.0 / 280896.0) // 59.73 #define SAMPLERATE 32768.0 +#ifndef VBAM_VERSION +#define VBAM_VERSION "2.1.3" +#endif + static retro_log_printf_t log_cb; static retro_video_refresh_t video_cb; static retro_input_poll_t poll_cb;