-# Copyright (C) 2006 OpenWrt.org
#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
+# Copyright (C) 2010-2011 OpenWrt.org
+#
+# This Makefile and the code shipped in src/ is free software, licensed
+# under the GNU Lesser General Public License, version 2.1 and later.
+# See src/COPYING for more information.
+#
+# Refer to src/COPYRIGHT for copyright statements on the source files.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=libiconv
-PKG_VERSION:=1.9.1
-PKG_RELEASE:=1
-PKG_MD5SUM:=0c99a05e0c3c153bac1c960f78711155
-
-PKG_SOURCE_URL:=@GNU/libiconv
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_RELEASE:=5
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
define Package/libiconv
SECTION:=libs
CATEGORY:=Libraries
- TITLE:=character set conversion library
- DESCRIPTION:=character set conversion library
- URL:=http://www.gnu.org/software/libiconv/
+ TITLE:=Tiny drop-in replacement for the GNU Character set conversion library
endef
+define Build/Prepare
+ $(INSTALL_DIR) $(PKG_BUILD_DIR)
+ $(CP) ./src/* $(PKG_BUILD_DIR)/
+endef
+
define Build/Configure
-$(call Build/Configure/Default)
endef
define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- CC=$(TARGET_CC)
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) -C $(PKG_BUILD_DIR) \
- libdir="$(PKG_INSTALL_DIR)/usr/lib" \
- includedir="$(PKG_INSTALL_DIR)/usr/include" \
- install-lib
+ $(TARGET_CC) -c $(PKG_BUILD_DIR)/iconv.c -o $(PKG_BUILD_DIR)/iconv.o -I$(PKG_BUILD_DIR)/include $(FPIC)
+ $(TARGET_CROSS)ar rcs $(PKG_BUILD_DIR)/libiconv.a $(PKG_BUILD_DIR)/iconv.o
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/lib/libiconv-stub/lib
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/libiconv.a $(1)/usr/lib/libiconv-stub/lib/
+
+ $(INSTALL_DIR) $(1)/usr/lib/libiconv-stub/include
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/include/iconv.h $(1)/usr/lib/libiconv-stub/include/
+
+ $(INSTALL_DIR) $(1)/usr/share/aclocal
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/m4/* $(1)/usr/share/aclocal/
endef
define Package/libiconv/install
- install -d -m0755 $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiconv.so* $(1)/usr/lib/
- chmod 0644 $(1)/usr/lib/*
+ $(INSTALL_DIR) $(1)/tmp
+ touch $(1)/tmp/.libiconv-placeholder
endef
-define Build/InstallDev
- mkdir -p $(STAGING_DIR)/usr/include/iconv
- $(CP) $(PKG_INSTALL_DIR)/usr/include/iconv.h $(STAGING_DIR)/usr/include/iconv
- mkdir -p $(STAGING_DIR)/usr/lib/iconv
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiconv.* $(STAGING_DIR)/usr/lib/iconv
+define Host/Prepare
+ mkdir -p $(HOST_BUILD_DIR)
+endef
+
+define Host/Configure
+
endef
-define Build/UninstallDev
- rm -rf \
- $(STAGING_DIR)/usr/include/iconv \
- $(STAGING_DIR)/usr/lib/iconv
+define Host/Compile
+ $(HOSTCC) -c src/iconv.c -o $(HOST_BUILD_DIR)/iconv.o -Isrc/include -fPIC
+ ar rcs $(HOST_BUILD_DIR)/libiconv.a $(HOST_BUILD_DIR)/iconv.o
+endef
+
+define Host/Install
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib
+ $(INSTALL_DATA) $(HOST_BUILD_DIR)/libiconv.a $(STAGING_DIR_HOST)/lib/
+
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/include
+ $(INSTALL_DATA) ./src/include/iconv.h $(STAGING_DIR_HOST)/include/
+
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/share/aclocal
+ $(INSTALL_DATA) ./src/m4/* $(STAGING_DIR_HOST)/share/aclocal/
endef
+$(eval $(call HostBuild))
$(eval $(call BuildPackage,libiconv))