summaryrefslogtreecommitdiff
path: root/libs/libgd
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-09-10 13:49:21 -0700
committerRosen Penev <rosenp@gmail.com>2019-09-12 14:48:32 -0700
commit3e44ecbafa3b5fd49224bd516ad1011ab632d04a (patch)
treef49b77e4a9e4fe60f1c6a5cf6233d6656417b8f6 /libs/libgd
parent70448f6e1fe166160901f5fce5e3e105ecd0974e (diff)
libgd: Switch to CMake
Size reduced from 92878 to 91675 bytes. CMake added CXX files. Removed those. Removed ceill patch. ceill is not used anymore. Removed pkgconfig patch. CMake uses a different file, which does not have this problem. Further size reduction to 87938 with LTO. Removed InstallDev. CMAKE_INSTALL takes care of that. Added WebP support. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'libs/libgd')
-rw-r--r--libs/libgd/Makefile67
-rw-r--r--libs/libgd/patches/100-no-cxx.patch26
-rw-r--r--libs/libgd/patches/101-gdlib-config.patch20
-rw-r--r--libs/libgd/patches/102-gdlib-pc-in.patch9
-rw-r--r--libs/libgd/patches/200-uclibc-ceill.patch24
5 files changed, 49 insertions, 97 deletions
diff --git a/libs/libgd/Makefile b/libs/libgd/Makefile
index 75593183a..b76f2615c 100644
--- a/libs/libgd/Makefile
+++ b/libs/libgd/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libgd
PKG_VERSION:=2.2.5
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/
@@ -19,16 +19,16 @@ PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
+CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libgd
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+libjpeg +libpng +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype
+ DEPENDS:=+libjpeg +libpng +libwebp +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype
TITLE:=The GD graphics library
URL:=https://libgd.github.io/
MENU:=1
@@ -56,58 +56,37 @@ define Package/libgd/config
endif
endef
-TARGET_CFLAGS += $(FPIC)
+TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
-CONFIGURE_ARGS += \
- --enable-shared \
- --enable-static \
- --disable-rpath \
- --without-x \
- --without-fontconfig \
- --with-jpeg=$(STAGING_DIR)/usr \
- --with-png=$(STAGING_DIR)/usr \
- --without-xpm
+CMAKE_OPTIONS += \
+ -DENABLE_FONTCONFIG=OFF \
+ -DENABLE_ICONV=OFF \
+ -DENABLE_JPEG=ON \
+ -DENABLE_LIQ=OFF \
+ -DENABLE_PNG=ON \
+ -DENABLE_WEBP=ON \
+ -DENABLE_XPM=OFF \
+ -DZLIB_INCLUDE_DIR="$(STAGING_DIR)/usr"
ifdef CONFIG_LIBGD_TIFF
- CONFIGURE_ARGS+= \
- --with-tiff=$(STAGING_DIR)/usr
+ CMAKE_OPTIONS += \
+ -DENABLE_TIFF=ON
else
- CONFIGURE_ARGS+= \
- --without-tiff
+ CMAKE_OPTIONS += \
+ -DENABLE_TIFF=OFF
endif
ifdef CONFIG_LIBGD_FREETYPE
- CONFIGURE_ARGS+= \
- --with-freetype=$(STAGING_DIR)/usr
+ CMAKE_OPTIONS += \
+ -DENABLE_FREETYPE=ON
else
- CONFIGURE_ARGS+= \
- --without-freetype
+ CMAKE_OPTIONS += \
+ -DENABLE_FREETYPE=OFF
endif
-CONFIGURE_VARS += \
- ac_cv_header_iconv_h=no \
- am_cv_func_iconv_works=no \
- am_func_iconv=no
-
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/gdlib-config $(1)/usr/bin/
- $(SED) \
- 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
- $(1)/usr/bin/gdlib-config
- $(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/entities.h $(1)/usr/include/
- $(CP) $(PKG_INSTALL_DIR)/usr/include/gd{,_color_map,_errors,_io,cache,fontg,fontl,fontmb,fonts,fontt,fx,pp}.h \
- $(1)/usr/include/
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.{a,la,so*} $(1)/usr/lib/
- $(INSTALL_DIR) $(2)/bin
- $(LN) ../../usr/bin/gdlib-config $(2)/bin/
-endef
-
define Package/libgd/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.so.* $(1)/usr/lib/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libgd.so $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libgd))
diff --git a/libs/libgd/patches/100-no-cxx.patch b/libs/libgd/patches/100-no-cxx.patch
new file mode 100644
index 000000000..3659feeda
--- /dev/null
+++ b/libs/libgd/patches/100-no-cxx.patch
@@ -0,0 +1,26 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -23,8 +23,6 @@ SET (LIBGD_SRC_FILES
+ gd_io_dp.c
+ gd_io_file.c
+ gd_io_ss.c
+- gd_io_stream.cxx
+- gd_io_stream.h
+ gd_jpeg.c
+ gd_matrix.c
+ gd_nnquant.c
+@@ -60,8 +58,6 @@ SET (LIBGD_SRC_FILES
+ gdhelpers.c
+ gdhelpers.h
+ gdkanji.c
+- gdpp.cxx
+- gdpp.h
+ gdtables.c
+ gdxpm.c
+ jisx0208.h
+@@ -175,5 +171,4 @@ install(FILES
+ gdfonts.h
+ gdfontt.h
+ gdfx.h
+- gdpp.h
+ DESTINATION include)
diff --git a/libs/libgd/patches/101-gdlib-config.patch b/libs/libgd/patches/101-gdlib-config.patch
deleted file mode 100644
index b0d82b727..000000000
--- a/libs/libgd/patches/101-gdlib-config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/config/gdlib-config.in
-+++ b/config/gdlib-config.in
-@@ -74,7 +74,7 @@ while test $# -gt 0; do
- echo @LDFLAGS@
- ;;
- --libs)
-- echo -lgd @LIBS@ @LIBICONV@
-+ echo -lgd @LIBS@
- ;;
- --cflags|--includes)
- echo -I@includedir@
-@@ -87,7 +87,7 @@ while test $# -gt 0; do
- echo "includedir: $includedir"
- echo "cflags: -I@includedir@"
- echo "ldflags: @LDFLAGS@"
-- echo "libs: @LIBS@ @LIBICONV@"
-+ echo "libs: @LIBS@"
- echo "libdir: $libdir"
- echo "features: @FEATURES@"
- ;;
diff --git a/libs/libgd/patches/102-gdlib-pc-in.patch b/libs/libgd/patches/102-gdlib-pc-in.patch
deleted file mode 100644
index 79baeb3e1..000000000
--- a/libs/libgd/patches/102-gdlib-pc-in.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/config/gdlib.pc.in
-+++ b/config/gdlib.pc.in
-@@ -7,5 +7,5 @@ Name: gd
- Description: GD graphics library
- Version: @VERSION@
- Cflags: -I${includedir}
--Libs.private: @LIBS@ @LIBICONV@
-+Libs.private: @LIBS@
- Libs: -L${libdir} -lgd
diff --git a/libs/libgd/patches/200-uclibc-ceill.patch b/libs/libgd/patches/200-uclibc-ceill.patch
deleted file mode 100644
index 1b4fc8e31..000000000
--- a/libs/libgd/patches/200-uclibc-ceill.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/src/gd_bmp.c
-+++ b/src/gd_bmp.c
-@@ -28,6 +28,7 @@
- #include <math.h>
- #include <string.h>
- #include <stdlib.h>
-+#include <features.h>
- #include "gd.h"
- #include "gdhelpers.h"
- #include "bmp.h"
-@@ -49,6 +50,13 @@ static int bmp_read_rle(gdImagePtr im, g
-
- #define BMP_DEBUG(s)
-
-+#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__)
-+long double ceill(long double x)
-+{
-+ return (long double)ceil((double)x);
-+}
-+#endif
-+
- static int gdBMPPutWord(gdIOCtx *out, int w)
- {
- /* Byte order is little-endian */