Mercurial > repos > blastem
changeset 1818:243f3a7247f9
Include ROM DB in library binary for libretro target
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 31 Mar 2019 12:37:28 -0700 |
parents | 03895a4585c3 |
children | 4fb9af0c65b6 |
files | Makefile libblastem.c util.c |
diffstat | 3 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Sun Mar 31 12:07:20 2019 -0700 +++ b/Makefile Sun Mar 31 12:37:28 2019 -0700 @@ -1,3 +1,6 @@ +#disable built-in rules +.SUFFIXES : + ifndef OS OS:=$(shell uname -s) endif @@ -203,7 +206,7 @@ LIBOBJS=libblastem.o system.o genesis.o debug.o gdb_remote.o vdp.o io.o romdb.o hash.o menu.o xband.o realtec.o \ i2c.o nor.o sega_mapper.o multi_game.o megawifi.o $(NET) serialize.o $(TERMINAL) $(CONFIGOBJS) gst.o \ - $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o + $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS) saves.o jcart.o rom.db.o ifdef NONUKLEAR CFLAGS+= -DDISABLE_NUKLEAR @@ -325,6 +328,9 @@ %.c : %.cpu cpu_dsl.py ./cpu_dsl.py -d goto $< > $@ +%.db.c : %.db + sed $< -e 's/"/\\"/g' -e 's/^\(.*\)$$/"\1\\n"/' -e'1s/^\(.*\)$$/const char $(shell echo $< | tr '.' '_')_data[] = \1/' -e '$$s/^\(.*\)$$/\1;/' > $@ + %.o : %.S $(CC) -c -o $@ $<
--- a/libblastem.c Sun Mar 31 12:07:20 2019 -0700 +++ b/libblastem.c Sun Mar 31 12:37:28 2019 -0700 @@ -397,3 +397,15 @@ void bindings_set_mouse_mode(uint8_t mode) { } + +extern const char rom_db_data[]; +char *read_bundled_file(char *name, uint32_t *sizeret) +{ + if (!strcmp(name, "rom.db")) { + *sizeret = strlen(rom_db_data); + char *ret = malloc(*sizeret+1); + memcpy(ret, rom_db_data, *sizeret + 1); + return ret; + } + return NULL; +}
--- a/util.c Sun Mar 31 12:07:20 2019 -0700 +++ b/util.c Sun Mar 31 12:37:28 2019 -0700 @@ -857,6 +857,7 @@ #ifdef __ANDROID__ #include <SDL.h> +#ifndef IS_LIB char *read_bundled_file(char *name, uint32_t *sizeret) { SDL_RWops *rw = SDL_RWFromFile(name, "rb"); @@ -884,6 +885,7 @@ SDL_RWclose(rw); return ret; } +#endif char const *get_config_dir() { @@ -897,6 +899,7 @@ #else +#ifndef IS_LIB char *read_bundled_file(char *name, uint32_t *sizeret) { #ifdef DATA_PATH @@ -940,7 +943,7 @@ fclose(f); return ret; } - +#endif #ifdef _WIN32 char const *get_userdata_dir()