From patchwork Thu Dec 11 17:58:56 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 42155 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-lb0-f198.google.com (mail-lb0-f198.google.com [209.85.217.198]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id AAF1E26C7A for ; Thu, 11 Dec 2014 17:59:32 +0000 (UTC) Received: by mail-lb0-f198.google.com with SMTP id p9sf3778695lbv.5 for ; Thu, 11 Dec 2014 09:59:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:mailing-list :precedence:list-id:list-unsubscribe:list-subscribe:list-archive :list-post:list-help:sender:delivered-to:from:to:subject:date :message-id:x-original-sender:x-original-authentication-results; bh=6m4YFiVgtW0N6lowEe4S87gRrNLVImL59ta4ERzyBhc=; b=AtY4b4yA+6ItOGIgLgacIAJJuibiU0crjHMWCnQYhCZAZZhzCouos9m6MDIaX5mgHv MePljRO9iMn/sHScQeIr8TP1bDD3plTvQIvq4OdMwx4cTjkkILI26j8GNuK3pJIs9qRx 8BYraxBN7Hep3lyL7jRlcr2ji/SFORH1hFIRGkKYQ/CaNGVayeiuO3K+nVXn4KciWxYb 6lYgpDxSH9FQRIBITfFg66TeMYkAHNte+/SwHxMwASAvEKvddnmvUpthLbhRQHTpfqxl RjbUC3H/c0OXBETdcyaEE6k8xGai0evFf/MYPOzJ1vhA8oWnE39UzkW+2WtI2AY/R7Tc Qz7A== X-Gm-Message-State: ALoCoQlbET+02rIPi1rBsEYu1YxgY1VJAyAShsVoE4xhHQRszrBUfHGeOTLppcNGQeIEGwxI0KaH X-Received: by 10.152.8.67 with SMTP id p3mr1893471laa.4.1418320771706; Thu, 11 Dec 2014 09:59:31 -0800 (PST) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.27.9 with SMTP id p9ls342434lag.80.gmail; Thu, 11 Dec 2014 09:59:31 -0800 (PST) X-Received: by 10.153.5.9 with SMTP id ci9mr11192692lad.31.1418320771408; Thu, 11 Dec 2014 09:59:31 -0800 (PST) Received: from mail-lb0-x22f.google.com (mail-lb0-x22f.google.com. [2a00:1450:4010:c04::22f]) by mx.google.com with ESMTPS id kv10si1967450lac.131.2014.12.11.09.59.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 11 Dec 2014 09:59:31 -0800 (PST) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22f as permitted sender) client-ip=2a00:1450:4010:c04::22f; Received: by mail-lb0-f175.google.com with SMTP id u10so4484321lbd.20 for ; Thu, 11 Dec 2014 09:59:31 -0800 (PST) X-Received: by 10.112.219.37 with SMTP id pl5mr8080817lbc.25.1418320771280; Thu, 11 Dec 2014 09:59:31 -0800 (PST) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.142.69 with SMTP id ru5csp603742lbb; Thu, 11 Dec 2014 09:59:29 -0800 (PST) X-Received: by 10.68.203.130 with SMTP id kq2mr19425399pbc.1.1418320768511; Thu, 11 Dec 2014 09:59:28 -0800 (PST) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id pn9si2877914pdb.52.2014.12.11.09.59.27 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Dec 2014 09:59:28 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-55342-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 2034 invoked by alias); 11 Dec 2014 17:59:06 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list List-Id: List-Unsubscribe: , List-Subscribe: List-Archive: List-Post: , List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 1963 invoked by uid 89); 11 Dec 2014 17:59:05 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f174.google.com X-Received: by 10.194.2.164 with SMTP id 4mr18585953wjv.55.1418320740967; Thu, 11 Dec 2014 09:59:00 -0800 (PST) From: Will Newton To: libc-alpha@sourceware.org Subject: [PATCH v2] Require bison 2.7 or newer for regenerating intl/plural.y Date: Thu, 11 Dec 2014 17:58:56 +0000 Message-Id: <1418320736-7553-1-git-send-email-will.newton@linaro.org> X-Original-Sender: will.newton@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22f as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@sourceware.org X-Google-Group-Id: 836684582541 The merge of the latest gettext code introduced changes to the yacc parser source that are incompatible with versions of bison older than 2.7. Add a configure check for the appropriate versions and document the requirement in INSTALL. ChangeLog: 2014-12-11 Will Newton * manual/install.texi: Document that we require bison 2.7 or above. * INSTALL: Regenerate. * configure.ac: Use AC_CHECK_PROG_VER instead of AC_PATH_PROG when checking for bison and check for version 2.7 or above. * configure: Regenerate. --- INSTALL | 5 +++++ configure | 53 +++++++++++++++++++++++++++++++++++++---------------- configure.ac | 5 ++++- manual/install.texi | 9 +++++++++ 4 files changed, 55 insertions(+), 17 deletions(-) Changes in v2: - Generate INSTALL from manual/install.texi - Improve glob to match future bison versions diff --git a/INSTALL b/INSTALL index dac6178..7338678 100644 --- a/INSTALL +++ b/INSTALL @@ -386,6 +386,11 @@ and if you change any of the message translation files you will need * GNU `gettext' 0.10.36 or later +If you wish to regenerate the yacc parser code in the `intl' +subdirectory you will need + + * GNU `bison' 2.7 or later + You may also need these packages if you upgrade your source tree using patches, although we try to avoid this. diff --git a/configure b/configure index 0cb54ec..c4e6546 100755 --- a/configure +++ b/configure @@ -5318,27 +5318,26 @@ $as_echo "no" >&6; } fi -# Extract the first word of "bison", so it can be a program name with args. -set dummy bison; ac_word=$2 +for ac_prog in bison +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BISON+:} false; then : +if ${ac_cv_prog_BISON+:} false; then : $as_echo_n "(cached) " >&6 else - case $BISON in - [\\/]* | ?:[\\/]*) - ac_cv_path_BISON="$BISON" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy="$PATH:/usr/local/bin:/usr/bin:/bin" -for as_dir in $as_dummy + if test -n "$BISON"; then + ac_cv_prog_BISON="$BISON" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" + ac_cv_prog_BISON="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -5346,11 +5345,9 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="no" - ;; -esac fi -BISON=$ac_cv_path_BISON +fi +BISON=$ac_cv_prog_BISON if test -n "$BISON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 $as_echo "$BISON" >&6; } @@ -5360,6 +5357,30 @@ $as_echo "no" >&6; } fi + test -n "$BISON" && break +done + +if test -z "$BISON"; then + ac_verc_fail=yes +else + # Found it, now check the version. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $BISON" >&5 +$as_echo_n "checking version of $BISON... " >&6; } + ac_prog_version=`$BISON --version 2>&1 | sed -n 's/^.*bison (GNU Bison) \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 2.7*|[3-9].*|[1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5 +$as_echo "$ac_prog_version" >&6; } +fi +if test $ac_verc_fail = yes; then + BISON=no +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libc-friendly stddef.h" >&5 $as_echo_n "checking for libc-friendly stddef.h... " >&6; } diff --git a/configure.ac b/configure.ac index b2c4b1f..82271c1 100644 --- a/configure.ac +++ b/configure.ac @@ -1041,7 +1041,10 @@ if test "$PERL" != no && fi AC_PATH_PROG(INSTALL_INFO, install-info, no, $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin) -AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin) +AC_CHECK_PROG_VER(BISON, bison, --version, + [bison (GNU Bison) \([0-9]*\.[0-9.]*\)], + [2.7*|[3-9].*|[1-9][0-9]*], + BISON=no) AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl AC_TRY_COMPILE(dnl diff --git a/manual/install.texi b/manual/install.texi index 1eafb6e..efbb30f 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -442,6 +442,15 @@ GNU @code{gettext} 0.10.36 or later @end itemize @noindent +If you wish to regenerate the yacc parser code in the `intl' +subdirectory you will need + +@itemize @bullet +@item +GNU @code{bison} 2.7 or later +@end itemize + +@noindent You may also need these packages if you upgrade your source tree using patches, although we try to avoid this.