[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/14] glr2.cc: fix linking conflicts
From: |
Hans Åberg |
Subject: |
Re: [PATCH 00/14] glr2.cc: fix linking conflicts |
Date: |
Mon, 13 Sep 2021 18:00:28 +0200 |
> On 13 Sep 2021, at 16:19, Thomas Shields <thomas.evans.shields@icloud.com>
> wrote:
>
> Thanks for the note.
:-)
> I should have mentioned that the version of Ox I was reporting against is
> 1.10 (under development, I’m the only developer).
Great!
> I’m in the process of “upgrading” the Ox source from C to C++, allowing me to
> simplify the Ox implementation.
I am primarily programming in C++, so this sounds great! —Also GCC switched to
C++.
> Akim’s patches fix some problems I reported when I switched the Ox parser
> specs to use the Bison C++ skeleton, and also switched from the legacy
> ‘%union’ to Bison’s ‘%define api.value.type variant’ directive.
The skeleton system using M4 is clearly superior to what was before in Bison,
so this sounds good, too.
> Once I get through the initial cleanup effort (replacing malloc, calloc,
> realloc, free, strdup, & strndup; converting to use C++ library containers;
> and rewriting the output manager) and get Ox through the portability tests
> (on Linux, Solaris & Windows), I’ll release 1.10. It will probably take me
> another week to get through this.
I ended up to using C++20, because C++17 has std::optional and C++20
operator<=>, but C++14 is the current default of GCC I think.
Also, I use GCC and Clang of MacPorts, which are quite up-to-date. In
/usr/local/bin/, I set soft links from gcc to the real gcc, clang to the real
clang, and then cc is what is provided by Apple. When building. I have to set
flags, say for g++11:
../mli-root/configure CXX=/opt/local/bin/g++-mp-11 CXXFLAGS=-g
CC=/opt/local/bin/gcc-mp-11 CPPFLAGS="-g -I /usr/local/include" LDFLAGS="-L
/usr/local/lib"
The two last arguments CPPFLAGS and LDFLAGS are for the compiler to see
packages installed by hand in /usr/local.