From: Mike Frysinger Date: Tue, 14 Dec 2004 01:18:23 +0000 (-0000) Subject: Martin Herren writes: X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c71b9520a6ade2c5432879bc7606f7afc6ff6d65;p=buildroot.git Martin Herren writes: here is a small patch to add libpng to buildroot. It's the first application which i integrated in the buildroot build system, so i welcome any comments, feedbacks and/or improvements about it. I tested it using directfb on a arm/pxa platform, and as far as i could test it it seems to work. --- diff --git a/package/Config.in b/package/Config.in index 4da1f5016b..eaf53a7eb2 100644 --- a/package/Config.in +++ b/package/Config.in @@ -58,6 +58,7 @@ source "package/less/Config.in" source "package/libfloat/Config.in" source "package/libglib12/Config.in" source "package/libmad/Config.in" +source "package/libpng/Config.in" source "package/libtool/Config.in" source "package/links/Config.in" source "package/linux/Config.in" diff --git a/package/libpng/Config.in b/package/libpng/Config.in new file mode 100644 index 0000000000..8c270f168d --- /dev/null +++ b/package/libpng/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBPNG + bool "libpng" + default n + help + Library for handling PNG (Portable Network Graphics) + images. + + http://www.libpng.org/ diff --git a/package/libpng/Makefile.in b/package/libpng/Makefile.in new file mode 100644 index 0000000000..f4dfc9f028 --- /dev/null +++ b/package/libpng/Makefile.in @@ -0,0 +1,3 @@ +ifeq ($(strip $(BR2_PACKAGE_LIBPNG)),y) +TARGETS+=libpng +endif diff --git a/package/libpng/libpng.mk b/package/libpng/libpng.mk new file mode 100644 index 0000000000..ca7302fc9c --- /dev/null +++ b/package/libpng/libpng.mk @@ -0,0 +1,70 @@ +############################################################# +# +# libpng (Portable Network Graphic library) +# +############################################################# +# Copyright (C) 2001-2003 by Erik Andersen +# Copyright (C) 2002 by Tim Riker +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA + +LIBPNG_VER:=1.2.7 +LIBPNG_DIR:=$(BUILD_DIR)/libpng-$(LIBPNG_VER) +LIBPNG_SITE:=ftp://sunsite.cnlab-switch.ch/mirror/freetype/png +LIBPNG_SOURCE:=libpng-$(LIBPNG_VER).tar.bz2 +LIBPNG_CAT:=bzcat + +$(DL_DIR)/$(LIBPNG_SOURCE): + $(WGET) -P $(DL_DIR) $(LIBPNG_SITE)/$(LIBPNG_SOURCE) + +libpng-source: $(DL_DIR)/$(LIBPNG_SOURCE) + +$(LIBPNG_DIR)/.unpacked: $(DL_DIR)/$(LIBPNG_SOURCE) + $(LIBPNG_CAT) $(DL_DIR)/$(LIBPNG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + touch $(LIBPNG_DIR)/.unpacked + +$(LIBPNG_DIR)/.configured: $(LIBPNG_DIR)/.unpacked + ( \ + cd $(LIBPNG_DIR) ; \ + cp scripts/makefile.linux Makefile ; \ + $(SED) 's~prefix=/usr/local/~$(STAGING_DIR)~' Makefile ; \ + $(SED) 's~gcc~${TARGET_CC}~' Makefile ; \ + $(SED) "s~-O3 -funroll-loops~${TARGET_CFLAGS}~" Makefile ; \ + ) + touch $(LIBPNG_DIR)/.configured + +$(LIBPNG_DIR)/.compiled: $(LIBPNG_DIR)/.configured + $(MAKE) -C $(LIBPNG_DIR) + touch $(LIBPNG_DIR)/.compiled + +$(STAGING_DIR)/lib/libpng.so: $(LIBPNG_DIR)/.compiled + $(MAKE) \ + -C $(LIBPNG_DIR) \ + prefix=$(STAGING_DIR) \ + exec_prefix=$(STAGING_DIR) \ + bindir=$(STAGING_DIR)/bin \ + datadir=$(STAGING_DIR)/share \ + install + touch -c $(STAGING_DIR)/lib/libpng.so + +$(TARGET_DIR)/usr/lib/libpng.so: $(STAGING_DIR)/lib/libpng.so + cp -dpf $(STAGING_DIR)/lib/libpng.so* $(TARGET_DIR)/usr/lib/ + -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libpng.so + +libpng: uclibc zlib $(TARGET_DIR)/usr/lib/libpng.so + +libpng-clean: + -$(MAKE) -C $(LIBPNG_DIR) clean