Parcourir la source

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.

Mike Frysinger il y a 20 ans
Parent
commit
c71b9520a6
4 fichiers modifiés avec 82 ajouts et 0 suppressions
  1. 1 0
      package/Config.in
  2. 8 0
      package/libpng/Config.in
  3. 3 0
      package/libpng/Makefile.in
  4. 70 0
      package/libpng/libpng.mk

+ 1 - 0
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"

+ 8 - 0
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/

+ 3 - 0
package/libpng/Makefile.in

@@ -0,0 +1,3 @@
+ifeq ($(strip $(BR2_PACKAGE_LIBPNG)),y)
+TARGETS+=libpng
+endif

+ 70 - 0
package/libpng/libpng.mk

@@ -0,0 +1,70 @@
+#############################################################
+#
+# libpng (Portable Network Graphic library)
+#
+#############################################################
+# Copyright (C) 2001-2003 by Erik Andersen <andersen@codepoet.org>
+# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
+#
+# 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