PKGNAME=ppsspp
PKGSEC=games
PKGDEP="ffmpeg glew libpng libuv miniupnpc sdl2 sdl2-ttf snappy"
BUILDDEP="glu llvm"
PKGDES="Emulator for PlayStation® Portable (PSP)"

CMAKE_AFTER=(
    '-DBUILD_EXTERNAL=OFF'
    # Note: Pointless.
    '-DBUILD_SHARED_LIBS=OFF'
    '-DBUILD_TESTING=OFF'
    '-DENABLE_CTEST=OFF'
    '-DENABLE_EXCEPTIONS=OFF'
    '-DENABLE_GLSLANG_BINARIES=OFF'
    '-DENABLE_GLSLANG_JS=OFF'
    '-DENABLE_HLSL=ON'
    '-DENABLE_OPT=ON'
    '-DENABLE_PCH=ON'
    '-DENABLE_RTTI=OFF'
    '-DENABLE_SPVREMAPPER=OFF'
    '-DGOLD=OFF'
    '-DHEADLESS=OFF'
    '-DLIBRETRO=OFF'
    '-DMOBILE_DEVICE=OFF'
    '-DSIMULATOR=OFF'
    '-DSKIP_GLSLANG_INSTALL=ON'
    '-DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=OFF'
    '-DUNITTEST=OFF'
    '-DUSE_ASAN=OFF'
    '-DUSE_CCACHE=OFF'
    '-DUSE_DISCORD=ON'
    '-DUSE_FFMPEG=ON'
    '-DUSE_IAP=OFF'
    '-DUSE_LIBNX=OFF'
    '-DUSE_MINIUPNPC=ON'
    '-DUSE_NO_MMAP=OFF'
    '-DUSE_SYSTEM_FFMPEG=ON'
    '-DUSE_SYSTEM_LIBPNG=ON'
    '-DUSE_SYSTEM_LIBSDL2=ON'
    # FIXME: Enabling system libzip causes games to fail to install and
    # launch from the built-in homebrew store.
    '-DUSE_SYSTEM_LIBZIP=OFF'
    '-DUSE_SYSTEM_MINIUPNPC=ON'
    '-DUSE_SYSTEM_SNAPPY=ON'
    '-DUSE_SYSTEM_ZSTD=ON'
    '-DUSE_UBSAN=OFF'
    # Note: Experimental.
    '-DUSE_VULKAN_DISPLAY_KHR=OFF'
    '-DUSE_WAYLAND_WSI=ON'
    '-DUSING_EGL=ON'
    '-DUSING_FBDEV=ON'
    '-DUSING_GLES2=ON'
    '-DUSING_QT_UI=OFF'
    '-DUSING_X11_VULKAN=ON'
    '-DZLIB_BUILD_EXAMPLES=OFF'
)
CMAKE_AFTER__AMD64=(
    "${CMAKE_AFTER[@]}"
    '-DX86_64=ON'
)
CMAKE_AFTER__ARM64=(
    "${CMAKE_AFTER[@]}"
    '-DARM=ON'
)
CMAKE_AFTER__LOONGARCH64=(
    "${CMAKE_AFTER[@]}"
    '-DLOONGARCH64=ON'
)
CMAKE_AFTER__LOONGARCH64_NOSIMD=(
    "${CMAKE_AFTER[@]}"
    '-DLOONGARCH64=OFF'
)
CMAKE_AFTER__RISCV64=(
    "${CMAKE_AFTER[@]}"
    '-DRISCV64=ON'
)

AB_FLAGS_O3=1

# FIXME: No or broken support for these architectures.
FAIL_ARCH="@(loongson3|ppc64el)"
