> On 13 Sep 2021, at 16:19, Thomas Shields <[email protected]> > 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.
