From ac66c4c8272c6b7bfe89e52ee31dc1752663c46f Mon Sep 17 00:00:00 2001
From: Cameron Cawley <ccawley2011@gmail.com>
Date: Mon, 26 Aug 2019 20:39:52 +0100
Subject: [PATCH] Add libwebp to arm-unknown-riscos and i686-w64-mingw32
 targets

---
 sdk/Makefile                               | 25 +++++++++++++++++++++++--
 sdk/recipes/patches/libwebp/configure.ac.p | 11 +++++++++++
 sdk/recipes/patches/libwebp/configure.p    | 11 +++++++++++
 3 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100644 sdk/recipes/patches/libwebp/configure.ac.p
 create mode 100644 sdk/recipes/patches/libwebp/configure.p

diff --git a/sdk/Makefile b/sdk/Makefile
index b826999..b30f9e0 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -38,6 +38,8 @@ VERSION_LIBJPEG := 8d
 # https://libjpeg-turbo.org/
 # libjpeg turbo have dropped autotools support VERSION_LIBJPEG_TURBO := 2.0.2
 VERSION_LIBJPEG_TURBO := 1.5.3
+# https://developers.google.com/speed/webp/
+VERSION_LIBWEBP := 1.0.3
 # https://c-ares.haxx.se/
 VERSION_LIBCARES := 1.15.0
 # https://curl.haxx.se/
@@ -100,7 +102,7 @@ LIBJPEG_TURBO_BUILDDIR:=$(BUILDDIR)/libjpegturbo
 
 # Target Specific setup
 ifeq ($(TARGET),arm-unknown-riscos)
-  SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) libjpeg-turbo.d)
+  SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) libjpeg-turbo.d libwebp.d)
   EXTRAARGS_LIBCARES := --disable-shared
   EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares --with-random="/dev/urandom" $(LIBCURL_DISABLES)
   EXTRAARGS_OPENSSL := no-asm
@@ -130,7 +132,7 @@ ifeq ($(TARGET),ppc-amigaos)
 endif
 
 ifeq ($(TARGET),i686-w64-mingw32)
-  SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libgnurx.d $(COMMON_SDK_ITEMS) libjpeg.d)
+  SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libgnurx.d $(COMMON_SDK_ITEMS) libjpeg.d libwebp.d)
   EXTRAARGS_LIBCARES := --disable-shared
   EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares --disable-ldap --without-random
   LIBCURL_ENV := CFLAGS="-DCARES_STATICLIB" LIBS="-lgdi32 -lcrypt32"
@@ -444,6 +446,25 @@ $(SOURCEDIR)/libjpeg-turbo-src-$(VERSION_LIBJPEG_TURBO).tar.gz:
 	$(FETCHSRC) sdk $(subst $(SOURCEDIR)/,,$@) "http://sourceforge.net/projects/libjpeg-turbo/files/$(VERSION_LIBJPEG_TURBO)/libjpeg-turbo-$(VERSION_LIBJPEG_TURBO).tar.gz/download" $@
 
 
+# libwebp
+$(BUILDSTEPS)/libwebp.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libwebp-src.d
+	mkdir -p $(BUILDDIR)/libwebp
+	cd $(BUILDDIR)/libwebp && tar xaf $(SOURCEDIR)/libwebp-$(VERSION_LIBWEBP).tar.gz
+	for p in `ls $(RECIPES)/patches/libwebp/*.p` ; do $(PATCH) -d $(BUILDDIR)/libwebp/libwebp-$(VERSION_LIBWEBP) -p0 <$$p ; done
+ifneq ($(realpath $(RECIPES)/patches/libwebp/$(TARGET)),)
+	for p in `ls $(RECIPES)/patches/libwebp/$(TARGET)/*.p` ; do $(PATCH) -d $(BUILDDIR)/libwebp/libwebp-$(VERSION_LIBWEBP) -p0 <$$p ; done
+endif
+	cd $(BUILDDIR)/libwebp/libwebp-$(VERSION_LIBWEBP) && $(env) $(LIBWEBP_ENV) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --host=$(TARGET) --disable-shared $(EXTRAARGS_LIBWEBP)
+	cd $(BUILDDIR)/libwebp/libwebp-$(VERSION_LIBWEBP) && $(env) make install
+	touch $@
+
+$(BUILDSTEPS)/libwebp-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/libwebp-$(VERSION_LIBWEBP).tar.gz
+	touch $@
+
+$(SOURCEDIR)/libwebp-$(VERSION_LIBWEBP).tar.gz:
+	$(FETCHSRC) sdk $(subst $(SOURCEDIR)/,,$@) "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$(VERSION_LIBWEBP).tar.gz" $@
+
+
 # libcares
 $(BUILDSTEPS)/libcares.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/libcares-src.d
 	mkdir -p $(BUILDDIR)/libcares
diff --git a/sdk/recipes/patches/libwebp/configure.ac.p b/sdk/recipes/patches/libwebp/configure.ac.p
new file mode 100644
index 0000000..30150d1
--- /dev/null
+++ b/sdk/recipes/patches/libwebp/configure.ac.p
@@ -0,0 +1,11 @@
+--- configure.ac.orig	2019-07-04 20:32:37.000000000 +0100
++++ configure.ac	2019-08-26 01:10:45.539132422 +0100
+@@ -485,7 +485,7 @@
+                  libpng12-config])
+   if test -n "$LIBPNG_CONFIG"; then
+     PNG_INCLUDES=`$LIBPNG_CONFIG --cflags`
+-    PNG_LIBS="`$LIBPNG_CONFIG --ldflags`"
++    PNG_LIBS="`$LIBPNG_CONFIG --static --ldflags`"
+   fi
+ 
+   WITHLIB_OPTION([png], [PNG])
diff --git a/sdk/recipes/patches/libwebp/configure.p b/sdk/recipes/patches/libwebp/configure.p
new file mode 100644
index 0000000..02dc813
--- /dev/null
+++ b/sdk/recipes/patches/libwebp/configure.p
@@ -0,0 +1,11 @@
+--- configure.orig	2019-07-04 20:43:58.000000000 +0100
++++ configure	2019-08-26 01:11:13.365038420 +0100
+@@ -14312,7 +14312,7 @@
+ 
+   if test -n "$LIBPNG_CONFIG"; then
+     PNG_INCLUDES=`$LIBPNG_CONFIG --cflags`
+-    PNG_LIBS="`$LIBPNG_CONFIG --ldflags`"
++    PNG_LIBS="`$LIBPNG_CONFIG --static --ldflags`"
+   fi
+ 
+ 
-- 
2.11.0

