From a8cdee86ef4cba76314ad7193627438762a88cae Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Tue, 9 Feb 2021 22:57:23 +0100
Subject: [PATCH] feat(png): add lodepng library

---
 .gitmodules             |  3 +++
 lib/lodepng/lodepng     |  1 +
 lib/lodepng/lodepng.c   |  1 +
 lib/lodepng/meson.build | 19 +++++++++++++++++++
 lib/meson.build         |  1 +
 tools/code-style.sh     |  1 +
 6 files changed, 26 insertions(+)
 create mode 160000 lib/lodepng/lodepng
 create mode 120000 lib/lodepng/lodepng.c
 create mode 100644 lib/lodepng/meson.build

diff --git a/.gitmodules b/.gitmodules
index a21dc049a..94ecfc215 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,3 +10,6 @@
 [submodule "lib/crypto/SHA256"]
 	path = lib/crypto/SHA256
 	url = https://github.com/ilvn/SHA256
+[submodule "lib/lodepng/lodepng"]
+	path = lib/lodepng/lodepng
+	url = https://github.com/lvandeve/lodepng
diff --git a/lib/lodepng/lodepng b/lib/lodepng/lodepng
new file mode 160000
index 000000000..7fdcc96a5
--- /dev/null
+++ b/lib/lodepng/lodepng
@@ -0,0 +1 @@
+Subproject commit 7fdcc96a5e5864eee72911c3ca79b1d9f0d12292
diff --git a/lib/lodepng/lodepng.c b/lib/lodepng/lodepng.c
new file mode 120000
index 000000000..c5f0d5911
--- /dev/null
+++ b/lib/lodepng/lodepng.c
@@ -0,0 +1 @@
+lodepng/lodepng.cpp
\ No newline at end of file
diff --git a/lib/lodepng/meson.build b/lib/lodepng/meson.build
new file mode 100644
index 000000000..5d50b024b
--- /dev/null
+++ b/lib/lodepng/meson.build
@@ -0,0 +1,19 @@
+includes = include_directories(
+  './lodepng',
+)
+
+sources = files(
+  './lodepng.c',
+)
+
+lib = static_library(
+  'lodepng',
+  sources,
+  include_directories: includes,
+  c_args: ['-O3', '-w', '-DLODEPNG_NO_COMPILE_ENCODER', '-DLODEPNG_NO_COMPILE_DISK', '-DLODEPNG_NO_COMPILE_ALLOCATORS'],
+)
+
+lodepng = declare_dependency(
+  include_directories: includes,
+  link_with: lib,
+)
diff --git a/lib/meson.build b/lib/meson.build
index 86d05cc06..7f094776f 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -17,3 +17,4 @@ subdir('./crypto/')
 subdir('./card10/')
 subdir('./mx25lba/')
 subdir('./ff13/')
+subdir('./lodepng/')
diff --git a/tools/code-style.sh b/tools/code-style.sh
index 3256654a0..311df9bea 100755
--- a/tools/code-style.sh
+++ b/tools/code-style.sh
@@ -41,6 +41,7 @@ formatter_blacklist=(
     lib/ff13/
     lib/FreeRTOS/
     lib/FreeRTOS-Plus/
+    lib/lodepng/
     lib/micropython/
     lib/mx25lba/
     lib/sdk/
-- 
GitLab