From patchwork Thu Dec 11 17:32:59 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Newton X-Patchwork-Id: 420190 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id F0046140081 for ; Fri, 12 Dec 2014 04:33:15 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; q=dns; s= default; b=F333LNenastp4+TLP0OYvDR3vpW5l7bL1/M1Rk7wY0KWv8toh5vVc UEXQETsqpM5qd0dPZUBLzsJtSUg4b8U17jc3lMQSHqR9rb3Ka4SPxMH0f4i8u95U t5e8C6xdEUxADYUhQmEn0FiuwRdS8V8bJpRkBM3dLlnnQZCALtR4w0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; s=default; bh=KSSZQzcsAV3+pE6e7x5CUr4Djwk=; b=kqpIEqRNgBPw8CJd20vqUTBL8X8S pNt/HI3aZc6XVum9C60nqDmIHBaGdiWHPFrlD54UIT2Ag6GHPn0GaKhQbc4BF72f aNKvYdx0GWgrjt/ZmSkiFISjT04IrodfJi1EGCuNptWZA/vHn/iI5UJbrUYUnzCo wcNKbmhxEMK84xE= Received: (qmail 24078 invoked by alias); 11 Dec 2014 17:33:10 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk 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 24067 invoked by uid 89); 11 Dec 2014 17:33:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f176.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=nINSrSK/3Duz/aLRVBz3RI0y2tP5O0MCG8h+RZ01HoI=; b=g7qSiVWFZdHSdnikso1XPsO6w90IZjyqe9203yZitTRWBLyIVALjVBZRaHdTDdjfme C4CZYpFye8sQ3UZtZQYAenHehOpRyHTtaUmW6jVi2lTY5TqvWHI2Yrsp9gjBtiElMkH/ fkD8+W9tm93tGEFFGNLB80S7hSFAtUS1/+UrOq7ugtEmbbxvhHV7WYLmpX6skjcZn/aY U3KzNnmVfRm9DPg8D1yJI+9phfF/pJ5ict3avg2Xz9SOiIK8K5nCmAOs8KgNyfCSS4A2 vsDTUEJTR5wpuDhRRrJwzXzeo28ytiiF4n4UmOTXxytzzwwkjDnrlrj4auM/GkK6K8W0 KKBQ== X-Gm-Message-State: ALoCoQkgRs0imsCC94JGD/zmROM1nZQFSuq3+Ux8tc8g4036YBTvxEavT+GQGTHFMIscqmJgamRT X-Received: by 10.180.211.201 with SMTP id ne9mr96954wic.30.1418319184044; Thu, 11 Dec 2014 09:33:04 -0800 (PST) From: Will Newton To: libc-alpha@sourceware.org Subject: [PATCH] Require bison 2.7 or newer for regenerating intl/plural.y Date: Thu, 11 Dec 2014 17:32:59 +0000 Message-Id: <1418319179-18894-1-git-send-email-will.newton@linaro.org> 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 * INSTALL: Document that we require bison 2.7 or above. * configure: 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. --- INSTALL | 5 +++++ configure | 53 +++++++++++++++++++++++++++++++++++++---------------- configure.ac | 5 ++++- 3 files changed, 46 insertions(+), 17 deletions(-) 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..d37638c 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].*) + 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..934b067 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].*], + BISON=no) AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl AC_TRY_COMPILE(dnl