This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RESENT] [PATCH v2] scripts/crosstool-NG.sh.in: patch regex to work with BSD grep


From: "Jason T. Masker" <jason@masker.net>

BSD grep does not interpret a null alteration. It complains about an
empty sub-expression, e.g.:

$ grep --version && grep -E '^(# |)CT_' .config
grep (BSD grep) 2.5.1-FreeBSD
grep: empty (sub)expression

This patch replaces the null alteration with a zero or once quantifier
which works with both BSD & GNU grep.

$ grep --version && grep -E '^(# )?CT_' .config
grep (BSD grep) 2.5.1-FreeBSD
CT_CONFIGURE_has_xz=y
CT_CONFIGURE_has_svn=y
...
$ ggrep --version && ggrep -E '^(# )?CT_' .config
ggrep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see
<http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
CT_CONFIGURE_has_xz=y
CT_CONFIGURE_has_svn=y
...

Signed-off-by: Jason T. Masker <jason@masker.net>
Tested-by: Andreas BieÃmann <andreas@biessmann.de>
---
This is just a resent cause the original message could not be applied
properly. I also add my Tested-by, tested on OS X 10.10.

since v1:
 * adopt commit message

Jason's v2/v3 messge:
 * Updated patch to also fix change another occurrence, found in
   kconfig/kconfig.mk.

 kconfig/kconfig.mk         | 2 +-
 scripts/crosstool-NG.sh.in | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk
index cb9f91c..06e022c 100644
--- a/kconfig/kconfig.mk
+++ b/kconfig/kconfig.mk
@@ -38,7 +38,7 @@ defconfig:
 # Always be silent, the stdout an be >.config
 extractconfig:
 	@$(awk) 'BEGIN { dump=0; }                                                  \
-	         dump==1 && $$0~/^\[.....\][[:space:]]+(# |)CT_/ {                  \
+	         dump==1 && $$0~/^\[.....\][[:space:]]+(# )?CT_/ {                  \
 	             $$1="";                                                        \
 	             gsub("^[[:space:]]","");                                       \
 	             print;                                                         \
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index cd65d5b..53ac552 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -125,7 +125,7 @@ CT_DoLog INFO "Build started ${CT_STAR_DATE_HUMAN}"
 # We really need to extract from ,config and not .config.2, as we
 # do want the kconfig's values, not our mangled config with arrays.
 CT_DoStep DEBUG "Dumping user-supplied crosstool-NG configuration"
-CT_DoExecLog DEBUG ${grep} -E '^(# |)CT_' .config
+CT_DoExecLog DEBUG ${grep} -E '^(# )?CT_' .config
 CT_EndStep
 
 CT_DoLog DEBUG "Unsetting and unexporting MAKEFLAGS"
-- 
1.9.3 (Apple Git-50)


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]