mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-22 06:41:17 +00:00
tools: add gnulib source
By having a local copy of gnulib, we can: import the latest macro fixes into any package, get rid of some statically stored macros that were otherwise missing, bootstrap GNU tools with the latest relevant source without having to wait for a release or rely on git submodules, and possibly more... The patch assists in bootstrapping by ignoring the building of po files using gettext, and also to allow a user-defined path to a program to include parameters. Signed-off-by: Michael Pratt <mcpratt@pm.me>
This commit is contained in:
parent
c52d938481
commit
fe33d5ba13
1
rules.mk
1
rules.mk
@ -358,6 +358,7 @@ ifeq ($(CONFIG_BUILD_LOG),y)
|
||||
endif
|
||||
|
||||
export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison
|
||||
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
||||
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
||||
|
||||
define shvar
|
||||
|
@ -45,6 +45,7 @@ tools-y += findutils
|
||||
tools-y += firmware-utils
|
||||
tools-y += flex
|
||||
tools-y += gengetopt
|
||||
tools-y += gnulib
|
||||
tools-y += libressl
|
||||
tools-y += libtool
|
||||
tools-y += lzma
|
||||
|
25
tools/gnulib/Makefile
Normal file
25
tools/gnulib/Makefile
Normal file
@ -0,0 +1,25 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gnulib
|
||||
PKG_CPE_ID:=cpe:/a:gnu:$(PKG_NAME)
|
||||
PKG_VERSION:=f9a4ee73c3e7b544f640d0d04b55983d3a7b894e# # master
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://git.savannah.gnu.org/cgit/$(PKG_NAME).git/snapshot
|
||||
PKG_HASH:=514716d58987a9c0de0d69fb22d42bcd19edf80eed099882a004ff162060f1a8
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Host/Configure
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(INSTALL_DIR) $(1)/share/gnulib
|
||||
$(CP) $(HOST_BUILD_DIR)/* $(1)/share/gnulib/
|
||||
endef
|
||||
|
||||
define Host/Clean
|
||||
rm -rf $(STAGING_DIR_HOST)/share/gnulib
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
54
tools/gnulib/patches/000-bootstrap.patch
Normal file
54
tools/gnulib/patches/000-bootstrap.patch
Normal file
@ -0,0 +1,54 @@
|
||||
--- a/build-aux/bootstrap
|
||||
+++ b/build-aux/bootstrap
|
||||
@@ -237,14 +237,14 @@ test -r "$conffile" && . "$conffile"
|
||||
|
||||
check_exists() {
|
||||
if test "$1" = "--verbose"; then
|
||||
- ($2 --version </dev/null) >/dev/null 2>&1
|
||||
+ ($2 $3 $4 --version </dev/null) >/dev/null 2>&1
|
||||
if test $? -ge 126; then
|
||||
# If not found, run with diagnostics as one may be
|
||||
# presented with env variables to set to find the right version
|
||||
- ($2 --version </dev/null)
|
||||
+ ($2 $3 $4 --version </dev/null)
|
||||
fi
|
||||
else
|
||||
- ($1 --version </dev/null) >/dev/null 2>&1
|
||||
+ ($@ --version </dev/null) >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
test $? -lt 126
|
||||
@@ -309,7 +309,7 @@ p
|
||||
q'
|
||||
|
||||
get_version() {
|
||||
- app=$1
|
||||
+ app="$@"
|
||||
|
||||
$app --version >/dev/null 2>&1 || { $app --version; return 1; }
|
||||
|
||||
@@ -366,13 +366,13 @@ check_versions() {
|
||||
if [ "$req_ver" = "-" ]; then
|
||||
# Merely require app to exist; not all prereq apps are well-behaved
|
||||
# so we have to rely on $? rather than get_version.
|
||||
- if ! check_exists --verbose $app; then
|
||||
+ if ! check_exists --verbose "$app"; then
|
||||
warn_ "Error: '$app' not found"
|
||||
ret=1
|
||||
fi
|
||||
else
|
||||
# Require app to produce a new enough version string.
|
||||
- inst_ver=$(get_version $app)
|
||||
+ inst_ver=$(get_version "$app")
|
||||
if [ ! "$inst_ver" ]; then
|
||||
warn_ "Error: '$app' not found"
|
||||
ret=1
|
||||
@@ -1135,7 +1135,7 @@ autogen()
|
||||
# two just-pre-run programs.
|
||||
|
||||
# Import from gettext.
|
||||
- with_gettext=yes
|
||||
+ with_gettext=no
|
||||
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
|
||||
with_gettext=no
|
||||
|
Loading…
Reference in New Issue
Block a user