mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-06 15:08:57 +02:00
bsnes_libretro: bumped to latest upstream (#5870)
* Updated bsnes-libretro to latest upstream * Fixed typo
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
display_name = "Nintendo - SNES / Famicom (bsnes Accuracy)"
|
||||
authors = "byuu"
|
||||
supported_extensions = "sfc|smc|bml"
|
||||
corename = "bsnes/higan Accuracy"
|
||||
manufacturer = "Nintendo"
|
||||
categories = "Emulator"
|
||||
systemname = "Super Nintendo Entertainment System"
|
||||
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
|
||||
license = "GPLv3"
|
||||
permissions = ""
|
||||
display_version = "@DISPLAY_VERSION@ (Accuracy)"
|
||||
supports_no_game = "false"
|
||||
firmware_count = 18
|
||||
firmware0_desc = "dsp1.data.rom"
|
||||
firmware0_path = "dsp1.data.rom"
|
||||
firmware0_opt = "true"
|
||||
firmware1_desc = "dsp1.program.rom"
|
||||
firmware1_path = "dsp1.program.rom"
|
||||
firmware1_opt = "true"
|
||||
firmware2_desc = "dsp1b.data.rom"
|
||||
firmware2_path = "dsp1b.data.rom"
|
||||
firmware2_opt = "true"
|
||||
firmware3_desc = "dsp1b.program.rom"
|
||||
firmware3_path = "dsp1b.program.rom"
|
||||
firmware3_opt = "true"
|
||||
firmware4_desc = "dsp2.data.rom"
|
||||
firmware4_path = "dsp2.data.rom"
|
||||
firmware4_opt = "true"
|
||||
firmware5_desc = "dsp2.program.rom"
|
||||
firmware5_path = "dsp2.program.rom"
|
||||
firmware5_opt = "true"
|
||||
firmware6_desc = "dsp3.data.rom"
|
||||
firmware6_path = "dsp3.data.rom"
|
||||
firmware6_opt = "true"
|
||||
firmware7_desc = "dsp3.program.rom"
|
||||
firmware7_path = "dsp3.program.rom"
|
||||
firmware7_opt = "true"
|
||||
firmware8_desc = "dsp4.data.rom"
|
||||
firmware8_path = "dsp4.data.rom"
|
||||
firmware8_opt = "true"
|
||||
firmware9_desc = "dsp4.program.rom"
|
||||
firmware9_path = "dsp4.program.rom"
|
||||
firmware9_opt = "true"
|
||||
firmware10_desc = "cx4.data.rom"
|
||||
firmware10_path = "cx4.data.rom"
|
||||
firmware10_opt = "true"
|
||||
firmware11_desc = "st010.data.rom"
|
||||
firmware11_path = "st010.data.rom"
|
||||
firmware11_opt = "true"
|
||||
firmware12_desc = "st010.program.rom"
|
||||
firmware12_path = "st010.program.rom"
|
||||
firmware12_opt = "true"
|
||||
firmware13_desc = "st011.data.rom"
|
||||
firmware13_path = "st011.data.rom"
|
||||
firmware13_opt = "true"
|
||||
firmware14_desc = "st011.program.rom"
|
||||
firmware14_path = "st011.program.rom"
|
||||
firmware14_opt = "true"
|
||||
firmware15_desc = "st018.data.rom"
|
||||
firmware15_path = "st018.data.rom"
|
||||
firmware15_opt = "true"
|
||||
firmware16_desc = "st018.program.rom"
|
||||
firmware16_path = "st018.program.rom"
|
||||
firmware16_opt = "true"
|
||||
firmware17_desc = "sgb.boot.rom (SGB Boot Image)"
|
||||
firmware17_path = "sgb.boot.rom"
|
||||
firmware17_opt = "true"
|
||||
notes = "[1] bsnes/higan Accuracy uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[*] Notable Cx4 Games: Mega Man X2, Mega Man X3|[2] SGB Emulation will only work with command line."
|
||||
@@ -1,68 +0,0 @@
|
||||
display_name = "Nintendo - SNES / Famicom (bsnes Balanced)"
|
||||
authors = "byuu"
|
||||
supported_extensions = "sfc|smc|bml"
|
||||
corename = "bsnes/higan Balanced"
|
||||
manufacturer = "Nintendo"
|
||||
categories = "Emulator"
|
||||
systemname = "Super Nintendo Entertainment System"
|
||||
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
|
||||
license = "GPLv3"
|
||||
permissions = ""
|
||||
display_version = "@DISPLAY_VERSION@ (Balanced)"
|
||||
supports_no_game = "false"
|
||||
firmware_count = 18
|
||||
firmware0_desc = "dsp1.data.rom"
|
||||
firmware0_path = "dsp1.data.rom"
|
||||
firmware0_opt = "true"
|
||||
firmware1_desc = "dsp1.program.rom"
|
||||
firmware1_path = "dsp1.program.rom"
|
||||
firmware1_opt = "true"
|
||||
firmware2_desc = "dsp1b.data.rom"
|
||||
firmware2_path = "dsp1b.data.rom"
|
||||
firmware2_opt = "true"
|
||||
firmware3_desc = "dsp1b.program.rom"
|
||||
firmware3_path = "dsp1b.program.rom"
|
||||
firmware3_opt = "true"
|
||||
firmware4_desc = "dsp2.data.rom"
|
||||
firmware4_path = "dsp2.data.rom"
|
||||
firmware4_opt = "true"
|
||||
firmware5_desc = "dsp2.program.rom"
|
||||
firmware5_path = "dsp2.program.rom"
|
||||
firmware5_opt = "true"
|
||||
firmware6_desc = "dsp3.data.rom"
|
||||
firmware6_path = "dsp3.data.rom"
|
||||
firmware6_opt = "true"
|
||||
firmware7_desc = "dsp3.program.rom"
|
||||
firmware7_path = "dsp3.program.rom"
|
||||
firmware7_opt = "true"
|
||||
firmware8_desc = "dsp4.data.rom"
|
||||
firmware8_path = "dsp4.data.rom"
|
||||
firmware8_opt = "true"
|
||||
firmware9_desc = "dsp4.program.rom"
|
||||
firmware9_path = "dsp4.program.rom"
|
||||
firmware9_opt = "true"
|
||||
firmware10_desc = "cx4.data.rom"
|
||||
firmware10_path = "cx4.data.rom"
|
||||
firmware10_opt = "true"
|
||||
firmware11_desc = "st010.data.rom"
|
||||
firmware11_path = "st010.data.rom"
|
||||
firmware11_opt = "true"
|
||||
firmware12_desc = "st010.program.rom"
|
||||
firmware12_path = "st010.program.rom"
|
||||
firmware12_opt = "true"
|
||||
firmware13_desc = "st011.data.rom"
|
||||
firmware13_path = "st011.data.rom"
|
||||
firmware13_opt = "true"
|
||||
firmware14_desc = "st011.program.rom"
|
||||
firmware14_path = "st011.program.rom"
|
||||
firmware14_opt = "true"
|
||||
firmware15_desc = "st018.data.rom"
|
||||
firmware15_path = "st018.data.rom"
|
||||
firmware15_opt = "true"
|
||||
firmware16_desc = "st018.program.rom"
|
||||
firmware16_path = "st018.program.rom"
|
||||
firmware16_opt = "true"
|
||||
firmware17_desc = "sgb.boot.rom (SGB Boot Image)"
|
||||
firmware17_path = "sgb.boot.rom"
|
||||
firmware17_opt = "true"
|
||||
notes = "[1] bsnes/higan Balanced uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[*] Notable Cx4 Games: Mega Man X2, Mega Man X3|[2] SGB Emulation will only work with command line."
|
||||
@@ -0,0 +1,96 @@
|
||||
# Software Information
|
||||
display_name = "Nintendo - SNES / SFC (bsnes)"
|
||||
categories = "Emulator"
|
||||
authors = "Near"
|
||||
corename = "bsnes"
|
||||
supported_extensions = "sfc|smc|gb|gbc|bs"
|
||||
license = "GPLv3"
|
||||
permissions = ""
|
||||
display_version = "@DISPLAY_VERSION@"
|
||||
|
||||
# Hardware Information
|
||||
manufacturer = "Nintendo"
|
||||
systemname = "Super Nintendo Entertainment System"
|
||||
systemid = "super_nes"
|
||||
|
||||
# BIOS / Firmware
|
||||
firmware_count = 20
|
||||
firmware0_desc = "dsp1.data.rom"
|
||||
firmware0_path = "dsp1.data.rom"
|
||||
firmware0_opt = "true"
|
||||
firmware1_desc = "dsp1.program.rom"
|
||||
firmware1_path = "dsp1.program.rom"
|
||||
firmware1_opt = "true"
|
||||
firmware2_desc = "dsp1b.data.rom"
|
||||
firmware2_path = "dsp1b.data.rom"
|
||||
firmware2_opt = "true"
|
||||
firmware3_desc = "dsp1b.program.rom"
|
||||
firmware3_path = "dsp1b.program.rom"
|
||||
firmware3_opt = "true"
|
||||
firmware4_desc = "dsp2.data.rom"
|
||||
firmware4_path = "dsp2.data.rom"
|
||||
firmware4_opt = "true"
|
||||
firmware5_desc = "dsp2.program.rom"
|
||||
firmware5_path = "dsp2.program.rom"
|
||||
firmware5_opt = "true"
|
||||
firmware6_desc = "dsp3.data.rom"
|
||||
firmware6_path = "dsp3.data.rom"
|
||||
firmware6_opt = "true"
|
||||
firmware7_desc = "dsp3.program.rom"
|
||||
firmware7_path = "dsp3.program.rom"
|
||||
firmware7_opt = "true"
|
||||
firmware8_desc = "dsp4.data.rom"
|
||||
firmware8_path = "dsp4.data.rom"
|
||||
firmware8_opt = "true"
|
||||
firmware9_desc = "dsp4.program.rom"
|
||||
firmware9_path = "dsp4.program.rom"
|
||||
firmware9_opt = "true"
|
||||
firmware10_desc = "cx4.data.rom"
|
||||
firmware10_path = "cx4.data.rom"
|
||||
firmware10_opt = "true"
|
||||
firmware11_desc = "st010.data.rom"
|
||||
firmware11_path = "st010.data.rom"
|
||||
firmware11_opt = "true"
|
||||
firmware12_desc = "st010.program.rom"
|
||||
firmware12_path = "st010.program.rom"
|
||||
firmware12_opt = "true"
|
||||
firmware13_desc = "st011.data.rom"
|
||||
firmware13_path = "st011.data.rom"
|
||||
firmware13_opt = "true"
|
||||
firmware14_desc = "st011.program.rom"
|
||||
firmware14_path = "st011.program.rom"
|
||||
firmware14_opt = "true"
|
||||
firmware15_desc = "st018.data.rom"
|
||||
firmware15_path = "st018.data.rom"
|
||||
firmware15_opt = "true"
|
||||
firmware16_desc = "st018.program.rom"
|
||||
firmware16_path = "st018.program.rom"
|
||||
firmware16_opt = "true"
|
||||
firmware17_desc = "SGB1.sfc (SGB Boot Image)"
|
||||
firmware17_path = "SGB1.sfc"
|
||||
firmware17_opt = "true"
|
||||
firmware18_desc = "SGB2.sfc (SGB Boot Image)"
|
||||
firmware18_path = "SGB2.sfc"
|
||||
firmware18_opt = "true"
|
||||
firmware19_desc = "BS-X.bin (BS-X - Sore wa Namae o Nusumareta Machi no Monogatari (Japan) (Rev 1))"
|
||||
firmware19_path = "BS-X.bin"
|
||||
firmware19_opt = "true"
|
||||
notes = "[1] bsnes uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[*] Notable Cx4 Games: Mega Man X2, Mega Man X3|[2] SGB Emulation needs No-Intro Super Game Boy ROMs renamed to SGB1.sfc or SGB2.sfc|(!) SGB1.sfc (md5): b15ddb15721c657d82c5bab6db982ee9|(!) SGB2.sfc (md5): 8ecd73eb4edf7ed7e81aef1be80031d5|[3] To start BS-X games from the RPG-like interface, go back into the house and select the 1st option.|(!) BS-X.bin (md5): fed4d8242cfbed61343d53d48432aced"
|
||||
|
||||
# Libretro Features
|
||||
savestate = "true"
|
||||
savestate_features = "serialized"
|
||||
cheats = "false"
|
||||
input_descriptors = "true"
|
||||
memory_descriptors = "false"
|
||||
libretro_saves = "true"
|
||||
core_options = "true"
|
||||
core_options_version = "1.0"
|
||||
load_subsystem = "true"
|
||||
supports_no_game = "false"
|
||||
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo|Nintendo - Satellaview"
|
||||
hw_render = "false"
|
||||
needs_fullpath = "false"
|
||||
disk_control = "false"
|
||||
|
||||
description = "bsnes libretro core is based on the latest source code from the bsnes emulator, which is known for its high accuracy and faithful reproduction of the SNES/SFC console. In addition to high accuracy, this version also includes a number of enhancements, such as mode 7 upscaling and overclocking for the Super FX add-on chip used in Star Fox and other games. This core is a good option for users on desktop platforms (Windows, Mac and Linux) with a relatively fast CPU. While it lacks support for libretro cheats and retro-achievements, it does have its own runahead implementation that is accessible from the core options. This core is not compatible with compressed save files, so be aware of that if you wish to import saves made by another core."
|
||||
@@ -1,65 +0,0 @@
|
||||
display_name = "Nintendo - SNES / Famicom (bsnes Performance)"
|
||||
authors = "byuu"
|
||||
supported_extensions = "sfc|smc|bml"
|
||||
corename = "bsnes/higan Performance"
|
||||
manufacturer = "Nintendo"
|
||||
categories = "Emulator"
|
||||
systemname = "Super Nintendo Entertainment System"
|
||||
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
|
||||
license = "GPLv3"
|
||||
permissions = ""
|
||||
display_version = "@DISPLAY_VERSION@ (Performance)"
|
||||
supports_no_game = "false"
|
||||
firmware_count = 17
|
||||
firmware0_desc = "dsp1.data.rom"
|
||||
firmware0_path = "dsp1.data.rom"
|
||||
firmware0_opt = "true"
|
||||
firmware1_desc = "dsp1.program.rom"
|
||||
firmware1_path = "dsp1.program.rom"
|
||||
firmware1_opt = "true"
|
||||
firmware2_desc = "dsp1b.data.rom"
|
||||
firmware2_path = "dsp1b.data.rom"
|
||||
firmware2_opt = "true"
|
||||
firmware3_desc = "dsp1b.program.rom"
|
||||
firmware3_path = "dsp1b.program.rom"
|
||||
firmware3_opt = "true"
|
||||
firmware4_desc = "dsp2.data.rom"
|
||||
firmware4_path = "dsp2.data.rom"
|
||||
firmware4_opt = "true"
|
||||
firmware5_desc = "dsp2.program.rom"
|
||||
firmware5_path = "dsp2.program.rom"
|
||||
firmware5_opt = "true"
|
||||
firmware6_desc = "dsp3.data.rom"
|
||||
firmware6_path = "dsp3.data.rom"
|
||||
firmware6_opt = "true"
|
||||
firmware7_desc = "dsp3.program.rom"
|
||||
firmware7_path = "dsp3.program.rom"
|
||||
firmware7_opt = "true"
|
||||
firmware8_desc = "dsp4.data.rom"
|
||||
firmware8_path = "dsp4.data.rom"
|
||||
firmware8_opt = "true"
|
||||
firmware9_desc = "dsp4.program.rom"
|
||||
firmware9_path = "dsp4.program.rom"
|
||||
firmware9_opt = "true"
|
||||
firmware10_desc = "st010.data.rom"
|
||||
firmware10_path = "st010.data.rom"
|
||||
firmware10_opt = "true"
|
||||
firmware11_desc = "st010.program.rom"
|
||||
firmware11_path = "st010.program.rom"
|
||||
firmware11_opt = "true"
|
||||
firmware12_desc = "st011.data.rom"
|
||||
firmware12_path = "st011.data.rom"
|
||||
firmware12_opt = "true"
|
||||
firmware13_desc = "st011.program.rom"
|
||||
firmware13_path = "st011.program.rom"
|
||||
firmware13_opt = "true"
|
||||
firmware14_desc = "st018.data.rom"
|
||||
firmware14_path = "st018.data.rom"
|
||||
firmware14_opt = "true"
|
||||
firmware15_desc = "st018.program.rom"
|
||||
firmware15_path = "st018.program.rom"
|
||||
firmware15_opt = "true"
|
||||
firmware16_desc = "sgb.boot.rom (SGB Boot Image)"
|
||||
firmware16_path = "sgb.boot.rom"
|
||||
firmware16_opt = "true"
|
||||
notes = "[1] bsnes/higan Performance uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[2] Emulation for Cx4 games is broken."
|
||||
@@ -1,63 +0,0 @@
|
||||
SUMMARY="A port of bsnes to the libretro architecture"
|
||||
DESCRIPTION="bsnes is an accurate SNES emulator, but can also emulate the NES, \
|
||||
Game Boy (DMG), Game Boy Color, and Game Boy Advance systems. This package \
|
||||
provides three different profiles: one focuses on accuracy but can be \
|
||||
CPU-intensive, one focuses on speed but is less accurate, and one is \
|
||||
attempting to provide a reasonable balance between the previous two."
|
||||
HOMEPAGE="https://byuu.org/emulation/higan/"
|
||||
COPYRIGHT="2014-2018 byuu, the libretro team"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="3"
|
||||
srcGitRev="4e572a3cfa10e56bedb6737b0494e8165f6490d5"
|
||||
SOURCE_URI="https://github.com/libretro/bsnes-libretro/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="77255571b654ef1b7559608818393dc8377c657dc30aa7d3ec45e40662c99a31"
|
||||
SOURCE_FILENAME="bsnes-libretro-${portVersion/_/-}-$srcGitRev.tar.gz"
|
||||
SOURCE_DIR="bsnes-libretro-$srcGitRev"
|
||||
PATCHES="bsnes_libretro-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="
|
||||
bsnes_accuracy_libretro.info.in
|
||||
bsnes_balanced_libretro.info.in
|
||||
bsnes_performance_libretro.info.in
|
||||
"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
bsnes_libretro$secondaryArchSuffix = $portVersion
|
||||
addon:bsnes_accuracy_libretro$secondaryArchSuffix = $portVersion
|
||||
addon:bsnes_balanced_libretro$secondaryArchSuffix = $portVersion
|
||||
addon:bsnes_performance_libretro$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
retroarch$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
for bsnesProfile in "accuracy" "balanced" "performance"; do
|
||||
sed -e "s/@DISPLAY_VERSION@/v${portVersion/_/-}/" \
|
||||
$portDir/additional-files/bsnes_"$bsnesProfile"_libretro.info.in \
|
||||
> bsnes_"$bsnesProfile"_libretro.info
|
||||
make $jobArgs profile="$bsnesProfile"
|
||||
done
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
install -m 0755 -d "$addOnsDir"/libretro
|
||||
for bsnesProfile in "accuracy" "balanced" "performance"; do
|
||||
install -m 0644 -t "$addOnsDir"/libretro \
|
||||
out/bsnes_"$bsnesProfile"_libretro.so \
|
||||
bsnes_"$bsnesProfile"_libretro.info
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
SUMMARY="A port of bsnes to the libretro architecture"
|
||||
DESCRIPTION="bsnes is an accurate SNES emulator, but can also emulate the NES, \
|
||||
Game Boy (DMG), Game Boy Color, and Game Boy Advance. This is a libretro \
|
||||
core based off the latest version of bsnes, following its complete rewrite \
|
||||
by its original author Near."
|
||||
HOMEPAGE="https://bsnes.dev/"
|
||||
COPYRIGHT="2014-2021 Near, the libretro team"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="3"
|
||||
srcGitRev="10f7e32b79a37f2adc25ede79e9c0438ad5c9e24"
|
||||
SOURCE_URI="https://github.com/libretro/bsnes-libretro/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="a27e37fc7d54d5019763fbf4debb1a044b5292f85d271a14d7bbb71f5ff9da17"
|
||||
SOURCE_FILENAME="bsnes-libretro-${portVersion/_/-}-$srcGitRev.tar.gz"
|
||||
SOURCE_DIR="bsnes-libretro-$srcGitRev"
|
||||
ADDITIONAL_FILES="bsnes_libretro.info.in"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
bsnes_libretro$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
retroarch$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
sed -e "s/@DISPLAY_VERSION@/v${portVersion/_/-}/" $portDir/additional-files/bsnes_libretro.info.in > bsnes_libretro.info
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
install -m 0755 -d "$addOnsDir"/libretro
|
||||
install -m 0644 -t "$addOnsDir"/libretro bsnes_libretro.so bsnes_libretro.info
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
From 14cffc4226e26fae9179841806780800592927d7 Mon Sep 17 00:00:00 2001
|
||||
From: Puck Meerburg <puck@puckipedia.nl>
|
||||
Date: Sat, 17 Jan 2015 19:54:22 +0100
|
||||
Subject: Fix Haiku build
|
||||
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e208c15..073dc3c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -62,6 +62,9 @@ ifeq ($(findstring libretro,$(ui)),)
|
||||
ifeq ($(platform),x)
|
||||
flags += -march=native
|
||||
link += -Wl,-export-dynamic -ldl -lX11 -lXext
|
||||
+ else ifeq ($(platform),haiku)
|
||||
+ flags += -march=native
|
||||
+ link += -Wl,-export-dynamic
|
||||
else ifeq ($(platform),win)
|
||||
ifeq ($(arch),win32)
|
||||
flags += -m32
|
||||
diff --git a/nall/Makefile b/nall/Makefile
|
||||
index 94b58fc..6d7174e 100644
|
||||
--- a/nall/Makefile
|
||||
+++ b/nall/Makefile
|
||||
@@ -22,6 +22,8 @@ ifeq ($(platform),)
|
||||
platform := windows
|
||||
else ifneq ($(findstring Darwin,$(uname)),)
|
||||
platform := osx
|
||||
+ else ifneq ($(findstring Haiku,$(uname)),)
|
||||
+ platform := haiku
|
||||
else
|
||||
platform := unix
|
||||
endif
|
||||
diff --git a/nall/directory.hpp b/nall/directory.hpp
|
||||
index 691b31e..a930191 100644
|
||||
--- a/nall/directory.hpp
|
||||
+++ b/nall/directory.hpp
|
||||
@@ -190,12 +190,18 @@ private:
|
||||
while((ep = readdir(dp))) {
|
||||
if(!strcmp(ep->d_name, ".")) continue;
|
||||
if(!strcmp(ep->d_name, "..")) continue;
|
||||
+#if defined(PLATFORM_HAIKU)
|
||||
+ struct stat sp = {0};
|
||||
+ stat(string{pathname, ep->d_name}, &sp);
|
||||
+ bool is_directory = S_ISDIR(sp.st_mode);
|
||||
+#else
|
||||
bool is_directory = ep->d_type & DT_DIR;
|
||||
if(ep->d_type & DT_UNKNOWN) {
|
||||
struct stat sp = {0};
|
||||
stat(string{pathname, ep->d_name}, &sp);
|
||||
is_directory = S_ISDIR(sp.st_mode);
|
||||
}
|
||||
+#endif
|
||||
if(is_directory) {
|
||||
if(strmatch(ep->d_name, pattern)) list.append(ep->d_name);
|
||||
}
|
||||
@@ -215,7 +221,13 @@ private:
|
||||
while((ep = readdir(dp))) {
|
||||
if(!strcmp(ep->d_name, ".")) continue;
|
||||
if(!strcmp(ep->d_name, "..")) continue;
|
||||
+#if defined(PLATFORM_HAIKU)
|
||||
+ struct stat sp = {0};
|
||||
+ stat(string{pathname, ep->d_name}, &sp);
|
||||
+ if(S_ISDIR(sp.st_mode)) {
|
||||
+#else
|
||||
if((ep->d_type & DT_DIR) == 0) {
|
||||
+#endif
|
||||
if(strmatch(ep->d_name, pattern)) list.append(ep->d_name);
|
||||
}
|
||||
}
|
||||
diff --git a/nall/intrinsics.hpp b/nall/intrinsics.hpp
|
||||
index 7377ed1..7a4784a 100644
|
||||
--- a/nall/intrinsics.hpp
|
||||
+++ b/nall/intrinsics.hpp
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
struct Intrinsics {
|
||||
enum class Compiler : unsigned { Clang, GCC, VisualCPP, Unknown };
|
||||
- enum class Platform : unsigned { Windows, MacOSX, X, Unknown }; //X = Linux, BSD, etc
|
||||
+ enum class Platform : unsigned { Windows, MacOSX, X, BeAPI, Unknown }; //X = Linux, BSD, etc
|
||||
enum class Architecture : unsigned { x86, amd64, ARM, aarch64, Unknown };
|
||||
enum class Endian : unsigned { LSB, MSB, Unknown };
|
||||
|
||||
@@ -38,6 +38,9 @@ struct Intrinsics {
|
||||
#elif defined(linux) || defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__GNU__)
|
||||
#define PLATFORM_X
|
||||
Intrinsics::Platform Intrinsics::platform() { return Intrinsics::Platform::X; }
|
||||
+#elif defined(__HAIKU__)
|
||||
+ #define PLATFORM_HAIKU
|
||||
+ Intrinsics::Platform Intrinsics::platform() { return Intrinsics::Platform::BeAPI; }
|
||||
#else
|
||||
#warning "unable to detect platform"
|
||||
#define PLATFORM_UNKNOWN
|
||||
diff --git a/target-libretro/Makefile b/target-libretro/Makefile
|
||||
index 997cd48..13dc9ba 100644
|
||||
--- a/target-libretro/Makefile
|
||||
+++ b/target-libretro/Makefile
|
||||
@@ -9,6 +9,8 @@ core_installdir := $(prefix)/lib
|
||||
|
||||
ifeq ($(platform),linux)
|
||||
flags += -fPIC
|
||||
+else ifeq ($(platform),haiku)
|
||||
+ flags += -fPIC
|
||||
else ifeq ($(platform),osx)
|
||||
flags += -fPIC
|
||||
else ifneq (,$(findstring ios,$(platform)))
|
||||
@@ -47,6 +49,8 @@ obj/libretro-$(profile).o: $(ui)/libretro.cpp $(ui)/*
|
||||
build: $(objects)
|
||||
ifeq ($(platform),linux)
|
||||
$(compiler) -o out/bsnes_$(profile)_libretro.so -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
|
||||
+else ifeq ($(platform),haiku)
|
||||
+ $(compiler) -o out/bsnes_$(profile)_libretro.so -shared $(objects) -lnetwork -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
|
||||
else ifneq (,$(findstring ios,$(platform)))
|
||||
ifeq ($(platform),ios-arm64)
|
||||
$(compiler) -o out/bsnes_$(profile)_libretro_ios.dylib -dynamiclib $(objects) -isysroot $(IOSSDK) -arch arm64
|
||||
--
|
||||
2.16.2
|
||||
|
||||
|
||||
From 246e7cdeb44452454c4c4b8e3f148f1a09693a04 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin FRANCOIS <kwyxz@kwyxz.org>
|
||||
Date: Sat, 3 Mar 2018 02:06:40 +0000
|
||||
Subject: Fix endianness
|
||||
|
||||
|
||||
diff --git a/nall/platform.hpp b/nall/platform.hpp
|
||||
index e5e3f8e..36f0f6c 100644
|
||||
--- a/nall/platform.hpp
|
||||
+++ b/nall/platform.hpp
|
||||
@@ -44,7 +44,11 @@ namespace Math {
|
||||
#ifdef __linux__
|
||||
#include <endian.h>
|
||||
#else
|
||||
- #include <machine/endian.h>
|
||||
+ #if defined(__HAIKU__)
|
||||
+ #include <posix/endian.h>
|
||||
+ #else
|
||||
+ #include <machine/endian.h>
|
||||
+ #endif
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
--
|
||||
2.16.2
|
||||
|
||||
Reference in New Issue
Block a user