Merge pull request #18031 from webosbrew/webos

webOS: Improve compatibility, add debug build option, fix wrong arg removed, fix LF on Makefile.webos
This commit is contained in:
LibretroAdmin 2025-06-17 23:04:41 +02:00 committed by GitHub
commit ceb99a0644
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 313 additions and 304 deletions

View File

@ -66,6 +66,8 @@ jobs:
run: | run: |
. /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup . /tmp/arm-webos-linux-gnueabi_sdk-buildroot/environment-setup
make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 -j$(getconf _NPROCESSORS_ONLN) make -f Makefile.webos ipk PACKAGE_NAME=${PACKAGE_NAME} ADD_SDL2_LIB=1 -j$(getconf _NPROCESSORS_ONLN)
env:
DEBUG: ${{ github.event_name == 'release' && '0' || '1' }}
- name: Get short SHA - name: Get short SHA
id: slug id: slug

View File

@ -1,303 +1,305 @@
include version.all include version.all
ifneq ($(CROSS_COMPILE),arm-webos-linux-gnueabi-) ifneq ($(CROSS_COMPILE),arm-webos-linux-gnueabi-)
$(error You need webOS toolchain to build this. See https://github.com/webosbrew/native-toolchain) $(error You need webOS toolchain to build this. See https://github.com/webosbrew/native-toolchain)
endif endif
ifdef SDKTARGETSYSROOT ifdef SDKTARGETSYSROOT
$(warning "OE-based toolchain isn't supported anymore. Please use https://github.com/webosbrew/native-toolchain") $(warning "OE-based toolchain isn't supported anymore. Please use https://github.com/webosbrew/native-toolchain")
STAGING_DIR = $(SDKTARGETSYSROOT) STAGING_DIR = $(SDKTARGETSYSROOT)
else ifndef STAGING_DIR else ifndef STAGING_DIR
$(error "Can't find buildroot based toolchain. Please use https://github.com/webosbrew/native-toolchain") $(error "Can't find buildroot based toolchain. Please use https://github.com/webosbrew/native-toolchain")
endif endif
WEBOS_FREETYPE_CONFIG ?= $(STAGING_DIR)/usr/bin/freetype-config WEBOS_FREETYPE_CONFIG ?= $(STAGING_DIR)/usr/bin/freetype-config
WEBOS_INC_DIR ?= $(STAGING_DIR)/usr/include WEBOS_INC_DIR ?= $(STAGING_DIR)/usr/include
WEBOS_LIB_DIR ?= $(STAGING_DIR)/usr/lib WEBOS_LIB_DIR ?= $(STAGING_DIR)/usr/lib
ADD_SDL2_LIB ?= 0 ADD_SDL2_LIB ?= 0
SDL2_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-2.30.8-webos.3/SDL2-2.30.8-webos-abi.tar.gz SDL2_PREBUILT_ARCHIVE ?= https://github.com/webosbrew/SDL-webOS/releases/download/release-2.30.8-webos.3/SDL2-2.30.8-webos-abi.tar.gz
######################### #########################
######################### #########################
APP_PACKAGE_NAME ?= com.retroarch.webos APP_PACKAGE_NAME ?= com.retroarch.webos
PACKAGE_VERSION := $(patsubst "%",%,$(RARCH_VERSION)) PACKAGE_VERSION := $(patsubst "%",%,$(RARCH_VERSION))
DEBUG ?= 0 DEBUG ?= 0
HAVE_CLOUDSYNC = 1 HAVE_CLOUDSYNC = 1
HAVE_SCREENSHOTS = 1 HAVE_SCREENSHOTS = 1
HAVE_REWIND = 1 HAVE_REWIND = 1
HAVE_7ZIP = 1 HAVE_7ZIP = 1
HAVE_ACCESSIBILITY = 1 HAVE_ACCESSIBILITY = 1
HAVE_AL = 0 HAVE_AL = 0
# ALSA freezes when switching back from menu # ALSA freezes when switching back from menu
HAVE_ALSA = 0 HAVE_ALSA = 0
HAVE_ANGLE = 0 HAVE_ANGLE = 0
HAVE_AUDIOIO = 0 HAVE_AUDIOIO = 0
HAVE_AUDIOMIXER = 1 HAVE_AUDIOMIXER = 1
HAVE_BLISSBOX = 0 HAVE_BLISSBOX = 0
HAVE_BSV_MOVIE = 1 HAVE_BSV_MOVIE = 1
HAVE_BUILTINBEARSSL = 0 HAVE_BUILTINBEARSSL = 0
HAVE_BUILTINFLAC = 1 HAVE_BUILTINFLAC = 1
HAVE_DSP_FILTER = 1 HAVE_DSP_FILTER = 1
HAVE_VIDEO_FILTER = 1 HAVE_VIDEO_FILTER = 1
HAVE_STATIC_VIDEO_FILTERS = 1 HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1 HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_FILTERS_BUILTIN = 1 HAVE_FILTERS_BUILTIN = 1
HAVE_BUILTINMBEDTLS = 1 HAVE_BUILTINMBEDTLS = 1
HAVE_BUILTINZLIB = 1 HAVE_BUILTINZLIB = 1
HAVE_C99 = 1 HAVE_C99 = 1
HAVE_CC = 1 HAVE_CC = 1
HAVE_CC_RESAMPLER = 1 HAVE_CC_RESAMPLER = 1
HAVE_NEAREST_RESAMPLER = 1 HAVE_NEAREST_RESAMPLER = 1
HAVE_CHD = 1 HAVE_CHD = 1
HAVE_COMMAND = 1 HAVE_COMMAND = 1
HAVE_CXX = 1 HAVE_CXX = 1
HAVE_DR_MP3 = 1 HAVE_DR_MP3 = 1
HAVE_DYNAMIC = 1 HAVE_DYNAMIC = 1
HAVE_DYLIB = 1 HAVE_DYLIB = 1
HAVE_EGL = 0 HAVE_EGL = 0
HAVE_FREETYPE = 1 HAVE_FREETYPE = 1
HAVE_GDI = 0 HAVE_GDI = 0
HAVE_GETADDRINFO = 1 HAVE_GETADDRINFO = 1
HAVE_GETOPT_LONG = 1 HAVE_GETOPT_LONG = 1
HAVE_GLSL = 1 HAVE_GLSL = 1
HAVE_GLSLANG = 0 HAVE_GLSLANG = 0
HAVE_GLSLANG_HLSL = 0 HAVE_GLSLANG_HLSL = 0
HAVE_GLSLANG_OGLCOMPILER = 0 HAVE_GLSLANG_OGLCOMPILER = 0
HAVE_GLSLANG_OSDEPENDENT = 0 HAVE_GLSLANG_OSDEPENDENT = 0
HAVE_GLSLANG_SPIRV = 0 HAVE_GLSLANG_SPIRV = 0
HAVE_GLSLANG_SPIRV_TOOLS = 0 HAVE_GLSLANG_SPIRV_TOOLS = 0
HAVE_GLSLANG_SPIRV_TOOLS_OPT = 0 HAVE_GLSLANG_SPIRV_TOOLS_OPT = 0
HAVE_HID = 1 HAVE_HID = 1
HAVE_IBXM = 1 HAVE_IBXM = 1
HAVE_IMAGEVIEWER = 1 HAVE_IMAGEVIEWER = 1
HAVE_LANGEXTRA = 1 HAVE_LANGEXTRA = 1
HAVE_LIBRETRODB = 1 HAVE_LIBRETRODB = 1
HAVE_MENU = 1 HAVE_MENU = 1
HAVE_MENU_COMMON = 1 HAVE_MENU_COMMON = 1
HAVE_NEON = 1 HAVE_NEON = 1
HAVE_NETWORKING = 1 HAVE_NETWORKING = 1
HAVE_IFINFO = 1 HAVE_IFINFO = 1
HAVE_NETWORK_CMD = 1 HAVE_NETWORK_CMD = 1
HAVE_NETPLAYDISCOVERY = 1 HAVE_NETPLAYDISCOVERY = 1
HAVE_NETWORKGAMEPAD = 1 HAVE_NETWORKGAMEPAD = 1
HAVE_GFX_WIDGETS = 1 HAVE_GFX_WIDGETS = 1
HAVE_MMAP = 1 HAVE_MMAP = 1
HAVE_ONLINE_UPDATER = 1 HAVE_ONLINE_UPDATER = 1
HAVE_OPENDINGUX_FBDEV = 0 HAVE_OPENDINGUX_FBDEV = 0
HAVE_OPENGL = 0 HAVE_OPENGL = 0
HAVE_OPENGL1 = 0 HAVE_OPENGL1 = 0
HAVE_OPENGL_CORE = 0 HAVE_OPENGL_CORE = 0
HAVE_OPENGLES = 1 HAVE_OPENGLES = 1
HAVE_OPENGLES3 = 0 HAVE_OPENGLES3 = 0
HAVE_OPENGLES3_1 = 0 HAVE_OPENGLES3_1 = 0
HAVE_OPENGLES3_2 = 0 HAVE_OPENGLES3_2 = 0
HAVE_OPENSSL = 0 HAVE_OPENSSL = 0
HAVE_OVERLAY = 1 HAVE_OVERLAY = 1
HAVE_PULSE = 1 HAVE_PULSE = 1
HAVE_RBMP = 1 HAVE_RBMP = 1
HAVE_RJPEG = 1 HAVE_RJPEG = 1
HAVE_RPILED = 0 HAVE_RPILED = 0
HAVE_RPNG = 1 HAVE_RPNG = 1
HAVE_RUNAHEAD = 1 HAVE_RUNAHEAD = 1
HAVE_SDL = 0 HAVE_SDL = 0
HAVE_SDL2 = 1 HAVE_SDL2 = 1
HAVE_SHADERPIPELINE = 1 HAVE_SHADERPIPELINE = 1
HAVE_STB_FONT = 0 HAVE_STB_FONT = 0
HAVE_STB_IMAGE = 1 HAVE_STB_IMAGE = 1
HAVE_STB_VORBIS = 1 HAVE_STB_VORBIS = 1
HAVE_STDIN_CMD = 1 HAVE_STDIN_CMD = 1
HAVE_STRCASESTR = 1 HAVE_STRCASESTR = 1
HAVE_THREADS = 1 HAVE_THREADS = 1
HAVE_UDEV = 0 HAVE_UDEV = 0
HAVE_RGUI = 1 HAVE_RGUI = 1
HAVE_MATERIALUI = 0 HAVE_MATERIALUI = 0
HAVE_XMB = 1 HAVE_XMB = 1
HAVE_OZONE = 1 HAVE_OZONE = 1
HAVE_ZLIB = 1 HAVE_ZLIB = 1
HAVE_CONFIGFILE = 1 HAVE_CONFIGFILE = 1
HAVE_PATCH = 1 HAVE_PATCH = 1
HAVE_CHEATS = 1 HAVE_CHEATS = 1
HAVE_CHEEVOS = 1 HAVE_CHEEVOS = 1
HAVE_LIBSHAKE = 1 HAVE_LIBSHAKE = 1
HAVE_UPDATE_ASSETS = 1 HAVE_UPDATE_ASSETS = 1
HAVE_UPDATE_CORES = 1 HAVE_UPDATE_CORES = 1
HAVE_UPDATE_CORE_INFO = 1 HAVE_UPDATE_CORE_INFO = 1
HAVE_CORE_INFO_CACHE = 1 HAVE_CORE_INFO_CACHE = 1
OS = Linux OS = Linux
TARGET = retroarch TARGET = retroarch
OBJ := OBJ :=
LINK := $(CC) LINK := $(CC)
DEF_FLAGS += -ffunction-sections -fdata-sections DEF_FLAGS += -ffunction-sections -fdata-sections
DEF_FLAGS += -I. -Ideps -Ideps/stb -DWEBOS=1 -MMD DEF_FLAGS += -I. -Ideps -Ideps/stb -DWEBOS=1 -MMD
DEF_FLAGS += -Wall -Wno-unused-variable DEF_FLAGS += -Wall -Wno-unused-variable
LIBS := -ldl -lz -lrt -pthread LIBS := -ldl -lz -lrt -pthread
ARCHFLAGS := -mcpu=cortex-a9 -mtune=cortex-a53 -mfloat-abi=softfp ARCHFLAGS := -mcpu=cortex-a9 -mtune=cortex-a53 -mfloat-abi=softfp
CFLAGS := $(ARCHFLAGS) CFLAGS := $(ARCHFLAGS)
CXXFLAGS := $(ARCHFLAGS) -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS CXXFLAGS := $(ARCHFLAGS) -fno-exceptions -fno-rtti -std=c++11 -D__STDC_CONSTANT_MACROS
ASFLAGS := $(ARCHFLAGS) ASFLAGS := $(ARCHFLAGS)
LDFLAGS := -Wl,-rpath=\$$ORIGIN/lib,--gc-sections LDFLAGS := -Wl,-rpath=\$$ORIGIN/lib,--gc-sections
INCLUDE_DIRS = -I$(WEBOS_INC_DIR) INCLUDE_DIRS = -I$(WEBOS_INC_DIR)
LIBRARY_DIRS = -L$(WEBOS_LIB_DIR) LIBRARY_DIRS = -L$(WEBOS_LIB_DIR)
DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY DEFINES := -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -UHAVE_STATIC_DUMMY
DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1 -D_GNU_SOURCE DEFINES += -DHAVE_C99=1 -DHAVE_CXX=1 -D_GNU_SOURCE
DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1 DEFINES += -DHAVE_GETOPT_LONG=1 -DHAVE_STRCASESTR=1 -DHAVE_DYNAMIC=1
DEFINES += -DHAVE_FILTERS_BUILTIN DEFINES += -DHAVE_FILTERS_BUILTIN
DEFINES += -DHAVE_SDL2 DEFINES += -DHAVE_SDL2
DEFINES += -DHAVE_PULSE DEFINES += -DHAVE_PULSE
DEFINES += -DHAVE_NETWORKING -DHAVE_IFINFO -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES DEFINES += -DHAVE_NETWORKING -DHAVE_IFINFO -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
DEFINES += -DHAVE_NETWORKGAMEPAD DEFINES += -DHAVE_NETWORKGAMEPAD
DEFINES += -DHAVE_FREETYPE DEFINES += -DHAVE_FREETYPE
DEFINES += -DHAVE_UPDATE_CORE_INFO DEFINES += -DHAVE_UPDATE_CORE_INFO
PKG_CONFIG=pkg-config PKG_CONFIG=pkg-config
SDL2_CFLAGS := $(shell $(PKG_CONFIG) --cflags sdl2) SDL2_CFLAGS := $(shell $(PKG_CONFIG) --cflags sdl2)
SDL2_LIBS := $(shell $(PKG_CONFIG) --libs sdl2) SDL2_LIBS := $(shell $(PKG_CONFIG) --libs sdl2)
OPENGLES_LIBS = -lGLESv2 OPENGLES_LIBS = -lGLESv2
PULSE_LIBS = $(shell $(PKG_CONFIG) --libs libpulse) PULSE_LIBS = $(shell $(PKG_CONFIG) --libs libpulse)
FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2) FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2) FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
FONTCONFIG_CFLAGS := $(shell $(PKG_CONFIG) --cflags fontconfig) FONTCONFIG_CFLAGS := $(shell $(PKG_CONFIG) --cflags fontconfig)
FONTCONFIG_LIBS := $(shell $(PKG_CONFIG) --libs fontconfig) FONTCONFIG_LIBS := $(shell $(PKG_CONFIG) --libs fontconfig)
MMAP_LIBS = -lc MMAP_LIBS = -lc
NEON_CFLAGS = -mfpu=neon NEON_CFLAGS = -mfpu=neon
NEON_ASFLAGS = -mfpu=neon NEON_ASFLAGS = -mfpu=neon
NETWORKING_LIBS = -lc NETWORKING_LIBS = -lc
OBJDIR_BASE := obj-unix OBJDIR_BASE := obj-unix
ifeq ($(DEBUG), 1) ifeq ($(DEBUG), 1)
OBJDIR := $(OBJDIR_BASE)/debug OBJDIR := $(OBJDIR_BASE)/debug
DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG DEF_FLAGS += -O0 -g -DDEBUG -D_DEBUG
else else
OBJDIR := $(OBJDIR_BASE)/release OBJDIR := $(OBJDIR_BASE)/release
DEF_FLAGS += -O2 -DNDEBUG DEF_FLAGS += -O2 -DNDEBUG
endif endif
include Makefile.common include Makefile.common
DEF_FLAGS += $(INCLUDE_DIRS) DEF_FLAGS += $(INCLUDE_DIRS)
LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS) LDFLAGS += $(CFLAGS) $(CXXFLAGS) $(DEF_FLAGS)
CFLAGS += $(DEF_FLAGS) CFLAGS += $(DEF_FLAGS)
CXXFLAGS += $(DEF_FLAGS) CXXFLAGS += $(DEF_FLAGS)
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h) HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
ifneq ($(V),1) ifneq ($(V),1)
Q := @ Q := @
endif endif
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ)) RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
define APPINFO define APPINFO
{ {
"id": "$(APP_PACKAGE_NAME)", "id": "$(APP_PACKAGE_NAME)",
"version": "$(PACKAGE_VERSION)", "version": "$(PACKAGE_VERSION)",
"vendor": "webosbrew.org", "vendor": "webosbrew.org",
"title": "RetroArch", "title": "RetroArch",
"icon": "icon160.png", "icon": "icon160.png",
"main": "retroarch", "main": "retroarch",
"iconColor": "#333333", "iconColor": "#333333",
"type": "native", "type": "native",
"appDescription": "Emulation frontend" "appDescription": "Emulation frontend"
} }
endef endef
export APPINFO export APPINFO
all: $(TARGET) ipk all: $(TARGET) ipk
define INFO define INFO
ASFLAGS: $(ASFLAGS) ASFLAGS: $(ASFLAGS)
CC: $(CC) CC: $(CC)
CFLAGS: $(CFLAGS) CFLAGS: $(CFLAGS)
CPPFLAGS: $(CPPFLAGS) CPPFLAGS: $(CPPFLAGS)
CXX: $(CXX) CXX: $(CXX)
CXXFLAGS: $(CXXFLAGS) CXXFLAGS: $(CXXFLAGS)
DEFINES: $(DEFINES) DEFINES: $(DEFINES)
LDFLAGS: $(LDFLAGS) LDFLAGS: $(LDFLAGS)
LIBRARY_DIRS: $(LIBRARY_DIRS) LIBRARY_DIRS: $(LIBRARY_DIRS)
LIBS: $(LIBS) LIBS: $(LIBS)
LINK: $(LINK) LINK: $(LINK)
OBJCFLAGS: $(OBJCFLAGS) OBJCFLAGS: $(OBJCFLAGS)
RARCH_OBJ: $(RARCH_OBJ) RARCH_OBJ: $(RARCH_OBJ)
endef endef
export INFO export INFO
info: info:
ifneq ($(V),1) ifneq ($(V),1)
@echo "$$INFO" @echo "$$INFO"
endif endif
-include $(RARCH_OBJ:.o=.d) -include $(RARCH_OBJ:.o=.d)
SYMBOL_MAP := -Wl,-Map=output.map SYMBOL_MAP := -Wl,-Map=output.map
$(TARGET): $(RARCH_OBJ) $(TARGET): $(RARCH_OBJ)
@$(if $(Q), $(shell echo echo LD $@),) @$(if $(Q), $(shell echo echo LD $@),)
$(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS) $(Q)$(LINK) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LIBRARY_DIRS)
$(OBJDIR)/%.o: %.c $(OBJDIR)/%.o: %.c
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CC $<),) @$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $< $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(DEFINES) -c -o $@ $<
$(OBJDIR)/%.o: %.cpp $(OBJDIR)/%.o: %.cpp
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo CXX $<),) @$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $< $(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.m $(OBJDIR)/%.o: %.m
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo OBJC $<),) @$(if $(Q), $(shell echo echo OBJC $<),)
$(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $< $(Q)$(CXX) $(OBJCFLAGS) $(DEFINES) -MMD -c -o $@ $<
$(OBJDIR)/%.o: %.S $(HEADERS) $(OBJDIR)/%.o: %.S $(HEADERS)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@$(if $(Q), $(shell echo echo AS $<),) @$(if $(Q), $(shell echo echo AS $<),)
$(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $< $(Q)$(CC) $(CFLAGS) $(ASFLAGS) $(DEFINES) -c -o $@ $<
clean: clean:
@$(if $(Q), echo $@,) @$(if $(Q), echo $@,)
$(Q)rm -rf $(OBJDIR_BASE) $(Q)rm -rf $(OBJDIR_BASE)
$(Q)rm -f $(TARGET) $(Q)rm -f $(TARGET)
$(Q)rm -f *.d $(Q)rm -f *.d
$(Q)rm -rf SDL $(Q)rm -rf SDL
$(Q)rm -rf webos/*.ipk $(Q)rm -rf webos/*.ipk
$(Q)rm -rf webos/dist $(Q)rm -rf webos/dist
sdl2: $(TARGET) sdl2: $(TARGET)
ifeq ($(ADD_SDL2_LIB), 1) ifeq ($(ADD_SDL2_LIB), 1)
@echo "Downloading SDL2 prebuilt" @echo "Downloading SDL2 prebuilt"
mkdir -p SDL mkdir -p SDL
wget -qO - $(SDL2_PREBUILT_ARCHIVE) | tar -C SDL -zxvf - wget -qO - $(SDL2_PREBUILT_ARCHIVE) | tar -C SDL -zxvf -
endif endif
ipk: $(TARGET) sdl2 ipk: $(TARGET) sdl2
rm -rf webos/dist rm -rf webos/dist
mkdir -p webos/dist/lib mkdir -p webos/dist/lib
echo "$$APPINFO" > webos/dist/appinfo.json echo "$$APPINFO" > webos/dist/appinfo.json
cp -t webos/dist -vf $(TARGET) webos/icon160.png cp -t webos/dist -vf $(TARGET) webos/icon160.png
cp -t webos/dist/lib -vf $(WEBOS_LIB_DIR)/libstdc++.so.6 cp -t webos/dist/lib -vf $(WEBOS_LIB_DIR)/libstdc++.so.6
ifeq ($(ADD_SDL2_LIB), 1) ifeq ($(ADD_SDL2_LIB), 1)
cp -t webos/dist/lib -vf SDL/lib/libSDL2-2.0.so.0 cp -t webos/dist/lib -vf SDL/lib/libSDL2-2.0.so.0
endif endif
$(STRIP) webos/dist/$(TARGET) ifneq ($(DEBUG), 1)
cd webos && ares-package dist $(STRIP) webos/dist/$(TARGET)
endif
install: ipk cd webos && ares-package dist
ares-install webos/$(APP_PACKAGE_NAME)_$(PACKAGE_VERSION)_$(ARCH).ipk
install: ipk
launch: install ares-install webos/$(APP_PACKAGE_NAME)_$(PACKAGE_VERSION)_$(ARCH).ipk
ares-launch $(APP_PACKAGE_NAME)
launch: install
.PHONY: all clean ipk ares-launch $(APP_PACKAGE_NAME)
print-%: .PHONY: all clean ipk
@echo '$*=$($*)'
print-%:
@echo '$*=$($*)'

View File

@ -5928,6 +5928,11 @@ int rarch_main(int argc, char *argv[], void *data)
#endif #endif
#if defined(WEBOS) #if defined(WEBOS)
// compatibility with webOS 3 - 5
if(getenv("XDG_RUNTIME_DIR") == NULL) {
setenv("XDG_RUNTIME_DIR", "/tmp/xdg", 0);
}
struct rlimit limit = {0, 0}; struct rlimit limit = {0, 0};
setrlimit(RLIMIT_CORE, &limit); setrlimit(RLIMIT_CORE, &limit);
#endif #endif
@ -7046,7 +7051,7 @@ static bool retroarch_parse_input_and_config(
BSV_MOVIE_ARG NETPLAY_ARG DYNAMIC_ARG FFMPEG_RECORD_ARG CONFIG_FILE_ARG; BSV_MOVIE_ARG NETPLAY_ARG DYNAMIC_ARG FFMPEG_RECORD_ARG CONFIG_FILE_ARG;
#if defined(WEBOS) #if defined(WEBOS)
if (argv[1][0] == '{') if (argc > 1 && argv[1][0] == '{')
{ {
argv = &(argv[1]); argv = &(argv[1]);
argc = argc - 1; argc = argc - 1;