From e1b916547d620342f026f88bb87ff2813433aa65 Mon Sep 17 00:00:00 2001 From: kub Date: Wed, 21 Dec 2022 12:10:24 +0000 Subject: [PATCH] update submodules, use lzma-19.00 with newer libchdr lzma-22.01 doesn't compile cleanly with some libretro platforms --- Makefile | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index a00ecc73..0bb07893 100644 --- 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" -- 2.39.2