Re: bistromathic doesn't build

Akim Demaille <[email protected]>
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <[email protected]>
I'll install this.

Thanks!

commit 492ea15e5eb0dd265ffbbe68c5b82ef23398aa33
Author: Akim Demaille <[email protected]>
Date:   Sun May 3 10:29:17 2020 +0200

    examples: beware of intl portability issues
    
    Reported by Horst von Brand.
    https://lists.gnu.org/r/bug-bison/2020-04/msg00033.html
    
    * examples/c/bistromathic/Makefile: libintl might not be needed, but
    libm probably is.
    * examples/c/bistromathic/parse.y: Include locale.h.

diff --git a/examples/c/bistromathic/Makefile b/examples/c/bistromathic/Makefile
index c1ac6887..99c8dcfc 100644
--- a/examples/c/bistromathic/Makefile
+++ b/examples/c/bistromathic/Makefile
@@ -5,7 +5,7 @@ BASE = bistromathic
 BISON = bison
 XSLTPROC = xsltproc
 
-# We need to find the headers and libs for readline and intl.
+# We need to find the headers and libs for readline (and possibly intl).
 # You probably need to customize this for your own environment.
 CPPFLAGS = -I/opt/local/include
 LDFLAGS = -L/opt/local/lib
@@ -14,7 +14,7 @@ LDFLAGS = -L/opt/local/lib
 BISON_LOCALEDIR = $(shell $(BISON) $(BISON_FLAGS) --print-localedir)
 CPPFLAGS += -DENABLE_NLS -DBISON_LOCALEDIR='"$(BISON_LOCALEDIR)"'
 
-LIBS = -lreadline -lintl
+LIBS = -lreadline -lm # In some environments, -lintl is needed.
 
 all: $(BASE)
 
diff --git a/examples/c/bistromathic/parse.y b/examples/c/bistromathic/parse.y
index ffed690e..479d1bf4 100644
--- a/examples/c/bistromathic/parse.y
+++ b/examples/c/bistromathic/parse.y
@@ -2,6 +2,7 @@
 
 %code top {
   #include <ctype.h>  // isdigit
+  #include <locale.h> // LC_ALL
   #include <math.h>   // cos, sin, etc.
   #include <stdarg.h> // va_start
   #include <stdio.h>  // printf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.