[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting involved in Bison

From: Akim Demaille
Subject: Re: Getting involved in Bison
Date: Mon, 21 Oct 2019 08:58:55 +0200

Hi Victor,

> Le 21 oct. 2019 à 04:08, Morales Cayuela, Victor (NSB - CN/Hangzhou) 
> <address@hidden> a écrit :
> Morning!
> This weekend I tried to download & compile the project but didn't work...
> I cloned your repo in github and then ran "git submodule update --init", 
> which basically only downloaded autoconf (I was expecting more tools, like 
> automake).

Nope, it does not download Autoconf, it only fetches a part of Autoconf which 
we use (some carefully crafted M4 macro—Autoconf is written in M4).

You really need to set up your developper environment by hand.  Be sure to read 

> I tried running ./bootstrap but it said that there were no "autoconf" nor 
> "automake" tools available. I decided to directly install them with brew and 
> then I ran again bootstrap, which complained again saying there was not 
> "wget". After installing wget, bootstrap asked again about a tool called 
> "autopoint", which is not available in brew and for which I didn't find a 
> reliable repository online.

It's part of Gettext.  See README-hacking :)

> In sum, this project has a lot of dependencies...

Yes.  In order to free *users* from these dependencies.

> I will try again today when I go back home. Perhaps I will virtualize a 
> popular Linux distro, they usually have more tools than Macs.

I develop on top of MacPorts, and need nothing else.

I'll install these two commits, be sure to update first next time you try.


commit 8b87da8d12a0f073d4b8667ae1562ec7a438ce35
Author: Akim Demaille <address@hidden>
Date:   Mon Oct 21 08:38:03 2019 +0200

    bootstrap: relieve developpers from Gettext version mismatch issues
    * .travis.yml (compile): Move the workaround from here...
    * bootstrap.conf (bootstrap_epilogue): to there.

diff --git a/.travis.yml b/.travis.yml
index 5d00e89c..674591cb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -50,9 +50,6 @@ jobs:
         - git submodule update --init --recursive
         - ./bootstrap
-        # gnulib-po/Makefile.in.in is about Gettext 0.20, which is not 
available in bionic.  So it will break here.  Override it.  Don't use 
autopoint, which sends some other files in the past.
-        - cp po/Makefile.in.in gnulib-po
         - ./configure --enable-gcc-warnings || { cat config.log && false; }
         - make -j2
         - make -j2 dist
diff --git a/bootstrap.conf b/bootstrap.conf
index 22816271..ad8d12c8 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -90,6 +90,13 @@ bootstrap_epilogue()
   touch src/parse-gram.[ch]
   perl -pi -e "s/\@PACKAGE\@/$package/g" README-release
+  # Bison currently uses Gettext 0.19, but the gnulib-po module
+  # imports files from more recent versions of Gettext that are not
+  # yet available widely enough (e.g., not in bionic, used by the CI).
+  # Work around this.  Don't use autopoint, which sends some other
+  # files in the past.
+  cp po/Makefile.in.in gnulib-po
 # Keep our bootstrap script in sync with gnulib's.  If we ever need to

commit c6e4b260e0de265e1888822682054c32498541d8
Author: Akim Demaille <address@hidden>
Date:   Mon Oct 21 08:49:11 2019 +0200

    doc: update README
    * README: Be clearer that README-hacking _must_ be read.
    Convert to Markdown.

diff --git a/README b/README
index a54231d7..0d4c257d 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 This package contains the GNU Bison parser generator.
-* Installation
-** Build from git
+# Installation
+## Build from git
 Here are basic installation instructions for a repository checkout:
     $ git submodules update --init
@@ -9,17 +9,17 @@ Here are basic installation instructions for a repository 
 then proceed with the usual 'configure && make' steps.
-README-hacking contains more information about building and modifying the
+Be sure to read README-hacking, which contains all the needed information
+about building, modifying and checking Bison.
-** Build for tarball
+## Build from tarball
 See the file INSTALL for generic compilation and installation instructions.
 Bison requires GNU m4 1.4.6 or later.  See:
-** Relocatability
+## Relocatability
 If you pass '--enable-relocatable' to 'configure', Bison is relocatable.
 A relocatable program can be moved or copied to a different location on the
@@ -29,7 +29,7 @@ invoke them through the symlink.
 See "Enabling Relocatability" in the documentation.
-** Internationalization
+## Internationalization
 Bison supports two catalogs: one for Bison itself (i.e., for the
 maintainer-side parser generation), and one for the generated parsers (i.e.,
 for the user-side parser execution).  The requirements between both differ:
@@ -39,7 +39,7 @@ generated parsers could have been localized.  See
 http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html for more
-* Questions
+# Questions
 See the section FAQ in the documentation (doc/bison.info) for frequently
 asked questions.  The documentation is also available in PDF and HTML,
 provided you have a recent version of Texinfo installed: run "make pdf" or
@@ -48,19 +48,19 @@ provided you have a recent version of Texinfo installed: 
run "make pdf" or
 If you have questions about using Bison and the documentation does not
 answer them, please send mail to <address@hidden>.
-* Bug reports
+# Bug reports
 Please send bug reports to <address@hidden>.  Be sure to include the
 version number from 'bison --version', and a complete, self-contained test
 case in each bug report.
-* Copyright statements
+# Copyright statements
 For any copyright year range specified as YYYY-ZZZZ in this package, note
 that the range specifies every single year in that closed interval.
 Local Variables:
-mode: outline
+mode: markdown
 fill-column: 76
 ispell-dictionary: "american"
@@ -83,5 +83,7 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
-# LocalWords:  parsers ngettext Texinfo pdf html YYYY ZZZZ ispell american
+LocalWords:  parsers ngettext Texinfo pdf html YYYY ZZZZ ispell american
diff --git a/README.md b/README.md
new file mode 120000
index 00000000..100b9382
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
\ No newline at end of file

reply via email to

[Prev in Thread] Current Thread [Next in Thread]