Compare commits

...

No commits in common. "19.02" and "audio" have entirely different histories.
19.02 ... audio

287 changed files with 8227 additions and 592 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
/build-*
##### TUP GITIGNORE #####
##### Lines below automatically generated by Tup.
##### Do not edit.
.tup
/.gitignore

113
.gitmodules vendored
View File

@ -1,69 +1,108 @@
[submodule "submodules/musicbrainz_playlist_generator"]
path = nimble/musicbrainz_playlist_generator
url = git@github.com:ehmry/musicbrainz_playlist_generator.git
path = nim/musicbrainz_playlist_generator
url = git://depot.h4ck.me/srv/git/musicbrainz_playlist_generator
[submodule "nimble/icy_client"]
path = nimble/icy_client
url = git@github.com:ehmry/icy_client.git
path = nim/icy_client
url = git://depot.h4ck.me/srv/git/icy_client
[submodule "nim-genode"]
path = nimble/nim-genode
url = git@github.com:ehmry/nim-genode.git
path = nim/nim-genode
url = git://depot.h4ck.me/srv/git/nim-genode
[submodule "nimble/imap_report"]
path = nimble/imap_report
path = nim/imap_report
url = git@github.com:ehmry/imap_report.git
[submodule "nimble/blobsets"]
path = nimble/blobsets
url = git@github.com:ehmry/blobsets.git
path = nim/blobsets
url = git://depot.h4ck.me/srv/git/blobsets
[submodule "nimble/ninep"]
path = nimble/ninep
url = git@github.com:ehmry/ninep.git
path = nim/ninep
url = git://depot.h4ck.me/srv/git/ninep
[submodule "libretro/libretro-common"]
path = libretro/libretro-common
url = https://github.com/libretro/libretro-common.git
[submodule "libretro/retro_frontend"]
path = libretro/retro_frontend
url = git@github.com:ehmry/genode-libretro.git
url = git://depot.h4ck.me/srv/git/retro_frontend
[submodule "libretro/cores/2048/core"]
path = libretro/cores/2048/core
path = libretro/cores/2048/upstream
url = https://github.com/libretro/libretro-2048
[submodule "libretro/cores/4do/core"]
path = libretro/cores/4do/core
url = https://github.com/libretro/4do-libretro
path = libretro/cores/4do/upstream
url = https://github.com/libretro/4do-libretro.git
[submodule "libretro/cores/fceumm/core"]
path = libretro/cores/fceumm/core
url = https://github.com/libretro/libretro-fceumm
path = libretro/cores/fceumm/upstream
url = https://github.com/libretro/libretro-fceumm.git
[submodule "libretro/cores/mgba/core"]
path = libretro/cores/mgba/core
url = https://github.com/libretro/mgba
path = libretro/cores/mgba/upstream
url = https://github.com/libretro/mgba.git
[submodule "libretro/cores/nxengine/core"]
path = libretro/cores/nxengine/core
url = https://github.com/libretro/nxengine-libretro
path = libretro/cores/nxengine/upstream
url = git://depot.h4ck.me/srv/git/nxengine
[submodule "libretro/cores/oberon/core"]
path = libretro/cores/oberon/core
url = https://github.com/pdewacht/oberon-risc-emu.git
path = libretro/cores/oberon/upstream
url = git@github.com:ehmry/oberon-risc-libretro.git
[submodule "libretro/cores/snes9x/core"]
path = libretro/cores/snes9x/core
url = https://github.com/libretro/snes9x
path = libretro/cores/snes9x/upstream
url = https://github.com/libretro/snes9x.git
[submodule "libretro/cores/tyrquake/core"]
path = libretro/cores/tyrquake/core
path = libretro/cores/tyrquake/upstream
url = https://github.com/libretro/tyrquake
[submodule "libretro/cores/samples"]
path = libretro/cores/samples
path = libretro/cores/samples/upstream
url = https://github.com/libretro/libretro-samples
[submodule "libretro/cores/dosbox/core"]
path = libretro/cores/dosbox/core
path = libretro/cores/dosbox-libretro/upstream
url = https://github.com/libretro/dosbox-libretro
[submodule "libretro/cores/mrboom/core"]
path = libretro/cores/mrboom/core
url = https://github.com/libretro/mrboom-libretro.git
path = libretro/cores/mrboom/upstream
url = git@github.com:ehmry/mrboom-libretro.git
[submodule "libretro/cores/gambatte/core"]
path = libretro/cores/gambatte/core
url = https://github.com/libretro/gambatte-libretro
path = libretro/cores/gambatte/upstream
url = git@github.com:github.com/ehmry/gambatte-libretro.git
[submodule "libretro/cores/dinothawr/core"]
path = libretro/cores/dinothawr/core
url = https://github.com/libretro/Dinothawr
[submodule "lib/FLIF/upstream"]
path = lib/libflif/upstream
url = https://github.com:FLIF-hub/FLIF
[submodule "nimble/nim-monero"]
path = nimble/nim-monero
url = git@git.fuzzlabs.org:emery/nim-monero.git
path = nim/nim-monero
url = git://depot.h4ck.me/srv/git/nim-monero
[submodule "libretro/cores/scummvm/upstream"]
path = libretro/cores/scummvm/upstream
url = https://github.com/libretro/scummvm.git
[submodule "libretro/cores/lutro/upstream"]
path = libretro/cores/lutro/upstream
url = git@github.com:ehmry/libretro-lutro.git
[submodule "libretro/cores/bluemsx/upstream"]
path = libretro/cores/bluemsx/upstream
url = git@github.com:ehmry/blueMSX-libretro.git
[submodule "nimble/fetch_and_copy"]
path = nim/fetch_and_copy
url = git://depot.h4ck.me/srv/git/fetch_and_copy.
[submodule "nimble/nim"]
path = nim/nim
url = https://github.com/ehmry/nim.git
[submodule "nimble/spry_genode"]
path = nim/spry_genode
url = git@github.com:ehmry/spry_genode.git
[submodule "nimble/carn"]
path = nim/carn_layouter
url = git://depot.h4ck.me/srv/git/carn_layouter
[submodule "libretro/bios/cbios-cbios"]
path = libretro/bios/cbios-cbios
url = https://git.code.sf.net/p/cbios/cbios
[submodule "libretro/cores/mu/upstream"]
path = libretro/cores/mu/upstream
url = https://github.com/meepingsnesroms/Mu.git
[submodule "libretro/cores/dosbox-svn/upstream"]
path = libretro/cores/dosbox-svn/upstream
url = https://github.com/libretro/dosbox-svn.git
[submodule "nim/xspf_view"]
path = nim/xspf_view
url = git://depot.h4ck.me/srv/git/xspf_view
[submodule "upstream"]
path = upstream
url = git@github.com:ehmry/genode.git
[submodule "nim/blobbot"]
path = nim/blobbot
url = git://depot.h4ck.me/srv/git/blobbot
[submodule "libretro/cores/yabause/upstream"]
path = libretro/cores/yabause/upstream
url = https://github.com/libretro/yabause.git

BIN
.underconstruction.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

7
README.md Normal file
View File

