diff -Nru orig/gdsfmt/src/Makevars.win patched/gdsfmt/src/Makevars.win
--- orig/gdsfmt/src/Makevars.win	2023-10-20 20:23:57.000000000 +0200
+++ patched/gdsfmt/src/Makevars.win	2024-03-12 13:20:36.619207400 +0100
@@ -3,10 +3,11 @@
 ###                                                              ###
 
 # additional preprocessor options
-PKG_CPPFLAGS = -DUSING_R -D_FILE_OFFSET_BITS=64 -I../inst/include -ICoreArray
+PKG_CPPFLAGS = -DUSING_R -D_FILE_OFFSET_BITS=64 -I../inst/include -ICoreArray \
+               $(shell pkg-config --cflags liblzma liblz4 zlib)
 
 # to set flags for the linker
-PKG_LIBS = ./liblzma.a
+PKG_LIBS = $(shell pkg-config --libs liblzma liblz4 zlib)
 
 SOURCES = \
 	R_CoreArray.cpp \
@@ -28,22 +29,7 @@
 	CoreArray/dStream.cpp \
 	CoreArray/dStruct.cpp \
 	CoreArray/dSparse.cpp \
-	CoreArray/dVLIntGDS.cpp \
-	ZLIB/adler32.c \
-	ZLIB/compress.c \
-	ZLIB/crc32.c \
-	ZLIB/deflate.c \
-	ZLIB/infback.c \
-	ZLIB/inffast.c \
-	ZLIB/inflate.c \
-	ZLIB/inftrees.c \
-	ZLIB/trees.c \
-	ZLIB/uncompr.c \
-	ZLIB/zutil.c \
-	LZ4/lz4.c \
-	LZ4/lz4hc.c \
-	LZ4/lz4frame.c \
-	LZ4/xxhash.c
+	CoreArray/dVLIntGDS.cpp
 
 OBJECTS = \
 	R_CoreArray.o \
@@ -65,71 +51,12 @@
 	CoreArray/dStream.o \
 	CoreArray/dStruct.o \
 	CoreArray/dVLIntGDS.o \
-	CoreArray/dSparse.o \
-	ZLIB/adler32.o \
-	ZLIB/compress.o \
-	ZLIB/crc32.o \
-	ZLIB/deflate.o \
-	ZLIB/infback.o \
-	ZLIB/inffast.o \
-	ZLIB/inflate.o \
-	ZLIB/inftrees.o \
-	ZLIB/trees.o \
-	ZLIB/uncompr.o \
-	ZLIB/zutil.o \
-	LZ4/lz4.o \
-	LZ4/lz4hc.o \
-	LZ4/lz4frame.o \
-	LZ4/xxhash.o
+	CoreArray/dSparse.o 
 
 
 all: $(SHLIB)
 
-$(SHLIB): liblzma.a
-
-
-ZLIB/adler32.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/adler32.c -o $@
-
-ZLIB/compress.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/compress.c -o $@
-
-ZLIB/crc32.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/crc32.c -o $@
-
-ZLIB/deflate.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/deflate.c -o $@
-
-ZLIB/infback.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/infback.c -o $@
-
-ZLIB/inffast.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/inffast.c -o $@
-
-ZLIB/inflate.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/inflate.c -o $@
-
-ZLIB/inftrees.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/inftrees.c -o $@
-
-ZLIB/trees.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/trees.c -o $@
-
-ZLIB/uncompr.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/uncompr.c -o $@
-
-ZLIB/zutil.o:
-	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -g0 ZLIB/zutil.c -o $@
-
-
-liblzma.a:
-	cd XZ && unzip -o -q xz-5.2.9-win.zip
-	cp XZ/xz-5.2.9-win${R_ARCH}/liblzma.a  .
-
-
 clean:
 	rm -f $(OBJECTS)
 	rm -f ../.gitignore
-	rm -f liblzma.a
 	rm -rf ../.github
-	rm -rf XZ/xz-5.2.9
