فهرست منبع

BCM28XX uses mkknlimg which need GNU tr, check for it otherwise compile coreutils on host

Waldemar Brodkorb 10 سال پیش
والد
کامیت
3b3017702b
4فایلهای تغییر یافته به همراه25 افزوده شده و 8 حذف شده
  1. 4 1
      package/coreutils/Makefile
  2. 10 0
      scripts/prereq.sh
  3. 2 7
      target/arm/Makefile
  4. 9 0
      target/config/Config.in.tools

+ 4 - 1
package/coreutils/Makefile

@@ -15,9 +15,11 @@ PKG_URL:=		http://www.gnu.org/software/coreutils/
 PKG_SITES:=		http://ftp.gnu.org/gnu/coreutils/
 PKG_BB:=		1
 
+include $(ADK_TOPDIR)/mk/host.mk
 include $(ADK_TOPDIR)/mk/package.mk
 
-$(eval $(call PKG_template,COREUTILS,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call HOST_template,COREUTILS,coreutils,$(PKG_VERSION)-${PKG_RELEASE}))
+$(eval $(call PKG_template,COREUTILS,coreutils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 AUTOTOOL_STYLE:=	autoreconf
 CONFIGURE_ARGS+=	--disable-rpath
@@ -30,4 +32,5 @@ coreutils-install:
 	$(CP) $(WRKINST)/usr/libexec/* \
 		$(IDIR_COREUTILS)/usr/sbin
 
+include ${ADK_TOPDIR}/mk/host-bottom.mk
 include ${ADK_TOPDIR}/mk/pkg-bottom.mk

+ 10 - 0
scripts/prereq.sh

@@ -450,6 +450,13 @@ if ! which qemu-img >/dev/null 2>&1; then
   host_build_qemu=1
 fi
 
+host_build_coreutils=0
+if which tr >/dev/null 2>&1; then
+  if ! tr --version 2>/dev/null|grep GNU >/dev/null;then
+    host_build_coreutils=1
+  fi
+fi
+
 echo "config ADK_HOST_BUILD_TOOLS" > $topdir/target/config/Config.in.prereq
 printf "\t%s\n" "bool" >> $topdir/target/config/Config.in.prereq
 printf "\t%s\n" "default y" >> $topdir/target/config/Config.in.prereq
@@ -521,6 +528,9 @@ fi
 if [ $host_build_qemu -eq 1 ]; then
   printf "\t%s\n" "select ADK_HOST_BUILD_QEMU if ADK_HOST_NEED_QEMU" >> $topdir/target/config/Config.in.prereq
 fi
+if [ $host_build_coreutils -eq 1 ]; then
+  printf "\t%s\n" "select ADK_HOST_BUILD_COREUTILS if ADK_HOST_NEED_COREUTILS" >> $topdir/target/config/Config.in.prereq
+fi
 
 # create Host OS symbols
 case $os in

+ 2 - 7
target/arm/Makefile

@@ -116,15 +116,10 @@ endif
 
 kernel-strip:
 	@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
-	@echo adding DT trailer to kernel $(MAKE_TRACE)
-	-rm $(BUILD_DIR)/$(TARGET_KERNEL)
-	$(ADK_TOPDIR)/scripts/mkknlimg --dtok $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL) $(MAKE_TRACE)
-endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI2),y)
+ifeq ($(ADK_TARGET_BOARD_BCM28XX),y)
 	@echo adding DT trailer to kernel $(MAKE_TRACE)
 	-rm $(BUILD_DIR)/$(TARGET_KERNEL)
-	$(ADK_TOPDIR)/scripts/mkknlimg --dtok $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL) $(MAKE_TRACE)
+	PATH='$(HOST_PATH)' $(ADK_TOPDIR)/scripts/mkknlimg --dtok $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL) $(MAKE_TRACE)
 endif
 
 kernel-install: kernel-strip

+ 9 - 0
target/config/Config.in.tools

@@ -170,6 +170,15 @@ config ADK_HOST_BUILD_QEMU
 	bool
 	default n
 
+config ADK_HOST_NEED_COREUTILS
+	bool
+	default y if ADK_TARGET_BOARD_BCM28XX
+	default n
+
+config ADK_HOST_BUILD_COREUTILS
+	bool
+	default n
+
 # optional, must be used from OpenADK
 config ADK_HOST_NEED_MTD_UTILS
 	bool