core, chd support
authorkub <derkub@gmail.com>
Tue, 9 Mar 2021 22:00:49 +0000 (23:00 +0100)
committerkub <derkub@gmail.com>
Tue, 9 Mar 2021 22:01:03 +0000 (23:01 +0100)
.gitmodules
Makefile
pico/cd/libchdr
platform/psp/plat.c

index 1c07eb7..23cc3b3 100644 (file)
@@ -9,7 +9,7 @@
        url = https://github.com/digital-sound-antiques/emu2413.git
 [submodule "pico/cd/libchdr"]
        path = pico/cd/libchdr
-       url = https://github.com/rtissera/libchdr
+       url = https://github.com/irixxxx/libchdr-picodrive.git
 [submodule "platform/common/minimp3"]
        path = platform/common/minimp3
        url = https://github.com/lieff/minimp3
index 8725792..08f7ee4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -239,7 +239,7 @@ endif
 
 ifeq (1,$(use_libchdr))
 # yuck, cmake looks like a nightmare to embed in a multi-platform make env :-/
-# Moreover, static library linking isn't working.
+# Moreover, libchdr uses -flto which apparently prevents static library linking.
 # Reference all source files directly and hope for the best. Tested on linux,
 # might not work on other platforms, and misses autodetected optimizations.
 CFLAGS += -DUSE_LIBCHDR
@@ -249,6 +249,7 @@ CHDR = pico/cd/libchdr
 CHDR_OBJS += $(CHDR)/src/libchdr_chd.o $(CHDR)/src/libchdr_cdrom.o
 CHDR_OBJS += $(CHDR)/src/libchdr_flac.o
 CHDR_OBJS += $(CHDR)/src/libchdr_bitstream.o $(CHDR)/src/libchdr_huffman.o
+$(CHDR_OBJS): CFLAGS += -DHAVE_FSEEKO
 
 # flac
 FLAC = $(CHDR)/deps/flac-1.3.3
@@ -258,7 +259,7 @@ FLAC_OBJS += $(FLAC)/src/bitmath.o $(FLAC)/src/bitreader.o $(FLAC)/src/md5.o
 FLAC_OBJS += $(FLAC)/src/memory.o $(FLAC)/src/fixed.o $(FLAC)/src/crc.o
 FLAC_OBJS += $(FLAC)/src/window.o $(FLAC)/src/stream_decoder.o
 $(FLAC_OBJS): CFLAGS += -DPACKAGE_VERSION=\"1.3.3\" -DFLAC__HAS_OGG=0
-$(FLAC_OBJS): CFLAGS += -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H # ugh...
+$(FLAC_OBJS): CFLAGS += -DHAVE_FSEEKO -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H # ugh...
 
 # lzma
 LZMA = $(CHDR)/deps/lzma-19.00
@@ -268,8 +269,9 @@ LZMA_OBJS += $(LZMA)/src/Delta.o
 $(LZMA_OBJS): CFLAGS += -D_7ZIP_ST
 
 OBJS += $(CHDR_OBJS) $(FLAC_OBJS) $(LZMA_OBJS)
+# ouf... prepend includes to overload headers available in the toolchain
 CHDR_I = $(shell find $(CHDR) -name 'include')
-CFLAGS += $(patsubst %, -I%, $(CHDR_I)) # tsk...
+CFLAGS := $(patsubst %, -I%, $(CHDR_I)) $(CFLAGS)
 endif
 
 ifeq "$(PLATFORM_ZLIB)" "1"
index cecbe84..208212a 160000 (submodule)
@@ -1 +1 @@
-Subproject commit cecbe84eb7ee1b0e5e558d15c2882a9d9be37794
+Subproject commit 208212ae77f5c4fedca11d797e50cb1954b2c837
index b1e7c61..e8a9069 100644 (file)
@@ -331,9 +331,5 @@ int _flush_cache (char *addr, const int size, const int op)
 int chown(const char *pathname, uid_t owner, gid_t group) { return -1; }
 int chmod(const char *pathname, mode_t mode) { return -1; }
 int utime(const char *filename, const struct utimbuf *times) { return -1; }
-int fseeko64(FILE *stream, _off64_t offset, int whence)
-       { return fseeko(stream, offset, whence); }
-_off64_t ftello64(FILE *stream)
-       { return ftello(stream); }
 int posix_memalign(void **memptr, size_t alignment, size_t size)
        { *memptr = memalign(alignment, size); return 0; }