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>
This commit is contained in:
Rosen Penev
2019-09-10 13:49:21 -07:00
parent 70448f6e1f
commit 3e44ecbafa
5 changed files with 49 additions and 97 deletions
+23 -44
View File
@@ -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))