update submodules, use lzma-19.00 with newer libchdr
authorkub <derkub@gmail.com>
Wed, 21 Dec 2022 12:10:24 +0000 (12:10 +0000)
committerkub <derkub@gmail.com>
Wed, 21 Dec 2022 12:10:24 +0000 (12:10 +0000)
lzma-22.01 doesn't compile cleanly with some libretro platforms

Makefile

index a00ecc7..0bb0789 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -295,21 +295,16 @@ endif
 endif
 
 ifeq (1,$(use_libchdr))
-CHDR = pico/cd/libchdr
-CFLAGS += -DUSE_LIBCHDR -I$(CHDR)/include
-
-# ouf... is there a better way to identify the include directories cmake uses?
-CHDR_I = $(shell grep 'add_subdirectory.*EXCLUDE' $(CHDR)/CMakeLists.txt | sed 's/.*add_subdirectory[ ]*.//;s/EXCLUDE.*//')
-# prepend includes to overload headers available in the toolchain
-CFLAGS := $(patsubst %, -I$(CHDR)/%/include, $(CHDR_I)) $(CFLAGS)
+CFLAGS += -DUSE_LIBCHDR
 
 # chdr
+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
 
-# lzma - argh, what's make's way to filter CHDR_I for the string containing lzma?
-LZMA = $(CHDR)/$(shell for d in $(CHDR_I); do echo $$d | grep lzma; done)
+# lzma - use 19.00 as newer versions have compile problems with libretro platforms
+LZMA = $(CHDR)/deps/lzma-19.00
 LZMA_OBJS += $(LZMA)/src/CpuArch.o $(LZMA)/src/Alloc.o $(LZMA)/src/LzmaEnc.o
 LZMA_OBJS += $(LZMA)/src/Sort.o $(LZMA)/src/LzmaDec.o $(LZMA)/src/LzFind.o
 LZMA_OBJS += $(LZMA)/src/Delta.o
@@ -319,6 +314,8 @@ OBJS += $(CHDR_OBJS)
 ifneq ($(STATIC_LINKING), 1)
 OBJS += $(LZMA_OBJS)
 endif
+# ouf... prepend includes to overload headers available in the toolchain
+CFLAGS := -I$(LZMA)/include -I$(CHDR)/include $(CFLAGS)
 endif
 
 ifeq "$(PLATFORM_ZLIB)" "1"