diff mbox

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

Message ID CAEFQu-Eyw0f-TjqXCnvkKTMetkrCepv59kPW0FQ-LOTju69W-A@mail.gmail.com
State Not Applicable, archived
Headers show

Commit Message

Jason Masker Oct. 16, 2014, 4:56 p.m. UTC
Resending with sign off. Apologies.

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 Masker <jason@masker.net>



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

Patch

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"