summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-04-14 14:39:11 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-04-14 14:39:11 +0200
commit7209a2a3b092d9964a8c8aa48d2b8d1d42d41738 (patch)
tree1c193b6832d05f2ffda1311c35b8791179ab559a
parentfcb2e1f55cc4ab66b0b4e4116787b38c16c25df7 (diff)
compile patch when not available on Host
-rw-r--r--README1
-rw-r--r--mk/vars.mk2
-rw-r--r--package/patch/Makefile11
-rw-r--r--scripts/scan-tools.sh13
-rw-r--r--target/config/Config.in.tools5
5 files changed, 21 insertions, 11 deletions
diff --git a/README b/README
index 81ebd7798..b35407944 100644
--- a/README
+++ b/README
@@ -12,7 +12,6 @@ Before you can start you need to install some tools:
- GNU awk
- GNU sed
- tar
-- patch
- gzip
- wget
- libc headers
diff --git a/mk/vars.mk b/mk/vars.mk
index f3911044f..3ae3f1d67 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -168,7 +168,7 @@ CXXFLAGS_FOR_BUILD?= -O2 -Wall
LDFLAGS_FOR_BUILD?= -L$(STAGING_HOST_DIR)/usr/lib
FLAGS_FOR_BUILD= ${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
-PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh
+PATCH= PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh
SED:= PATH=${HOST_PATH} sed -i -e
LINUX_DIR:= $(BUILD_DIR)/linux
KERNEL_MODULE_FLAGS:= ARCH=${ARCH} \
diff --git a/package/patch/Makefile b/package/patch/Makefile
index 0d80e53ec..0d1e23448 100644
--- a/package/patch/Makefile
+++ b/package/patch/Makefile
@@ -4,20 +4,25 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= patch
-PKG_VERSION:= 2.5.9
+PKG_VERSION:= 2.7.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= dacfb618082f8d3a2194601193cf8716
-PKG_DESCR:= GNU patch
+PKG_MD5SUM:= 95dd8d7e41dcbcecdd5cd88ef915378d
+PKG_DESCR:= GNU patch utility
PKG_SECTION:= utils
PKG_URL:= http://www.gnu.org/software/patch/
PKG_SITES:= ${MASTER_SITE_GNU:=patch/}
+include $(TOPDIR)/mk/host.mk
include $(TOPDIR)/mk/package.mk
+$(eval $(call HOST_template,PATCH,patch,$(PKG_VERSION)-${PKG_RELEASE}))
$(eval $(call PKG_template,PATCH,patch,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+HOST_STYLE:= auto
+
patch-install:
$(INSTALL_DIR) $(IDIR_PATCH)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/patch $(IDIR_PATCH)/usr/bin
+include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/scripts/scan-tools.sh b/scripts/scan-tools.sh
index f513b5861..9bb713f6e 100644
--- a/scripts/scan-tools.sh
+++ b/scripts/scan-tools.sh
@@ -113,12 +113,6 @@ if ! which gzip >/dev/null 2>&1; then
out=1
fi
-if ! which patch >/dev/null 2>&1; then
- echo You must install patch to continue.
- echo
- out=1
-fi
-
cat >test.c <<-'EOF'
#include <stdio.h>
#include <zlib.h>
@@ -239,6 +233,12 @@ if ! which m4 >/dev/null 2>&1; then
host_build_m4=1
fi
+host_build_patch=0
+if ! which patch >/dev/null 2>&1; then
+ echo "No patch found, will build one."
+ host_build_patch=1
+fi
+
host_build_pkgconf=0
if ! which pkgconf >/dev/null 2>&1; then
echo "No pkgconf found, will build one."
@@ -317,6 +317,7 @@ if [ $host_build_bzip2 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_BZIP2
if [ $host_build_file -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FILE" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_flex -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FLEX" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_m4 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_M4" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_patch -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PATCH" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_pkgconf -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PKGCONF" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_findutils -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FINDUTILS" >> $topdir/target/config/Config.in.prereq ;fi
if [ $host_build_xz -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_XZ" >> $topdir/target/config/Config.in.prereq ;fi
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index b3e900bb3..d66a7e400 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -14,6 +14,7 @@ config ADK_HOST_BUILD_BASH
config ADK_HOST_BUILD_BC
boolean
+ select ADK_HOST_BUILD_FLEX
default n
config ADK_HOST_BUILD_BISON
@@ -40,6 +41,10 @@ config ADK_HOST_BUILD_M4
boolean
default n
+config ADK_HOST_BUILD_PATCH
+ boolean
+ default n
+
config ADK_HOST_BUILD_PKGCONF
boolean
default n