@ -0,0 +1,7 @@
![UNDER CONSTRUCTION](.underconstruction.gif)
This is a super-repository containing an experimental [Tup](http://gittup.org/tup) build
system and submodules containing Genode components and runtime metadata.
See http://github.com/ehmry/genode-tup-super for a super-repo skeleton, please
forward any pull requests for the build-system there.

70
Tupfile Normal file
View File

@ -0,0 +1,70 @@
.gitignore
include_rules
ifndef SCULPT_VERSION
error CONFIG_SCULPT_VERSION is undefined
endif
ifndef PUBLIC_USER
error CONFIG_PUBLIC_USER is undefined
endif
SHORT_SUM = b2sum -l24
: $(DEPOT_DIR)/<raw-archives> $(DEPOT_DIR)/<bin-archives> |> \
for f in %<raw-archives> %<bin-archives>; do \
awk -F '/' '{print "s|local/"$2"/"$3"/current|@(PUBLIC_USER)/"$2"/"$3"/"$4"|"}' $f >> %o; done; \
|> $(VERSIONS_SED_FILE)
# Generate a listing of all raw archives
: $(DEPOT_DIR)/<raw-archives> |> \
touch %o; \
for f in %<raw-archives>; do cat $f >> %o; done; \
|> $(RAW_LISTING)
# Generate a listing of all raw archives
: $(DEPOT_DIR)/<bin-archives> |> \
for f in %<bin-archives>; do tail -n1 $f >> %o; done; \
|> $(BIN_LISTING)
# Generate a listing of all binary archives
: $(DEPOT_DIR)/<packages> |> ^ generate package version sed script^ \
for d in `dirname %<packages> | tr ' ' '\n' | sort -u`; do \
echo $d/`cat $d/.ARCHIVES $d/runtime | $(SHORT_SUM)` | awk -F '/' \
'{print "s|local/pkg/"$3"/current|@(PUBLIC_USER)/pkg/"$3"/"substr($5,0,6)"|"}' >> %o; \
done \
|> $(PKG_SED_FILE)
# Generate sed commands for replacing package versions
: $(DEPOT_DIR)/<raw-archives> $(DEPOT_DIR)/<bin-archives> $(PKG_SED_FILE) |> \
^ generate public makefile^ \
echo PUBLIC_USER=@(PUBLIC_USER) >> %o; \
echo PUBLIC_ARCH=@(TUP_ARCH) >> %o; \
echo "all: public/@(PUBLIC_USER)/index/@(SCULPT_VERSION).xz.sig" >> %o; \
echo %%.xz.sig: %%.xz >> %o; \
echo " @echo sign \$<" >> %o; \
echo " @gpg --detach-sign --digest-algo SHA256 --no-tty --local-user @(PUBLIC_KEY) < \$< > tmp" >> %o; \
echo " @mv tmp \$@" >> %o; \
for f in %<raw-archives>; do \
awk -F '/' -f errata/raw.mk.awk $f >> %o; done; \
for f in %<bin-archives>; do \
awk -F '/' -f errata/bin.mk.awk $f >> %o; done; \
awk -F '/' -f errata/pkg.mk.awk $(PKG_SED_FILE) >> %o; \
|> Makefile
# Generate the makefile for creating signed package tarballs
: index.xml | $(PKG_SED_FILE) |> ^ generate public index^ \
xmllint %f | sed \
-e 's|_/pkg/\([^"]*\)|local/pkg/\1/current|' \
-f $(PKG_SED_FILE) \
| xz > %o; \
|> public/@(PUBLIC_USER)/index/@(SCULPT_VERSION).xz
AWK_RUNTIME_PATH = awk -v RS=' ' -F '/' \
'/runtime/ {print " <pkg path=\"local/pkg/"$3"/current\"/>"}'
: $(DEPOT_DIR)/<packages> |> ^ generate local index^ \
echo '<index>' > %o; \
echo %<packages> | $(AWK_RUNTIME_PATH) | sort >> %o; \
echo '</index>' >> %o |> $(DEPOT_DIR)/index/@(SCULPT_VERSION)
# Generate the depot index file

View File

@ -1,44 +1,200 @@
.gitignore
export PKG_CONFIG_PATH
ifndef DEPOT_USER
error CONFIG_DEPOT_USER is undefined
ifndef TOOL_CHAIN_PREFIX
error TOOL_CHAIN_PREFIX not configured, missing variant?
endif
ifndef DEPOT_VERSION
error CONFIG_DEPOT_VERSION is undefined
ifeq (@(TUP_ARCH),i386)
CC_MARCH = -march=i686 -m32
LD_MARCH = -melf_i386
AS_MARCH = -march=i686 --32
endif
DEPOT_DIR = $(TUP_CWD)/depot/@(DEPOT_USER)
PUBLIC_DIR = $(TUP_CWD)/public/@(DEPOT_USER)
ifeq (@(TUP_ARCH),x86_64)
CC_MARCH = -m64 -mcmodel=large
LD_MARCH = -melf_x86_64
endif
DEPOT_BIN_DIR = $(DEPOT_DIR)/bin/x86_64
PUBLIC_BIN_DIR = $(PUBLIC_DIR)/bin/x86_64
ifeq (@(TUP_ARCH),arm_v8)
CC_MARCH = -march=armv8-a
endif
GENODE_DIR = $(TUP_CWD)/upstream
&STUB_DIR = stub
STUB_DIR = $(TUP_CWD)/stub
export NIX_PATH
NIX_BUILD = nix-build --option substitute false
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
!prg = | $(GENODE_DIR)/<stub> $(GENODE_DIR)/<pkg-config> \
|> ^o LD %o^ \
$(LD) $(LD_MARCH) $(LDFLAGS) \
-L&(STUB_DIR) \
`$(PKG_CONFIG) --libs $(LIBS) genode-prg` \
%f \
$(LIBGCC) \
-o %o \
|> %d
!lib = | $(GENODE_DIR)/<stub> $(GENODE_DIR)/<pkg-config> |> ^o LD %o^ $(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -L&(STUB_DIR) -o %o |>
ifeq ($(RAW_NAME),)
RAW_NAME = $(TARGET_NAME)
endif
ifeq ($(BIN_NAME),)
BIN_NAME = $(TARGET_NAME)
endif
ifeq ($(PKG_NAME),)
PKG_NAME = $(TARGET_NAME)
endif
GIT_VERSION=`git describe --always`
BIN_VERSION=$(GIT_VERSION)
PKG_VERSION=$(GIT_VERSION)
ifeq ($(RAW_VERSION),)
RAW_VERSION=$(GIT_VERSION)
endif
DEPOT_DIR = $(TUP_CWD)/depot
DEPOT_RAW_DIR = $(DEPOT_DIR)/raw
DEPOT_BIN_DIR = $(DEPOT_DIR)/bin
DEPOT_PKG_DIR = $(DEPOT_DIR)/pkg
PUBLIC_DIR = $(TUP_CWD)/public
PUBLIC_RAW_DIR = $(PUBLIC_DIR)/raw
PUBLIC_BIN_DIR = $(PUBLIC_DIR)/bin
PUBLIC_PKG_DIR = $(PUBLIC_DIR)/pkg
DEPOT_RAW_DIR = $(DEPOT_DIR)/raw
PUBLIC_RAW_DIR = $(PUBLIC_DIR)/raw
RAW_DIR = $(DEPOT_RAW_DIR)/$(RAW_NAME)/current
# Destination for locally defined raw package
!strip_to_depot = |> ^ strip bin/%d^ strip -o %o %f |> $(DEPOT_BIN_DIR)/%d/@(DEPOT_VERSION)/%b
BIN_DIR = $(DEPOT_BIN_DIR)/$(BIN_NAME)/current
# Destination for locally defined binary package
PKG_DIR = $(DEPOT_BIN_DIR)/$(BIN_NAME)/current
# Destination for locally defined runtime package
!raw = |> ^ generate raw metadata^ \
echo $(RAW_DEPENDS) local/raw/$(RAW_NAME)/$(RAW_VERSION) | tr ' ' '\n' > %o; \
echo local/raw/$(RAW_NAME)/$(RAW_VERSION) > %o \
|> $(RAW_DIR)/.ARCHIVES $(DEPOT_DIR)/<raw-archives>
!bin = |> ^ generate bin metadata^ \
echo $(BIN_DEPENDS) local/src/$(BIN_NAME)/$(BIN_VERSION) | tr ' ' '\n' > %o; \
|> $(BIN_DIR)/.ARCHIVES $(DEPOT_DIR)/<bin-archives>
# Macro invoked in BIN_RULES
&RAW_RULES = errata/raw.tup
# Rules for finalizing a locally defined raw package
&BIN_RULES = errata/bin.tup
# Rules for finalizing a locally defined binary package
&PKG_RULES = errata/pkg.tup
# Rules for finalizing a locally defined runtime package
AWK_LOCAL_ARCHIVES = awk -F '/' \
'{if ($1 != "local") {print $0} \
else {print $1"/"$2"/"$3"/current"}}'
!pkg = |> |>
!collect_raw = |> ^ COLLECT %b^ \
cp %f %o \
|> $(RAW_DIR)/%b
!collect_bin = |> ^ COLLECT %b^ \
@(TOOL_CHAIN_PREFIX)strip -o %o %f \
|> $(DEPOT_BIN_DIR)/$(BIN_NAME)/current/%b
!collect_pkg_runtime = | $(VERSIONS_SED_FILE) |> ^ package %f^ \
xmllint --noout -schema $(ERRATA_DIR)/runtime.xsd %f; \
cp %f $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/runtime; \
echo $(PKG_DEPENDS) | tr ' ' '\n' | sed \
-e 's|_/\(.*\)/\(.*\)$|local/\1/\2/current|' \
> $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/archives; \
sed -f $(VERSIONS_SED_FILE) $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/archives \
> $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/.ARCHIVES; \
|> \
$(DEPOT_PKG_DIR)/$(PKG_NAME)/current/runtime \
$(DEPOT_PKG_DIR)/$(PKG_NAME)/current/archives \
$(DEPOT_PKG_DIR)/$(PKG_NAME)/current/.ARCHIVES \
$(DEPOT_DIR)/<packages>
!collect_pkg = |> ^ COLLECT %b^ cp %f %o \
|> $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/%b \
$(DEPOT_DIR)/<packages>
VERSIONS_SED_FILE = $(TUP_CWD)/versions.sed
PKG_SED_FILE = $(TUP_CWD)/pkg.sed
RAW_LISTING = $(TUP_CWD)/raw-list
BIN_LISTING = $(TUP_CWD)/bin-list
PKG_LISTING = $(TUP_CWD)/pkg-list
SDK_INCLUDE = $(TUP_CWD)/sdk.tup
ERRATA_DIR = $(TUP_CWD)/errata
!archives_to_depot = |> ^ varse %d archives^ tup varsed %f %o |> $(DEPOT_PKG_DIR)/%d/@(DEPOT_VERSION)/archives
!runtime_to_depot = |> ^ validate %d runtime^ xmllint -schema $(ERRATA_DIR)/runtime.xsd %f > %o |> $(DEPOT_PKG_DIR)/%d/@(DEPOT_VERSION)/runtime $(DEPOT_DIR)/<runtimes>
export PKG_CONFIG_PATH
PKG_CONFIG = PKG_CONFIG_PATH=$(GENODE_DIR)/upstream:pkg-config:$PKG_CONFIG_PATH pkg-config
!raw_to_depot = |> ^ raw/%d/%f^ cp -r %f %o |> $(DEPOT_RAW_DIR)/%d/@(DEPOT_VERSION)/%f
CC = @(TOOL_CHAIN_PREFIX)gcc
CXX = @(TOOL_CHAIN_PREFIX)g++
LD= @(TOOL_CHAIN_PREFIX)ld
AR = @(TOOL_CHAIN_PREFIX)ar
AS = @(TOOL_CHAIN_PREFIX)as
OBJCOPY = @(TOOL_CHAIN_PREFIX)objcopy
ifdef DEPOT_KEY
AS_OPT += $(AS_MARCH)
!depot_bin_tarball = |> ^o archive %d binary^ tar cfJ %o -C $(DEPOT_BIN_DIR)/%d . |> $(PUBLIC_BIN_DIR)/%d/@(DEPOT_VERSION).tar.xz
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
!depot_pkg_tarball = |> ^o archive %d package^ tar cfJ %o -C $(DEPOT_PKG_DIR)/%d . |> $(PUBLIC_PKG_DIR)/%d/@(DEPOT_VERSION).tar.xz
PKG_CONFIG_DIR = $(TUP_CWD)/pkg-config
&PKG_CONFIG_DIR = pkg-config
!depot_raw_tarball = |> ^o archive %d raw^ tar cfJ %o -C $(DEPOT_RAW_DIR)/%d . |> $(PUBLIC_RAW_DIR)/%d/@(DEPOT_VERSION).tar.xz
PKG_CONFIG_PATH = $(PKG_CONFIG_DIR)
PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config
!public_signature = |> ^ sign %b^ gpg --detach-sign --digest-algo SHA256 --no-tty --local-user @(DEPOT_KEY) - < %f > %o |> %f.sig
!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o
!cc = | $(GENODE_DIR)/<pkg-config> |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c %f -o %o |> %B.o
!cc_port = | $(GENODE_DIR)/<pkg-config> |> ^o CC %o^ @(CC_WRAPPER) $(CC) -c -fPIC $(DEFINES) $(CFLAGS) $(CFLAGS_%o) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -o %o |> %B.o
!cxx = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c %f -o %o |> %B.o
!cxx_port = | $(GENODE_DIR)/<pkg-config> |> ^o CXX %o^ @(CC_WRAPPER) $(CXX) -c $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -o %o |> %B.o
!ld = | $(GENODE_DIR)/<lib> $(GENODE_DIR)/<pkg-config> |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` %f -o %o |>
!strip = |> strip -o %o %f |>
&LD_SCRIPT_SO = upstream/repos/base/src/ld/genode_rel.ld
ifeq (@(TUP_ARCH),x86_64)
ASM_SYM_DEPENDENCY = movq \1@GOTPCREL(%rip), %rax
else
ASM_SYM_DEPENDENCY = .long \1
endif
!abi_stub = |> ^ STUB %o^\
sed \
-e "s/^\(\w\+\) D \(\w\+\)\$/.data; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) V/.data; .weak \1; .type \1,%%object; \1:/p" \
-e "s/^\(\w\+\) T/.text; .global \1; .type \1,%%function; \1:/p" \
-e "s/^\(\w\+\) R \(\w\+\)\$/.section .rodata; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) W/.text; .weak \1; .type \1,%%function; \1:/p" \
-e "s/^\(\w\+\) B \(\w\+\)\$/.bss; .global \1; .type \1,%%object; .size \1,\2; \1:/p" \
-e "s/^\(\w\+\) U/.text; .global \1; $(ASM_SYM_DEPENDENCY)/p" \
%f \
| $(CC) -x assembler -c - -o tmp.o; \
$(LD) -o %o \
-shared \
-T &(LD_SCRIPT_SO) \
tmp.o; \
rm tmp.o; \
|> $(STUB_DIR)/%B.lib.so $(GENODE_DIR)/<stub>

12
configs/arm_v8.config Normal file
View File

@ -0,0 +1,12 @@
CONFIG_TUP_ARCH=arm64
CONFIG_TOOL_CHAIN_PREFIX=genode-aarch64-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_NO_NETWORK=
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7

15
configs/i386.config Normal file
View File

@ -0,0 +1,15 @@
CONFIG_TUP_ARCH=x86_64
CONFIG_x86=
CONFIG_TOOL_CHAIN_PREFIX=genode-x86-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_NO_NETWORK=
CONFIG_BUILD_NOVA=y
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7

62
configs/x86_64.config Normal file
View File

@ -0,0 +1,62 @@
CONFIG_TUP_ARCH=x86_64
CONFIG_x86=
CONFIG_TOOL_CHAIN_PREFIX=genode-x86-
CONFIG_CC_WRAPPER=ccache
CONFIG_CXX_WRAPPER=ccache
CONFIG_OFFLINE=
CONFIG_BUILD_NOVA=y
CONFIG_SCULPT_VERSION=19.07
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
CONFIG_PUBLIC_PKG_AUDIO_PLAYER=ehmry/pkg/audio_player/2019-05-15
CONFIG_PUBLIC_PKG_AVPLAY=ehmry/pkg/avplay/2019-04-24
CONFIG_PUBLIC_PKG_BACKDROP=ehmry/pkg/backdrop/2019-05-24
CONFIG_PUBLIC_PKG_NOUX_SYSTEM=ehmry/pkg/noux-system/2019-05-24
CONFIG_PUBLIC_PKG_PDF_VIEW=ehmry/pkg/pdf_view/2019-05-17
CONFIG_PUBLIC_SRC_BASE_NOVA=genodelabs/src/base-nova/2019-05-26
CONFIG_PUBLIC_SRC_BLOCK_SHRED=ehmry/src/block_shred/2019-03-31
CONFIG_PUBLIC_SRC_CHROOT=_/src/chroot
CONFIG_PUBLIC_SRC_EXPAT=nfeske/src/expat/2019-02-19
CONFIG_PUBLIC_SRC_FS_LOG=_/src/fs_log
CONFIG_PUBLIC_SRC_INIT=_/src/init
CONFIG_PUBLIC_SRC_LIBC=nfeske/src/libc/2019-06-24
CONFIG_PUBLIC_SRC_LIBCRYPTO=ehmry/src/libcrypto/2019-05-24
CONFIG_PUBLIC_SRC_LIBICONV=genodelabs/src/libiconv/2019-05-26
CONFIG_PUBLIC_SRC_LIBMPG123=ehmry/src/libmpg123/2019-05-24
CONFIG_PUBLIC_SRC_LIBPNG=ehmry/src/libpng/2019-05-24
CONFIG_PUBLIC_SRC_LIBSSH=ehmry/src/libssh/2019-05-24
CONFIG_PUBLIC_SRC_LIBSSL=ehmry/src/libssl/2019-05-24
CONFIG_PUBLIC_SRC_MENU_VIEW=ehmry/src/menu_view/2019-05-24
CONFIG_PUBLIC_SRC_MESA=ehmry/src/mesa/2019-05-24
CONFIG_PUBLIC_SRC_MOTIF_DECORATOR=ehmry/src/decorator/2019-05-24
CONFIG_PUBLIC_SRC_MP3_AUDIO_SINK=ehmry/src/mp3_audio_sink/2019-05-24
CONFIG_PUBLIC_SRC_NIC_BRIDGE=ehmry/src/nic_bridge/2019-05-24
CONFIG_PUBLIC_SRC_NIT_FB=ehmry/src/nit_fb/2019-05-24
CONFIG_PUBLIC_SRC_NOUX=ehmry/src/noux/2019-05-24
CONFIG_PUBLIC_SRC_NCURSES=ehmry/src/ncurses/2019-05-24
CONFIG_PUBLIC_SRC_POSIX=_/src/posix
CONFIG_PUBLIC_SRC_RAM_BLOCK=alex-ab/src/ram_block/2019-02-25
CONFIG_PUBLIC_SRC_REPORT_ROM=_/src/report_rom
CONFIG_PUBLIC_SRC_ROM_BLOCK=ehmry/src/rom_block/2019-04-05-a
CONFIG_PUBLIC_SRC_SDL=ehmry/src/sdl/2019-05-24
CONFIG_PUBLIC_SRC_SEOUL_NOVA=ehmry/src/seoul-nova/2019-05-01-a
CONFIG_PUBLIC_SRC_SHOW_INPUT=ehmry/src/show_input/2019-05-24
CONFIG_PUBLIC_SRC_SSH_CLIENT=ehmry/src/ssh_client/2019-05-24
CONFIG_PUBLIC_SRC_STDCXX=genodelabs/src/stdcxx/2019-05-27
CONFIG_PUBLIC_SRC_TERMINAL=ehmry/src/terminal/2019-05-24-a
CONFIG_PUBLIC_SRC_VBOX_NOVA=genodelabs/src/vbox5-nova/2019-05-28
CONFIG_PUBLIC_SRC_VFS_AUDIT=ehmry/src/vfs_audit/2019-04-20
CONFIG_PUBLIC_SRC_VFS=_/src/vfs
CONFIG_PUBLIC_SRC_VFS_JITTERENTROPY=ehmry/src/vfs_jitterentropy/2019-05-24
CONFIG_PUBLIC_SRC_VFS_LWIP=ehmry/src/vfs_lwip/2019-05-24
CONFIG_PUBLIC_SRC_VFS_LXIP=ehmry/src/vfs_lxip/2019-05-24
CONFIG_PUBLIC_SRC_VFS_TTF=nfeske/src/vfs_ttf/2019-06-20
CONFIG_PUBLIC_SRC_WINDOW_LAYOUTER=ehmry/src/window_layouter/2019-05-24
CONFIG_PUBLIC_SRC_WM=ehmry/src/wm/2019-05-24
CONFIG_PUBLIC_SRC_ZLIB=genodelabs/src/zlib/2019-05-26

58
default.nix Normal file
View File

@ -0,0 +1,58 @@
{ pkgs ? import <nixpkgs> {} }: with pkgs;
let
lddir = ./upstream/repos/base/src/ld;
toolchain = import ./errata/toolchain.nix { inherit pkgs; };
in
pkgs.mkShell {
name = "genode-dev-env";
nativeBuildInputs =
[ toolchain
stdenv.glibc.dev
git tup
ccache
tcl
gnumake
which
findutils
autoconf264
autogen
cdrtools
expect libxml2 syslinux qemu xorriso
# libc
flex bison
# virtualbox
yasm libxslt iasl
# qt5
gperf
qt5.full
# ncurses
mawk
# fb_sdl
pkgconfig
SDL.dev
alsaLib.dev
# ncurses port needs infocmp
ncurses
];
passthru = { inherit lddir toolchain; };
shellHook =
''
export LD_DIR=${lddir}
export TOOLCHAIN_DIR=${toolchain}
export SYSLINUX=${syslinux}
export PROMPT_DIRTRIM=2
export PS1="\[\033[1;30m\]Genode-dev [\[\033[1;37m\]\w\[\033[1;30m\]] $\[\033[0m\] "
export PS2="\[\033[1;30m\]>\[\033[0m\] "
'';
# Setup a prompt with a distinct appearance
}

12
errata/bin.mk.awk Normal file
View File

@ -0,0 +1,12 @@
{ if ($1 == "local") {
{ tar="public/$(PUBLIC_USER)/bin/$(PUBLIC_ARCH)/"$3"/"$4".tar.xz" }
{ print "all: " tar ".sig" }
{ print tar": "FILENAME }
{ print " @echo tar $@" }
{ print " @mkdir -p $(dir $@)" }
{ print " @tar cfJ $@ --exclude=.ARCHIVES --transform=\"s|^\\.|"$4"|\" -C $(dir $<) ." }
}}

14
errata/bin.tup Normal file
View File

@ -0,0 +1,14 @@
ifeq ($(BIN_NAME),)
error BIN_NAME is empty
endif
ifeq ($(BIN_VERSION),)
error BIN_VERSION is empty
endif
: |> !bin |>
# Finalize the metadata with the macro defined in the
# ../Tuprules.tup. The macro cannot be defined here
# because the "include" directive is not available for
# relative paths during "include_rules" so this file
# cannot be included by intermediate Tuprules.tup.

13
errata/pkg.mk.awk Normal file
View File

@ -0,0 +1,13 @@
{ ver=substr($7,0,6) }
{ tar="public/$(PUBLIC_USER)/pkg/"$6"/"ver".tar.xz" }
{ sig=tar".sig" }
{ print "all: " tar ".sig" }
{ print tar": depot/pkg/"$6"/current/.ARCHIVES" }
{ print " @echo tar $@" }
{ print " @mkdir -p $(dir $@) "ver }
{ print " @sed -f pkg.sed $< > "ver"/archives" }
{ print " @cp $(dir $<)/runtime "ver }
{ print " @tar cfJ $@ "ver }
{ print " @rm -r "ver }

0
errata/pkg.tup Normal file
View File

8
errata/raw.mk.awk Normal file
View File

@ -0,0 +1,8 @@
{ tar="public/$(PUBLIC_USER)/raw/"$3"/"$4".tar.xz" }
{ print "all: " tar ".sig" }
{ print tar": "FILENAME }
{ print " @echo tar $@" }
{ print " @mkdir -p $(dir $@)" }
{ print " @tar cfJ $@ --exclude=.ARCHIVES --transform=\"s|^\\.|"$4"|\" -C $(dir $<) ." }

14
errata/raw.tup Normal file
View File

@ -0,0 +1,14 @@
ifeq ($(RAW_NAME),)
error RAW_NAME is empty
endif
ifeq ($(RAW_VERSION),)
error RAW_VERSION is empty
endif
: |> !raw |>
# Finalize the metadata with the macro defined in the
# ../Tuprules.tup. The macro cannot be defined here
# because the "include" directive is not available for
# relative paths during "include_rules" so this file
# cannot be included by intermediate Tuprules.tup.

View File

@ -19,10 +19,13 @@
<xs:element name="log" type="template_service"/>
<xs:element name="nic" type="template_service"/>
<xs:element name="nitpicker" type="template_service"/>
<xs:element name="platform" type="template_service"/>
<xs:element name="report" type="template_service"/>
<xs:element name="rm" type="template_service"/>
<xs:element name="rom" type="template_service"/>
<xs:element name="rtc" type="template_service"/>
<xs:element name="terminal" type="template_service"/>
<xs:element name="usb" type="template_service"/>
</xs:choice>
</xs:complexType>
@ -61,6 +64,7 @@
<xs:attribute name="ram" type="Number_of_bytes" />
<xs:attribute name="caps" type="xs:positiveInteger" />
<xs:attribute name="binary" type="xs:string" />
<xs:attribute name="config" type="xs:string" />
</xs:complexType>
</xs:element>

68
errata/toolchain.nix Normal file
View File

@ -0,0 +1,68 @@
{ pkgs ? import <nixpkgs> {} }: with pkgs;
let
genodeVersion = "19.05";
glibcVersion = (builtins.parseDrvName stdenv.glibc.name).version;
in
stdenv.mkDerivation rec {
name = "genode-toolchain-${genodeVersion}";
version = genodeVersion;
src =
if stdenv.isx86_64 then
fetchurl {
url = "https://downloads.sourceforge.net/project/genode/genode-toolchain/${genodeVersion}/genode-toolchain-${genodeVersion}-x86_64.tar.xz";
sha256 = "036czy21zk7fvz1y1p67q3d5hgg8rb8grwabgrvzgdsqcv2ls6l9";
}
else abort "no toolchain for ${stdenv.system}";
buildInputs = [ patchelf ];
dontPatchELF = true;
# installPhase is disabled for now
phases = "unpackPhase fixupPhase";
unpackPhase = ''
mkdir -p $out
echo "unpacking $src..."
tar xf $src --strip-components=5 -C $out
'';
installPhase = ''
cd $out/bin
for platform in arm x86 ; do
dest="$"$platform"/bin"
eval dest=$"$dest"
mkdir -p $dest
for b in genode-$platform-* ; do
eval ln -s $b $dest/$\{b#genode-$platform-\}
done
done
cd -
'';
fixupPhase = ''
interp=${stdenv.glibc.out}/lib/ld-${glibcVersion}.so
if [ ! -f "$interp" ] ; then
echo new interpreter $interp does not exist,
echo cannot patch binaries
exit 1
fi
for f in $(find $out); do
if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
patchelf --set-interpreter $interp \
--set-rpath $out/lib:${stdenv.glibc.out}/lib:${zlib.out}/lib \
"$f" || true
fi
done
'';
passthru = { libc = stdenv.glibc; };
}

128
index.xml Normal file
View File

@ -0,0 +1,128 @@
<index>
<index name="Audio">
<pkg path="_/pkg/mixer" info="Mixer component"/>
<pkg path="_/pkg/bsd_audio_drv" info="OpenBSD audio driver (mixer client)"/>
<pkg path="ehmry/pkg/audio_player/2019-05-24" info="Cnuke's audio player"/>
<index name="Radio streams">
<pkg path="_/pkg/ifm1" info="Intergalactic FM 1"/>
<pkg path="_/pkg/ifm2" info="Intergalactic FM 2"/>
<pkg path="_/pkg/ifm3" info="Intergalactic FM 3"/>
</index>
</index>
<index name="Emulators and game engines">
<pkg path="_/pkg/dosbox" info="Experimental Libretro port of DOSBox"/>
<pkg path="_/pkg/fceumm" info="NES"/>
<pkg path="_/pkg/gambatte" info="GB"/>
<pkg path="_/pkg/mgba" info="GBA"/>
<pkg path="_/pkg/nxengine" info="Cave Story engine without game data"/>
<pkg path="_/pkg/snes9x" info="SNES"/>
<index name="Tests">
<pkg path="_/pkg/240pee-NES" info="NES tests"/>
<pkg path="_/pkg/240pSuite-SNES" info="SNES tests"/>
<pkg path="_/pkg/advanced_tests" info="An advanced test core written in C"/>
<pkg path="_/pkg/button_test" info="Libretro joypad button test"/>
<pkg path="_/pkg/topbench_dosbox-libretro" info="The Oldskool PC Benchmark running in DOSBox"/>
<pkg path="_/pkg/topbench_dosbox-svn" info="The Oldskool PC Benchmark running in DOSBox"/>
</index>
</index>
<index name="Games">
<pkg path="_/pkg/2048" info="Threes! clone"/>
<pkg path="ehmry/pkg/abuse/2019-05-24" info="Side-scrolling shooter"/>
<pkg path="_/pkg/cave_story-en" info="Cave Story ~ Doukutsu Monogatari is a jumping-and-shooting action game."/>
<pkg path="_/pkg/mrboom" info="Bomberman clone"/>
<pkg path="_/pkg/quake_dopa" info="Quake Episode 5: Dimension of the Past (id1/pak1.pak required)"/>
<pkg path="_/pkg/streemerz" info="Streemerz remake"/>
<pkg path="_/pkg/tyrquake" info="Quake (shareware pak)"/>
</index>
<index name="Block devices">
<!-- <pkg path="_/pkg/alpine-standard-x86" info="Alpine live ISO service"/> -->
<!-- <pkg path="_/pkg/alpine-virt-x86_64" info="Alpine live ISO service"/> -->
<pkg path="_/pkg/dummy_block" info="Dummy block device"/>
<pkg path="_/pkg/fs_block_4G" info="File-system backed 4GiB block device"/>
<pkg path="_/pkg/fs_block_8G" info="File-system backed 8GiB block device"/>
<!-- <pkg path="_/pkg/ReactOS-live" info="ReactOS live ISO service"/> -->
</index>
<index name="VMMs">
<pkg path="genodelabs/pkg/vbox5-nova-sculpt/2019-03-18" info="VBox5 for running Linux"/>
<pkg path="_/pkg/seoul-nova" info="Seoul VMM with routable block devices"/>
<index name="Installers">
<pkg path="_/pkg/fetch_alpine_x86_64" info="Fetch Alpine Linux virt ISO"/>
<pkg path="_/pkg/fetch_freebsd_12_amd64" info="Fetch FreeBSD 12 mini-memstick"/>
<pkg path="_/pkg/fetch_nixos_x86_64" info="Fetch NixOS minimal ISO"/>
<pkg path="_/pkg/fetch_ubuntu_x86_64" info="Fetch Ubuntu netboot installer ISO"/>
</index>
<index name="Experimental">
<pkg path="_/pkg/alpine_seoul_nova_installer" info="Alpine Linux installer as a Seoul VMM with routeable block device"/>
<pkg path="_/pkg/openbsd_seoul_nova_installer" info="OpenBSD installer as a Seoul VMM with routeable block device"/>
<pkg path="_/pkg/vbox5-nova" info="Vbox with routable block devices"/>
</index>
</index>
<index name="Operating system demos">
<pkg path="_/pkg/ban.ai_multics" info="BAN.AI Public Access Multics"/>
<pkg path="_/pkg/oberon" info="Oberon RISC emulator (requires three-button mouse)"/>
<pkg path="_/pkg/soyuz" info="Training program for the Soyuz-TMA spacecraft"/>
<pkg path="_/pkg/templeos" info="The Temple Operating System hosted in VirtualBox for NOVA"/>
</index>
<index name="Utility">
<index name="Graphic">
<!-- <pkg path="ehmry/pkg/flif_capture/2019-03-22" info="Screen capture utility"/> -->
<pkg path="_/pkg/backdrop" info="Nitpicker backdrop"/>
<!-- <pkg path="ehmry/pkg/flif_view/2019-03-22" info="FLIF file viewer (experimental)"/> -->
<pkg path="ehmry/pkg/grafx2/2019-05-24" info="Bitmap paint program (ported by cnuke)"/>
</index>
<index name="Network">
<pkg path="_/pkg/arora" info="Arora web browser (cproc's package with clipboard)"/>
<pkg path="_/pkg/nic_bridge" info="Ethernet bridge"/>
<pkg path="_/pkg/nic_bridge_logged" info="Logged ethernet bridge"/>
<pkg path="_/pkg/nic_bus" info="Switched ethernet bus"/>
<pkg path="_/pkg/ninep" info="9P server"/>
<pkg path="_/pkg/ssh_client" info="SSH client"/>
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
<pkg path="_/pkg/kiosk" info="Kiosk-style web browser"/>
</index>
<index name="UI">
<pkg path="ehmry/pkg/themed_wm/2019-05-24" info="Window manager that should work"/>
<pkg path="_/pkg/wm" info="Base window manager"/>
<pkg path="_/pkg/motif_decorator" info="Motif style window decorator"/>
<pkg path="_/pkg/carn_layouter" info="Piling window layouter"/>
</index>
<index name="Other">
<!-- <pkg path="_/pkg/block_shred" info="Fill a block device with psuedo-random noise"/> -->
<pkg path="_/pkg/depot_9P" info="Serve /depot/local over 9P"/>
<!-- <pkg path="ehmry/pkg/jitter_sponge/2019-03-31" info="Entropy source"/> -->
<!-- <pkg path="ehmry/pkg/noux-build-x86/2019-03-20" info="Noux build environment"/> -->
<pkg path="_/pkg/noux-system" info="Noux administration environment"/>
<pkg path="_/pkg/show_input" info="Nitpicker input event debugger"/>
</index>
</index>
<index name="Experimental">
<index name="Semantic audio player demo">
<pkg path="_/pkg/blob_service" info="Blobsets package with file-system and HTTP frontends"/>
<pkg path="_/pkg/musicbrainz_playlist_generator" info="XSPF playlist generator"/>
<pkg path="_/pkg/xspf_view" info="XSPF playlist viewer"/>
</index>
<pkg path="_/pkg/4do" "3DO emulator"/>
<pkg path="ehmry/pkg/avplay/2019-05-24"/>
<pkg path="_/pkg/bluemsx"/>
<pkg path="_/pkg/cruzes" info="An unfinished Picross Libretro core"/>
<pkg path="_/pkg/monero_vanity"/>
<pkg path="_/pkg/mu"/>
<pkg path="_/pkg/testgl"/>
<pkg path="_/pkg/yabause" info="Sega Saturn emulator/>
</index>
<pkg path="ehmry/pkg/fonts_fs/2019-05-24" info="Fonts provider"/>
<pkg path="_/pkg/chroot" info="Automatic file-system session partitioner"/>
</index>

View File

@ -1,25 +0,0 @@
include_rules
ifndef SCULPT_VERSION
error CONFIG_SCULPT_VERSION is undefined
endif
DEPOT_INDEX_FILE = $(DEPOT_DIR)/index/@(SCULPT_VERSION)
ifneq (@(DEPOT_USER),local)
: index.xml |> tup varsed %f - | xmllint - > %o |> $(DEPOT_INDEX_FILE) {index}
else
: $(DEPOT_DIR)/<runtimes> |> ^ generate index^ \
echo '<index>' > %o; \
echo %<runtimes> | tr ' ' '\n' | sort |\
sed \
-e 's|\.\./depot/| <pkg path="|' \
-e 's|runtime|"/>|' \
- >> %o; \
echo '</index>' >> %o |> $(DEPOT_INDEX_FILE) {index}
endif
ifdef DEPOT_KEY
: {index} |> xz -c %f > %o |> $(PUBLIC_DIR)/index/%b.xz {dist}
: {dist} |> !public_signature |>
endif

View File

@ -1,36 +0,0 @@
<index>
<index name="Radio streams">
<pkg path="@DEPOT_USER@/pkg/ifm1/@DEPOT_VERSION@" info="CYBERNETIC BROADCASTING SYSTEM (underrun)"/>
<pkg path="@DEPOT_USER@/pkg/ifm2/@DEPOT_VERSION@" info="DISCO FETISH (underrun)"/>
<pkg path="@DEPOT_USER@/pkg/ifm3/@DEPOT_VERSION@" info="DREAM MACHINE (underrun)"/>
</index>
<index name="Emulators">
<pkg path="@DEPOT_USER@/pkg/fceumm/@DEPOT_VERSION@" info="NES"/>
<pkg path="@DEPOT_USER@/pkg/mgba/@DEPOT_VERSION@" info="GBA"/>
<pkg path="@DEPOT_USER@/pkg/snes9x/@DEPOT_VERSION@" info="SNES"/>
<index name="Experimental">
<pkg path="@DEPOT_USER@/pkg/4do/@DEPOT_VERSION@" info="3DO"/>
<pkg path="@DEPOT_USER@/pkg/dosbox/@DEPOT_VERSION@" info="DOS"/>
<pkg path="@DEPOT_USER@/pkg/oberon/@DEPOT_VERSION@" info="Oberon RISC (requires three-button mouse)"/>
</index>
</index>
<index name="Games">
<pkg path="@DEPOT_USER@/pkg/2048/@DEPOT_VERSION@" info="Threes! clone"/>
<pkg path="@DEPOT_USER@/pkg/tyrquake/@DEPOT_VERSION@" info="Tyrquake"/>
</index>
<index name="Utilities">
<pkg path="@DEPOT_USER@/pkg/button_test/@DEPOT_VERSION@" info="Libretro joypad button test"/>
<pkg path="@DEPOT_USER@/pkg/flif_capture/@DEPOT_VERSION@" info="Screen capture utility"/>
<index name="Experimental">
<pkg path="@DEPOT_USER@/pkg/monero_vanity/@DEPOT_VERSION@" info="Monero vanity address generator"/>
<pkg path="@DEPOT_USER@/pkg/ninep/@DEPOT_VERSION@" info="9P server"/>
<pkg path="@DEPOT_USER@/pkg/musicbrainz_playlist_generator/@DEPOT_VERSION@" info="MusicBrainz playlist generator"/>
</index>
</index>
</index>

View File

@ -1,46 +0,0 @@
include_rules
CXX = `pkg-config genode-base --variable cxx`
LD = `pkg-config genode-base --variable ld`
PKG_CONFIGS = genode-lib stdcxx libm
# See upstream/src/CMakeLists.txt
FLIF_SRC_DIR = upstream/src
FILES_CPP = \
$(FLIF_SRC_DIR)/image/crc32k.cpp \
$(FLIF_SRC_DIR)/image/image-metadata.cpp \
$(FLIF_SRC_DIR)/image/image-pam.cpp \
$(FLIF_SRC_DIR)/image/image-png.cpp \
$(FLIF_SRC_DIR)/image/image-pnm.cpp \
$(FLIF_SRC_DIR)/image/image-rggb.cpp \
$(FLIF_SRC_DIR)/image/image.cpp \
$(FLIF_SRC_DIR)/maniac/bit.cpp \
$(FLIF_SRC_DIR)/maniac/chance.cpp \
$(FLIF_SRC_DIR)/maniac/symbol.cpp \
$(FLIF_SRC_DIR)/transform/factory.cpp \
$(FLIF_SRC_DIR)/io.cpp \
$(FLIF_SRC_DIR)/common.cpp \
$(FLIF_SRC_DIR)/flif-enc.cpp \
$(FLIF_SRC_DIR)/library/flif-interface.cpp \
$(FLIF_SRC_DIR)/../extern/lodepng.cpp \
CXXFLAGS += -std=gnu++11
CXXFLAGS += -DLODEPNG_NO_COMPILE_PNG -DLODEPNG_NO_COMPILE_DISK
CXXFLAGS += -DNDEBUG -O2 -ftree-vectorize -Wall
CXXFLAGS += -DINT16_MAX=0x7fff
CXXFLAGS += `pkg-config --cflags $(PKG_CONFIGS) png zlib`
LDFLAGS += `pkg-config --libs $(PKG_CONFIGS)`
: foreach $(FILES_CPP) |> ^ CXX %f^ $(CXX) -c %f -o %o $(CXXFLAGS) |> %b.o {objects}
: {objects} |> ^o LD %o^ $(LD) %f -o %o $(LDFLAGS) |> libflif.lib.so
: libflif.lib.so |> strip -o %o %f |> $(DEPOT_BIN_DIR)/%d/@(DEPOT_VERSION)/%b {binary}
ifdef DEPOT_KEY
: {binary} |> !depot_bin_tarball |> {tarballs}
: foreach {tarballs} |> !public_signature |>
endif

View File

@ -1,81 +0,0 @@
flif_abort_decoder T
flif_create_decoder T
flif_create_encoder T
flif_create_image_GRAY16 T
flif_create_image_GRAY T
flif_create_image_HDR T
flif_create_image_PALETTE T
flif_create_image_RGB T
flif_create_image T
flif_decoder_decode_filepointer T
flif_decoder_decode_file T
flif_decoder_decode_memory T
flif_decoder_generate_preview T
flif_decoder_get_image T
flif_decoder_num_images T
flif_decoder_num_loops T
flif_decoder_set_callback T
flif_decoder_set_crc_check T
flif_decoder_set_first_callback_quality T
flif_decoder_set_fit T
flif_decoder_set_quality T
flif_decoder_set_resize T
flif_decoder_set_scale T
flif_destroy_decoder T
flif_destroy_encoder T
flif_destroy_image T
flif_destroy_info T
flif_encoder_add_image_move T
flif_encoder_add_image T
flif_encoder_encode_file T
flif_encoder_encode_memory T
flif_encoder_set_alpha_zero_lossless T
flif_encoder_set_auto_color_buckets T
flif_encoder_set_chance_alpha T
flif_encoder_set_chance_cutoff T
flif_encoder_set_channel_compact T
flif_encoder_set_crc_check T
flif_encoder_set_divisor T
flif_encoder_set_frame_shape T
flif_encoder_set_interlaced T
flif_encoder_set_learn_repeat T
flif_encoder_set_lookback T
flif_encoder_set_lossy T
flif_encoder_set_min_size T
flif_encoder_set_palette_size T
flif_encoder_set_split_threshold T
flif_encoder_set_ycocg T
flif_free_memory T
flif_image_free_metadata T
flif_image_get_depth T
flif_image_get_frame_delay T
flif_image_get_height T
flif_image_get_metadata T
flif_image_get_nb_channels T
flif_image_get_palette_size T
flif_image_get_palette T
flif_image_get_width T
flif_image_read_row_GRAY16 T
flif_image_read_row_GRAY8 T
flif_image_read_row_PALETTE8 T
flif_image_read_row_RGBA16 T
flif_image_read_row_RGBA8 T
flif_image_set_frame_delay T
flif_image_set_metadata T
flif_image_set_palette T
flif_image_write_row_GRAY16 T
flif_image_write_row_GRAY8 T
flif_image_write_row_PALETTE8 T
flif_image_write_row_RGBA16 T
flif_image_write_row_RGBA8 T
flif_import_image_GRAY16 T
flif_import_image_GRAY T
flif_import_image_PALETTE T
flif_import_image_RGBA T
flif_import_image_RGB T
flif_info_get_depth T
flif_info_get_height T
flif_info_get_nb_channels T
flif_info_get_width T
flif_info_num_images T
flif_read_info_from_memory T

@ -1 +0,0 @@
Subproject commit 74ea92bf1ab2db18ae6d2a521dff946fcc679618

3
libretro/README.md Normal file
View File

@ -0,0 +1,3 @@
This directory contains submodules for the Libretro frontend, a version of
libretro-common that is know to work with Genode, and a collection of cores and
build rules.

View File

@ -1,6 +1,3 @@
CC = `pkg-config genode-base --variable cc`
CXX = `pkg-config genode-base --variable cxx`
LD = `pkg-config genode-base --variable ld`
AR = `pkg-config genode-base --variable ar`
CFLAGS += -DFRONTEND_SUPPORTS_RGB565
LIBRETRO_COMM_DIR = $(TUP_CWD)/libretro-common
GIT_VERSION = `git describe --always`
BIN_VERSION = $(GIT_VERSION)

@ -0,0 +1 @@
Subproject commit d714defae18cc6f3019638a8c7cf6c1d86e33ead

View File

@ -1,12 +0,0 @@
include_rules
GIT_VERSION = `git describe --always`
CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
CFLAGS += -O2 -DNDEBUG
CORE_DIR = core
include $(CORE_DIR)/Makefile.common
CFLAGS += $(INCFLAGS)
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,14 @@
CORE_PKGS += libc libm
CFLAGS += -O3 -Wall -pedantic -std=gnu99
include upstream/Makefile.common
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,4 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/2048/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit bde4a6e130c15775f340affda3c870451c0434e2

View File

@ -1,7 +1,6 @@
<runtime ram="16M" caps="128" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
</requires>

@ -0,0 +1 @@
Subproject commit b8d222ace1bf1962423111e395e01d4674776270

View File

@ -1,22 +0,0 @@
include_rules
GIT_VERSION = `git describe --always`
CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
CFLAGS += -O2 -DNDEBUG
CORE_DIR = core
include $(CORE_DIR)/Makefile.common
CFLAGS += $(INCFLAGS)
CFLAGS += \
-Wall \
-Wno-sign-compare \
-Wno-unused-variable \
-Wno-unused-function \
-Wno-uninitialized \
-Wno-strict-aliasing \
-Wno-overflow \
-fno-strict-overflow \
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,24 @@
CORE_PKGS += libc
DEFINES += -O2 -DNDEBUG
DEFINES += \
-Wall \
-Wno-sign-compare \
-Wno-unused-variable \
-Wno-unused-function \
-Wno-uninitialized \
-Wno-strict-aliasing \
-Wno-overflow \
-fno-strict-overflow \
include upstream/Makefile.common
DEFINES += $(FLAGS)
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>

View File

@ -1,4 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/4do/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit a768009caf5c992a029b5db79e7cdaf8d0ec98ed

View File

@ -4,10 +4,10 @@
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>

@ -0,0 +1 @@
Subproject commit 8c2b1cf0ccd8ea8a36ae1ed7aa09ae7c2b3dc1cd

25
libretro/cores/README.md Normal file
View File

@ -0,0 +1,25 @@
This directory contains core submodules and Genode-specific build rules. To port
a core to Genode, add a minimal Tupfile to the upsteam repository, add a new
directory containing the upstream Git repository here as submodule, then add a
Tuprules.tup file in the local directory containg Genode build rules.
The upstream `Tupfile` should be as simple as possible. It must mirror the core
*TARGET_NAME* defined in the Libretro makefile, the *CORE_DIR* if defined by
Make as well, and the *include_rules* directive.
```tup
TARGET_NAME=2048
CORE_DIR=$(TUP_CWD)
include_rules
```
The local `Tuprules.tup` file contains the actual build rules. Typically a core
repository contains `Makefile` and `Makefile.common` files, the later containing
a list of sources files relative to a `CORE_DIR` variable, which can usually be
included and parsed by Tup. Note that Tup cannot include files relative to a
variable, `Tuprules.tup` must include `Makefile.common` relative to itself.
Please refer to a `Tuprules.tup` in any of the core directories here as an
example.
Unfortunately not all cores are trivally compatible with Tup, in particular
those with makefiles that wrap a pre-Libretro Make build system.

View File

@ -1 +1,38 @@
LIBRETRO_CORE_INCLUDE = $(TUP_CWD)/core.tup
# Implicit dependencies
PKG_DEPENDS += \
_/src/vfs \
@(PUBLIC_SRC_LIBC) \
_/src/$(BIN_NAME) \
_/src/retro_frontend \
!libretro_cc = | $(GENODE_DIR)/<pkg-config> |> ^ CC %f^ \
$(CC) \
$(DEFINES) \
`$(PKG_CONFIG) --cflags $(CORE_PKGS)` \
$(CFLAGS) $(INCFLAGS) \
`$(PKG_CONFIG) --cflags genode-lib` \
-c %f -o %o \
|> %f.$(TARGET_NAME).o
!libretro_cxx = | $(GENODE_DIR)/<pkg-config> |> ^ CXX %f^ \
$(CXX) \
$(DEFINES) \
`$(PKG_CONFIG) --cflags $(CORE_PKGS)` \
$(CXXFLAGS) $(INCFLAGS) \
`$(PKG_CONFIG) --cflags genode-lib` \
-c %f -o %o \
|> %f.$(TARGET_NAME).o
!libretro_core_link = | $(GENODE_DIR)/<pkg-config> $(GENODE_DIR)/<stub> |> ^o LD %d^ \
$(LD) %f -o %o \
-shared --version-script=$(LINK_T) $(NO_UNDEFINED) \
$(LDFLAGS) \
`$(PKG_CONFIG) --libs $(CORE_PKGS)` \
`$(PKG_CONFIG) --libs genode-lib` \
-L$(STUB_DIR) \
|> libretro.so
LINK_T = $(TUP_CWD)/link.T
DEFINES += -fPIC -D__LIBRETRO__ -DFRONTEND_SUPPORTS_RGB565
DEFINES += -DGIT_VERSION=\"$(GIT_VERSION)\"
NO_UNDEFINED = --no-undefined

View File

@ -0,0 +1,51 @@
CORE_PKGS += stdcxx libc libm
NO_UNDEFINED =
LIBRETRO_COMM_DIR =
DEBUG = 0
LOG_PERFORMANCE = 0
HAVE_COMPAT = 0
ifeq ($(DEBUG), 1)
DEFINES += -O0 -g
else
DEFINES += -O2 -DHAVE_STDINT_H -DNDEBUG
CXXFLAGS += -fno-exceptions -fno-rtti
endif
ifeq ($(LOG_PERFORMANCE), 1)
DEFINES += -DLOG_PERFORMANCE
endif
include upstream/Makefile.common
DEFINES += $(COREDEFINES)
CFLAGS += -w
CXXFLAGS += -w
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
ifndef CONFIG_NO_NETWORK
: |> wget --quiet http://bluemsx.msxblue.com/rel_download/%o |> blueMSXv282.zip {zip}
: {zip} \
|> unzip %f -d tmp ; tar cf %o -C tmp Machines Databases ; rm -r tmp \
|> blueMSX.tar {tar}
: {tar} |> !collect_raw |>
: |> !raw |>
endif
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
_/raw/bluemsx \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -0,0 +1,44 @@
<runtime ram="32M" caps="256" binary="retro_frontend">
<requires>
<audio_out/>
<file_system label="MSX"/>
<nitpicker/>
<rm/>
<rtc/>
</requires>
<content>
<rom label="blueMSX.tar"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<dir name="system">
<tar name="blueMSX.tar"/> </dir>
<fs label="MSX"/>
<dir name="dev"> <log label="core"/> <rtc/> </dir>
</vfs>
<game/>
<default-controller port="0" device="1">
<map from="KEY_LEFT" to="LEFT"/>
<map from="KEY_RIGHT" to="RIGHT"/>
<map from="KEY_UP" to="UP"/>
<map from="KEY_DOWN" to="DOWN"/>
<map from="KEY_Z" to="B"/>
<map from="KEY_X" to="A"/>
<map from="KEY_ENTER" to="START"/>
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
</default-controller>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit 71fe7c9fe6b9049cb98c64ab230ce18b5d8554e0

View File

@ -1,10 +0,0 @@
include_rules
CORE_DIR = ../samples/input/button_test
CFLAGS += -O3 -std=gnu99 -Wall -pedantic
CFLAGS += -I$(CORE_DIR)/libretro-common/include
SOURCES_C = $(CORE_DIR)/libretro.c
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -1,4 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/button_test/@DEPOT_VERSION@

View File

@ -1,30 +0,0 @@
CORE_PKGS += genode-lib
ifeq ($(SOURCES_CXX),)
CORE_PKGS += libc
else
CORE_PKGS += stdcxx
endif
CFLAGS += -D__LIBRETRO__
!libretro_cc = |> ^ CC %f^ $(CC) `pkg-config --cflags $(CORE_PKGS)` $(CFLAGS) -c %f -o %o |> %f.o
!libretro_cxx = |> ^ CXX %f^ $(CXX) `pkg-config --cflags $(CORE_PKGS)` $(CFLAGS) $(CXXFLAGS) $(INCFLAGS) -c %f -o %o |> %f.o
!libretro_core_link = |> ^o LD %d^ $(LD) -shared --version-script=$(TUP_CWD)/link.T %f -o %o `pkg-config --libs $(CORE_PKGS)` $(LDFLAGS) |> libretro.so
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {binary}
: {binary} |> !strip_to_depot |> {depot_bin}
: archives | {depot_bin} |> !archives_to_depot |> {package}
: runtime |> !runtime_to_depot |> {package}
ifdef DEPOT_KEY
: {binary} |> !depot_bin_tarball |> {tarballs}
: {package} |> !depot_pkg_tarball |> {tarballs}
: foreach {tarballs} |> !public_signature |>
endif

@ -1 +1 @@
Subproject commit 387d6128ffedadefaf60eae5cf9037123f185abf
Subproject commit d68f520a6ff70bd7980a6df3b82c25e3b1deb92f

View File

@ -0,0 +1,31 @@
CORE_PKGS += stdcxx libm
NO_UNDEFINED =
# Uses Genode API to create secondary stack
LIBRETRO_COMM_DIR =
# TODO: build against newer libretro-common
WITH_DYNAREC = @(TUP_ARCH)
# TODO: will not configure correctly for every possible TUP_ARCH
include upstream/Makefile.common
SOURCES_CXX += $(LIBRETRO_COMM_DIR)/libco/genode.cpp
DEFINES += -O2 -DNDEBUG -D__GENODE__
CFLAGS += $(COMMONFLAGS)
DEFINES += -DHAVE_MMAP
# Use anonymous mmap to allocate executable memory pages
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -0,0 +1,30 @@
<runtime ram="128M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
<rtc/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config ld_verbose="yes">
<game path="/fs/dosbox.conf"/>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<dir name="fs"> <fs/> </dir>
<dir name="dev"> <log label="core"/> <rtc/> </dir>
</vfs>
<default-controller port="0" device="771"/>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit 6dc49e4356c78ae097fa39d5e3ccb7e50215d4bd

View File

@ -0,0 +1,45 @@
CORE_PKGS += stdcxx libm
NO_UNDEFINED =
# Uses Genode API to create secondary stack
#LIBRETRO_COMM_DIR =
ifeq (@(TUP_ARCH),arm64)
WITH_DYNAREC = arm64
endif
ifeq (@(TUP_ARCH),i386)
WITH_DYNAREC = x86
endif
ifeq (@(TUP_ARCH),x86_64)
WITH_DYNAREC = x86_64
endif
ifeq ($(WITH_DYNAREC),)
error dynamic recompiler not configured for @(TUP_ARCH)
endif
WITH_FAKE_SDL = 1
include upstream/libretro/Makefile.common
DEFINES += -O1 -DNDEBUG -D__GENODE__ -DWITH_FAKE_SDL
DEFINES += -DDB_HAVE_CLOCK_GETTIME
DEFINES += $(COMMONFLAGS)
DEFINES += -DHAVE_MMAP
# Use anonymous mmap to allocate executable memory pages
SOURCES_CXX += $(LIBRETRO_COMM_DIR)/libco/genode.cpp
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -0,0 +1,30 @@
<runtime ram="128M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
<rtc/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<game path="/fs/dosbox.conf"/>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<dir name="fs"> <fs/> </dir>
<dir name="dev"> <log label="core"/> <rtc/> </dir>
</vfs>
<default-controller port="0" device="771"/>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit fe8f21212739a3ded2b06d80a27f4c06d4331996

View File

@ -1,16 +0,0 @@
include_rules
WITH_DYNAREC = @(TUP_ARCH)
# TODO: will not configure correctly for every possible TUP_ARCH
CORE_DIR = core
include $(CORE_DIR)/Makefile.common
CFLAGS += $(INCFLAGS)
SOURCES_CXX += ../../libretro-common/libco/genode.cpp
GIT_VERSION = `git describe --always`
CFLAGS += -O2 -DNDEBUG -DGIT_VERSION=\"$(GIT_VERSION)\" -D__GENODE__
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -1,5 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@SDK_USER@/src/stdcxx/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/dosbox/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit 7216efe33153f028573ad68a843d897bdb11a69c

View File

@ -1,15 +0,0 @@
include_rules
GIT_VERSION = `git describe --always`
CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
CFLAGS += -O2 -DNDEBUG
CFLAGS += -DWANT_GRIFFIN
CORE_DIR = core/src
include $(CORE_DIR)/../Makefile.common
CFLAGS += -DSOUND_QUALITY=0 -DPATH_MAX=1024 -DFCEU_VERSION_NUMERIC=9813 -DINLINE=inline -DPSS_STYLE=1
CFLAGS += -Wno-write-strings
CFLAGS += $(INCFLAGS)
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,19 @@
CORE_PKGS += libc libm
DEFINES += -O2 -DNDEBUG
DEFINES += -DWANT_GRIFFIN
include upstream/Makefile.common
DEFINES += -DSOUND_QUALITY=0 -DPATH_MAX=1024 -DFCEU_VERSION_NUMERIC=9813 -DINLINE=inline -DPSS_STYLE=1
DEFINES += -Wno-write-strings
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,4 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/fceumm/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit b5190048b7250d4d73f712ed26182eee8cc979c3

View File

@ -4,10 +4,10 @@
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>

@ -0,0 +1 @@
Subproject commit 4e1bdaaed021b0f6587c61f18de081bc3876f887

View File

@ -0,0 +1,24 @@
CORE_PKGS += stdcxx
NO_UNDEFINED =
LIBRETRO_COMM_DIR =
DEFINES += -O2 -DNDEBUG
DEFINES += -DHAVE_STDINT_H
DEFINES += -D__LIBRETRO__ -DHAVE_STDINT_H -DHAVE_INTTYPES_H
DEFINES += -DINLINE=inline -DVIDEO_RGB565
include upstream/Makefile.common
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

@ -1 +0,0 @@
Subproject commit ffce1f0e93111bec77b3778273297536fcfb612a

View File

@ -0,0 +1,40 @@
<runtime ram="8M" caps="128" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="stdcxx.lib.so"/>
<rom label="retro_frontend"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<vfs>
<fs/>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
<game/>
<default-controller port="0" device="1">
<map from="KEY_LEFT" to="LEFT"/>
<map from="KEY_RIGHT" to="RIGHT"/>
<map from="KEY_UP" to="UP"/>
<map from="KEY_DOWN" to="DOWN"/>
<map from="KEY_Z" to="B"/>
<map from="KEY_X" to="A"/>
<map from="KEY_ENTER" to="START"/>
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
</default-controller>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit 5fd9a1fb1dc2ae259f9f0edd7fce1549465f4fe9

@ -0,0 +1 @@
Subproject commit ceab569d88da6846bc632a79961fb30b1aa8c186

View File

@ -1,14 +0,0 @@
include_rules
GIT_VERSION = `git describe --always`
CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
CFLAGS += -O3
CFLAGS += -DHAVE_STRNDUP -DHAVE_STRDUP -DDISABLE_THREADING
CORE_DIR = core
include $(CORE_DIR)/libretro-build/Makefile.common
CFLAGS += $(RETRODEFS)
CFLAGS += $(INCLUDES)
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,27 @@
CORE_PKGS += libc libm
include upstream/libretro-build/Makefile.common
DEFINES += -DMINIMAL_CORE=2 -DM_CORE_GBA -DM_CORE_GB
DEFINES += -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_LOCALE -DHAVE_LOCALTIME_R
DEFINES += -DINLINE=inline
DEFINES += -DCOLOR_16_BIT -DCOLOR_5_6_5
DEFINES += -DRESAMPLE_LIBRARY=2
DEFINES += -DM_PI=3.14159265358979323846
DEFINES += -DNDEBUG
DEFINES += -DUSE_VFS_FILE
CFLAGS += -O3
CFLAGS += $(INCLUDES)
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,5 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@SDK_USER@/src/stdcxx/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/mgba/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit afe210e574bda6bf17a2a42d40d22f670752a5be

View File

@ -4,10 +4,10 @@
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>

@ -0,0 +1 @@
Subproject commit 22c7ae749b9b46fb0343d8f25238db62ca6156ef

View File

@ -0,0 +1,28 @@
CORE_PKGS += stdcxx libc libm
NO_UNDEFINED =
# Uses Genode API to create secondary stack
LIBRETRO_COMM_DIR =
# TODO: update libretro-common
CFLAGS += -O3
CFLAGS += -DMRBOOM -DHAVE_IBXM -D_FORTIFY_SOURCE=0
CFLAGS += -DPLATFORM=\"genode\"
CFLAGS += -std=gnu99
CXXFLAGS += -std=c++98
include upstream/Makefile.common
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
@(PUBLIC_SRC_STDCXX) \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

@ -1 +0,0 @@
Subproject commit 7f18b80a2794cd82d222febeb2fdc9a340fa54dc

View File

@ -0,0 +1,44 @@
<runtime ram="16M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<nitpicker/>
<file_system/>
<rm/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<fs/>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
<default-controller port="0" device="1">
<map from="KEY_LEFT" to="LEFT"/>
<map from="KEY_RIGHT" to="RIGHT"/>
<map from="KEY_UP" to="UP"/>
<map from="KEY_DOWN" to="DOWN"/>
<map from="KEY_X" to="A"/>
<map from="KEY_Z" to="B"/>
<map from="KEY_S" to="X"/>
<map from="KEY_A" to="Y"/>
<map from="KEY_Q" to="L"/>
<map from="KEY_W" to="R"/>
<map from="KEY_ENTER" to="START"/>
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
</default-controller>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit 148b9f7301db2aebfc3b9190526ebde43eba170b

View File

@ -0,0 +1,26 @@
CORE_PKGS += libc libm
LIBRETRO_COMM_DIR =
DEFINES += -O2 -DNDEBUG
DEFINES += -DINLINE=inline
include upstream/libretroBuildSystem/build/Makefile.common
include upstream/src/makefile.all
SOURCES_C += $(EMU_SOURCES_C)
DEFINES += $(COREDEFINES)
DEFINES += $(INCFLAGS)
CFLAGS += -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized
CFLAGS += -fomit-frame-pointer
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !bin |>
: |> !pkg |>

24
libretro/cores/mu/runtime Normal file
View File

@ -0,0 +1,24 @@
<runtime ram="32M" caps="256" binary="retro_frontend">
<requires> <file_system/> <nitpicker/> </requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="vfs.lib.so"/>
</content>
<config ld_vebose="yes">
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<fs/>
<dir name="dev">
<log label="core"/>
</dir>
</vfs>
</config>
</runtime>

@ -0,0 +1 @@
Subproject commit d4a449c99265c7ef8680edc4cc2501bdfca30b46

View File

@ -1,9 +0,0 @@
include_rules
CORE_DIR = core/nxengine
EXTRACTDIR = $(CORE_DIR)/extract-auto
include $(CORE_DIR)/../Makefile.common
CFLAGS += -DHAVE_INTTYPES_H $(INCFLAGS)
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,22 @@
CORE_PKGS += libc libm
NO_UNDEFINED =
# __cxa_...
EXTRACTDIR = $(CORE_DIR)/extract-auto
include upstream/Makefile.common
DEFINES += -O2 -DNDEBUG
DEFINES += -DHAVE_INTTYPES_H
DEFINES += -DINLINE="inline"
CFLAGS += -std=gnu11
CXXFLAGS += -fno-rtti -fno-exceptions
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,5 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@SDK_USER@/src/stdcxx/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/nxengine/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit be978910a10527cc819db29389fbcd962328acb0

View File

@ -4,15 +4,14 @@
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>

@ -0,0 +1 @@
Subproject commit b220b573ca8fd32fad5dfbb02679c430998395f1

View File

@ -1,11 +0,0 @@
include_rules
CORE_DIR = core
include $(CORE_DIR)/Libretro/Makefile.common
GIT_VERSION = `git describe --always`
CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
CFLAGS += $(INCFLAGS)
include $(LIBRETRO_CORE_INCLUDE)

View File

@ -0,0 +1,20 @@
RAW_VERSION = 2019-01-21
: $(CORE_DIR)/DiskImage/Oberon-$(RAW_VERSION).dsk |> !collect_raw |>
: |> !raw |>
CORE_PKGS += libc
include upstream/Libretro/Makefile.common
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: foreach $(SOURCES_CXX) |> !libretro_cxx |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
PKG_DEPENDS += \
_/raw/oberon \
: $(TUP_CWD)/runtime |> !collect_pkg_runtime |>
: |> !pkg |>

View File

@ -1,4 +0,0 @@
@SDK_USER@/src/vfs/@SDK_VERSION@
@SDK_USER@/src/libc/@SDK_VERSION@
@DEPOT_USER@/src/retro_frontend/@DEPOT_VERSION@
@DEPOT_USER@/src/oberon/@DEPOT_VERSION@

@ -1 +0,0 @@
Subproject commit 4efb9e215d691fb79849d048c20e8a9fcb372f35

View File

@ -1,6 +1,6 @@
<runtime ram="32M" caps="256" binary="retro_frontend">
<requires> <audio_out/> <file_system/> <nitpicker/> </requires>
<requires> <nitpicker/> </requires>
<content>
<rom label="libc.lib.so"/>
@ -8,13 +8,14 @@
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="vfs.lib.so"/>
<rom label="Oberon-2019-01-21.dsk"/>
</content>
<config ld_vebose="yes">
<libc stdout="/dev/log" stderr="/dev/log"/>
<game path="/oberon.dsk"/>
<game path="/Oberon-2019-01-21.dsk"/>
<vfs>
<fs/>
<rom name="Oberon-2019-01-21.dsk"/>
<dir name="dev">
<log label="core"/>
</dir>

@ -0,0 +1 @@
Subproject commit 41aa3d5ecaab3c4dc68be3857af89c36053b02c6

@ -1 +0,0 @@
Subproject commit 8452cd94833eea3c3dea870f6d8c881452f4a10b

View File

@ -0,0 +1,154 @@
CORE_PKGS += libc libm
LDFLAGS += --no-undefined
CFLAGS += -O3 -Wall -pedantic -std=gnu99
SIMPLE_DEPENDS = @(PUBLIC_SRC_STDCXX)
GL_DEPENDS = \
$(SIMPLE_DEPENDS) \
@(UPSTREAM_USER)/src/init/@(UPSTREAM_VERSION) \
@(PUBLIC_SRC_EXPAT) \
@(PUBLIC_SRC_MESA) \
ifeq ($(TARGET_NAME),testaudio_callback)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/audio.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testaudio_no_callback)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/audio.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testaudio_playback_wav)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/audio.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),button_test)
CFLAGS += -Ilibretro-common/include
SOURCES_C += libretro.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),freebasic)
TARGET_NAME=
# : fbastest.bas |> fbc -dll %f -x %o |> libretro.so {core}
# PKG_DEPENDS += $(SIMPLE_DEPENDS)
# : $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),pascal_pong)
TARGET_NAME=
# : pong.pas |> fpc -o%o %f |> libretro.so {core}
# PKG_DEPENDS += $(SIMPLE_DEPENDS)
# : $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),midi_test)
SOURCES_C += libretro.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/midi.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),test)
TARGET_NAME = simple_tests
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),cruzes)
SOURCES_C += cruzes.c ttf2c.c
# : obj/Carlito-Regular.ttf |> ttf2c 24 font24 %f %o |> font24.h
# : obj/Carlito-Regular.ttf |> ttf2c 16 font16 %f %o |> font16.h
# : obj/Carlito-Regular.ttf |> ttf2c 10 font10 %f %o |> font10.h
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),advanced_tests)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/audio.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testgl_compute_shaders)
CORE_PKGS += mesa
CFLAGS += -Igl -DNDEBUG -DHAVE_ZIP_DEFLATE
SOURCES_CXX += libretro/libretro.cpp
SOURCES_CXX += gl/*.cpp
SOURCES_CXX += app/boxes.cpp
SOURCES_C += glsym/rglgen.c
SOURCES_C += glsym/glsym_gl.c
PKG_DEPENDS += $(GL_DEPENDS)
: $(TUP_CWD)/testgl.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testgl_ff)
CORE_PKGS += mesa
CFLAGS +=
SOURCES_C += libretro_gl_ff_test.c glsym/rglgen.c glsym/glsym_gl.c
PKG_DEPENDS += $(GL_DEPENDS)
: $(TUP_CWD)/testgl.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testgl)
CORE_PKGS += mesa
CFLAGS +=
SOURCES_C += libretro_gl_test.c
SOURCES_C += glsym/rglgen.c
SOURCES_C += glsym/glsym_gl.c
PKG_DEPENDS += $(GL_DEPENDS)
: $(TUP_CWD)/testgl.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testsw)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testsw_vram)
CFLAGS += -I../../libretro-common/include
SOURCES_C += libretro-test.c
PKG_DEPENDS += $(SIMPLE_DEPENDS)
: $(TUP_CWD)/simple.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testvulkan_async_compute)
CFLAGS += -I../../libretro-common/include -Iinclude
SOURCES_C += libretro-test.c vulkan_symbol_wrapper.c
PKG_DEPENDS += $(GL_DEPENDS)
: $(TUP_CWD)/testgl.runtime |> !collect_pkg_runtime |>
endif
ifeq ($(TARGET_NAME),testvulkan)
CFLAGS += -I../../libretro-common/include -Iinclude
SOURCES_C += libretro-test.c vulkan_symbol_wrapper.c
PKG_DEPENDS += $(GL_DEPENDS)
: $(TUP_CWD)/testgl.runtime |> !collect_pkg_runtime |>
endif
ifneq ($(TARGET_NAME),)
: foreach $(SOURCES_C) |> !libretro_cc |> {libretro_objs}
: {libretro_objs} |> !libretro_core_link |> {core}
: {core} |> !collect_bin |>
: |> !bin |>
: README.md |> !collect_pkg |>
endif

View File

@ -0,0 +1,44 @@
<runtime ram="16M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
<rm/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<fs/>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
<default-controller port="0" device="1">
<map from="KEY_LEFT" to="LEFT"/>
<map from="KEY_RIGHT" to="RIGHT"/>
<map from="KEY_UP" to="UP"/>
<map from="KEY_DOWN" to="DOWN"/>
<map from="KEY_X" to="A"/>
<map from="KEY_Z" to="B"/>
<map from="KEY_S" to="X"/>
<map from="KEY_A" to="Y"/>
<map from="KEY_Q" to="L"/>
<map from="KEY_W" to="R"/>
<map from="KEY_ENTER" to="START"/>
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
</default-controller>
</config>
</runtime>

View File

@ -1,8 +1,7 @@
<runtime ram="16M" caps="128" binary="retro_frontend">
<runtime ram="16M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<file_system/>
<nitpicker/>
</requires>
@ -11,15 +10,18 @@
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<ram/>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
<default-controller port="0" device="1"/>
<default-controller port="0" device="3"/>
</config>
</runtime>

View File

@ -1,16 +1,15 @@
<runtime ram="16M" caps="128" binary="retro_frontend">
<runtime ram="16M" caps="192" binary="retro_frontend">
<requires>
<audio_out/>
<nitpicker/>
</requires>
<content>
<rom label="ld.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>

View File

@ -0,0 +1,40 @@
<runtime ram="16M" caps="192" binary="retro_frontend">
<requires>
<nitpicker/>
</requires>
<content>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
<default-controller port="0" device="1">
<map from="KEY_LEFT" to="LEFT"/>
<map from="KEY_RIGHT" to="RIGHT"/>
<map from="KEY_UP" to="UP"/>
<map from="KEY_DOWN" to="DOWN"/>
<map from="KEY_X" to="A"/>
<map from="KEY_Z" to="B"/>
<map from="KEY_S" to="X"/>
<map from="KEY_A" to="Y"/>
<map from="KEY_Q" to="L"/>
<map from="KEY_W" to="R"/>
<map from="KEY_ENTER" to="START"/>
<map from="KEY_RIGHTSHIFT" to="SELECT"/>
</default-controller>
</config>
</runtime>

View File

@ -0,0 +1,30 @@
<runtime ram="64M" caps="256" binary="retro_frontend">
<requires>
<nitpicker/>
<rom label="egl_drv.lib.so"/>
</requires>
<content>
<rom label="egl.lib.so"/>
<rom label="expat.lib.so"/>
<rom label="glapi.lib.so"/>
<rom label="init"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libretro.so"/>
<rom label="mesa.lib.so"/>
<rom label="retro_frontend"/>
<rom label="stdcxx.lib.so"/>
<rom label="vfs.lib.so"/>
</content>
<config>
<libc stdout="/dev/log" stderr="/dev/log"/>
<game/>
<vfs>
<dir name="dev"> <log label="core"/> </dir>
</vfs>
</config>
</runtime>

Some files were not shown because too many files have changed in this diff Show More