package/busybox: fix sed issue with gcc-4.5.0 (closes #7566)
[openwrt/staging/chunkeey.git] / package / busybox / Makefile
index b6630225cda4430c85accb775afb0782ef4ae842..128a0dea180f5a1cbe1dbccc303c19698608f16f 100644 (file)
@@ -1,21 +1,20 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.16.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.busybox.net/downloads \
                http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=5794c6187c7cc8176c52b96af9bf2478
+PKG_MD5SUM:=2ba980f720a5bdce4ec05423519acc35
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -31,6 +30,7 @@ init-$(CONFIG_BUSYBOX_CONFIG_TELNETD) += telnet
 define Package/busybox
   SECTION:=base
   CATEGORY:=Base system
+  MAINTAINER:=Nicolas Thill <nico@openwrt.org>
   TITLE:=Core utilities for embedded Linux
   URL:=http://busybox.net/
   MENU:=1
@@ -42,11 +42,7 @@ define Package/busybox/description
 endef
 
 define Package/busybox/config
-       menu "Configuration"
-               depends on PACKAGE_busybox
-               source "$(SOURCE)/target-config.in"
-               source "$(SOURCE)/config/Config.in"
-       endmenu
+       source "$(SOURCE)/Config.in"
 endef
 
 define Build/Configure
@@ -55,32 +51,42 @@ define Build/Configure
        yes '' | $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CC)" \
                CROSS_COMPILE="$(TARGET_CROSS)" \
+               KBUILD_HAVE_NLS=no \
                ARCH="$(ARCH)" \
-               HOST_LOADLIBES=-lintl \
                oldconfig
 endef
 
+ifdef CONFIG_GCC_VERSION_LLVM
+  TARGET_CFLAGS += -fnested-functions
+endif
+
+ifdef CONFIG_GCC_VERSION_4_5_0
+  TARGET_CFLAGS += -fno-tree-pta
+endif
+
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CC)" \
                CROSS_COMPILE="$(TARGET_CROSS)" \
+               KBUILD_HAVE_NLS=no \
                EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
                ARCH="$(ARCH)" \
-               IPKG_ARCH="$(ARCH)" \
+               SKIP_STRIP=y \
                all
-endef
-
-define Package/busybox/install
+       rm -rf $(PKG_INSTALL_DIR)
        $(FIND) $(PKG_BUILD_DIR) -lname "*busybox" -exec rm \{\} \;
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CC)" \
                CROSS_COMPILE="$(TARGET_CROSS)" \
                EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
                ARCH="$(ARCH)" \
-               IPKG_ARCH="$(ARCH)" \
-               CONFIG_PREFIX="$(1)" \
+               CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
                install
+endef
+
+define Package/busybox/install
        $(INSTALL_DIR) $(1)/etc/init.d
+       $(CP) $(PKG_INSTALL_DIR)/* $(1)/
        for tmp in $(init-y); do \
                $(INSTALL_BIN) ./files/$$$$tmp $(1)/etc/init.d/$$$$tmp; \
        done