configure: check for GNU awk, not any awk 1.15
author"Yann E. MORIN" <yann.morin.1998@free.fr>
Sat Jul 14 18:25:47 2012 +0200 (2012-07-14)
branch1.15
changeset 30061c9e4e6a6922
parent 3005 740867bd81ca
child 3007 34fea104c84c
configure: check for GNU awk, not any awk

Building glibc requires GNU awk, not any other.

Reported-by: Han Sooloo <hansooloo@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
(transplanted from 4ccfca658d9bbbc4a682751332ce5b92cbdfb0fe)
Makefile.in
configure.ac
kconfig/kconfig.mk
     1.1 --- a/Makefile.in	Sat Jul 14 19:52:58 2012 +0200
     1.2 +++ b/Makefile.in	Sat Jul 14 18:25:47 2012 +0200
     1.3 @@ -53,6 +53,7 @@
     1.4  export datarootdir     := @datarootdir@
     1.5  export install         := @INSTALL@
     1.6  export bash            := @_BASH@
     1.7 +export awk             := @_AWK@
     1.8  export grep            := @GREP@
     1.9  export make            := @MAKE@
    1.10  export sed             := @SED@
    1.11 @@ -177,6 +178,7 @@
    1.12  	           -e 's,@@CT_DATE@@,$(DATE),g;'            \
    1.13  	           -e 's,@@CT_make@@,$(make),g;'            \
    1.14  	           -e 's,@@CT_bash@@,$(bash),g;'            \
    1.15 +	           -e 's,@@CT_awk@@,$(awk),g;'              \
    1.16  	           $< >$@
    1.17  endef
    1.18  
    1.19 @@ -195,6 +197,7 @@
    1.20  	@echo "  GEN    '$@'"
    1.21  	@(echo 'export install=$(install)';         \
    1.22  	  echo 'export bash=$(bash)';               \
    1.23 +	  echo 'export awk=$(awk)';                 \
    1.24  	  echo 'export grep=$(grep)';               \
    1.25  	  echo 'export make=$(make)';               \
    1.26  	  echo 'export sed=$(sed)';                 \
    1.27 @@ -210,6 +213,7 @@
    1.28  	@echo "  GEN    '$@'"
    1.29  	@(echo 'export install="$(install)"';       \
    1.30  	  echo 'export bash="$(bash)"';             \
    1.31 +	  echo 'export awk="$(awk)"';               \
    1.32  	  echo 'export grep="$(grep)"';             \
    1.33  	  echo 'export make="$(make)"';             \
    1.34  	  echo 'export sed="$(sed)"';               \
     2.1 --- a/configure.ac	Sat Jul 14 19:52:58 2012 +0200
     2.2 +++ b/configure.ac	Sat Jul 14 18:25:47 2012 +0200
     2.3 @@ -99,7 +99,7 @@
     2.4  AC_CACHE_VAL([ac_cv_path_SED],
     2.5      [AC_ARG_WITH([sed],
     2.6          AS_HELP_STRING([--with-sed=PATH],
     2.7 -                       [Specify the full PATH to sed]),
     2.8 +                       [Specify the full PATH to GNU sed]),
     2.9          [ac_cv_path_SED=$withval])])
    2.10  AC_PROG_SED
    2.11  AC_MSG_CHECKING([whether sed understands -r -i -e])
    2.12 @@ -129,7 +129,6 @@
    2.13  ACX_CHECK_PROGS_REQ([bison], [bison])
    2.14  ACX_CHECK_PROGS_REQ([flex], [flex])
    2.15  ACX_CHECK_PROGS_REQ([gperf], [gperf])
    2.16 -ACX_CHECK_PROGS_REQ([awk], [gawk mawk nawk awk])
    2.17  ACX_CHECK_PROGS_REQ([makeinfo], [makeinfo])
    2.18  ACX_CHECK_PROGS_REQ([cut], [cut])
    2.19  ACX_CHECK_PROGS_REQ([stat], [stat])
    2.20 @@ -151,7 +150,7 @@
    2.21  AC_CACHE_VAL([ac_cv_path__BASH],
    2.22      [AC_ARG_WITH([bash],
    2.23          AS_HELP_STRING([--with-bash=PATH],
    2.24 -                       [Specify the full PATH to bash >= 3.1]),
    2.25 +                       [Specify the full PATH to GNU bash >= 3.1]),
    2.26          [ac_cv_path__BASH=$withval])])
    2.27  AC_CACHE_CHECK([for bash >= 3.1], [ac_cv_path__BASH],
    2.28      [AC_PATH_PROGS_FEATURE_CHECK([_BASH], [bash],
    2.29 @@ -162,6 +161,21 @@
    2.30           AC_MSG_ERROR([could not find bash >= 3.1])])])
    2.31  AC_SUBST([_BASH], [$ac_cv_path__BASH])
    2.32  
    2.33 +# We need a awk that *is* GNU awk
    2.34 +AC_CACHE_VAL([ac_cv_path__AWK],
    2.35 +    [AC_ARG_WITH([awk],
    2.36 +        AS_HELP_STRING([--with-awk=PATH],
    2.37 +                       [Specify the full PATH to GNU awk]),
    2.38 +        [ac_cv_path__AWK=$withval])])
    2.39 +AC_CACHE_CHECK([for GNU awk], [ac_cv_path__AWK],
    2.40 +    [AC_PATH_PROGS_FEATURE_CHECK([_AWK], [awk gawk],
    2.41 +        [[_AWK_ver=$($ac_path__AWK --version 2>&1 \
    2.42 +                     |$EGREP '^GNU Awk ')
    2.43 +          test -n "$_AWK_ver" && ac_cv_path__AWK=$ac_path__AWK ac_path__AWK_found=:]],
    2.44 +        [AC_MSG_RESULT([no])
    2.45 +         AC_MSG_ERROR([could not find GNU awk])])])
    2.46 +AC_SUBST([_AWK], [$ac_cv_path__AWK])
    2.47 +
    2.48  #----------------------------------------
    2.49  # Check for GNU make 3.80 or above
    2.50  AC_CACHE_VAL([ac_cv_path_MAKE],
     3.1 --- a/kconfig/kconfig.mk	Sat Jul 14 19:52:58 2012 +0200
     3.2 +++ b/kconfig/kconfig.mk	Sat Jul 14 18:25:47 2012 +0200
     3.3 @@ -28,18 +28,18 @@
     3.4  
     3.5  # Always be silent, the stdout an be >.config
     3.6  extractconfig:
     3.7 -	@awk 'BEGIN { dump=0; }                                                 \
     3.8 -	      dump==1 && $$0~/^\[.....\][[:space:]]+(# |)CT_/ {                 \
     3.9 -	          $$1="";                                                       \
    3.10 -	          gsub("^[[:space:]]","");                                      \
    3.11 -	          print;                                                        \
    3.12 -	      }                                                                 \
    3.13 -	      $$0~/Dumping user-supplied crosstool-NG configuration: done in/ { \
    3.14 -	          dump=0;                                                       \
    3.15 -	      }                                                                 \
    3.16 -	      $$0~/Dumping user-supplied crosstool-NG configuration$$/ {        \
    3.17 -	          dump=1;                                                       \
    3.18 -	      }'
    3.19 +	@$(awk) 'BEGIN { dump=0; }                                                  \
    3.20 +	         dump==1 && $$0~/^\[.....\][[:space:]]+(# |)CT_/ {                  \
    3.21 +	             $$1="";                                                        \
    3.22 +	             gsub("^[[:space:]]","");                                       \
    3.23 +	             print;                                                         \
    3.24 +	         }                                                                  \
    3.25 +	         $$0~/Dumping user-supplied crosstool-NG configuration: done in/ {  \
    3.26 +	             dump=0;                                                        \
    3.27 +	         }                                                                  \
    3.28 +	         $$0~/Dumping user-supplied crosstool-NG configuration$$/ {         \
    3.29 +	             dump=1;                                                        \
    3.30 +	         }'
    3.31  
    3.32  #-----------------------------------------------------------
    3.33  # Help text used by make help