summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-12-14 01:18:23 +0000
committerMike Frysinger <vapier@gentoo.org>2004-12-14 01:18:23 +0000
commitc71b9520a6ade2c5432879bc7606f7afc6ff6d65 (patch)
tree40e20287b718ef0980d2cc48e73527e29052fa8e
parent752cc448d11411abb7cbff757f7ce8228f3ee8c4 (diff)
downloadbuildroot-novena-c71b9520a6ade2c5432879bc7606f7afc6ff6d65.tar.gz
buildroot-novena-c71b9520a6ade2c5432879bc7606f7afc6ff6d65.zip
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.
-rw-r--r--package/Config.in1
-rw-r--r--package/libpng/Config.in8
-rw-r--r--package/libpng/Makefile.in3
-rw-r--r--package/libpng/libpng.mk70
4 files changed, 82 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 4da1f5016..eaf53a7eb 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 000000000..8c270f168
--- /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 000000000..f4dfc9f02
--- /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 000000000..ca7302fc9
--- /dev/null
+++ b/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