[Cin] stdc++11 detecion via autotools
Andrew Randrianasulu
randrianasulu at gmail.com
Fri Mar 20 15:32:21 CET 2020
I just added AX_CXX_COMPILE_STDCXX_11
into configure.ac, and now, ./configure prints:
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=gnu++11... yes
found this tip via stackoverfolw, and then gnu site:
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
on debian you might want to install autoconf-archive ... or at least some says so:
https://stackoverflow.com/questions/11909347/autotools-check-for-c11
"To get it to work, I also installed autoconf-archive ..[...]"
so, at the end of config.log it says:
CXXFLAGS='-g -O2 -std=gnu++11' but I haven't tested this yet
I forgot to re-add this png_set_swap thing, so I better to do some other tests
before yet another rebuild :}
just in case:
https://gcc.gnu.org/projects/cxx-status.html
C++11 Support in GCC
GCC 4.8.1 was the first feature-complete implementation of the 2011 C++ standard, previously known as C++0x.
This mode can be selected with the -std=c++11 command-line flag, or -std=gnu++11 to enable GNU extensions as well.
C++14 Support in GCC
GCC has full support for the previous revision of the C++ standard, which was published in 2014.
This mode is the default in GCC 6.1 and above; it can be explicitly selected with the -std=c++14
command-line flag, or -std=gnu++14 to enable GNU extensions as well.
because new OpenEXR compiles with gcc 5.5.0 as in Slackware 14.2 I assume support for this c++14
mode was complete enough for this library even in late gcc 5.x (see tables at link above)
Thing is, failing whole Cin build due to one embedded library probably not best thing to do ...
so, just set building new OpenEXR to No in one specific case, when compiler has no support for c++11 at all?
Apparently, static libraries have both advantages (less dependencies for run time) and disadvantages
(if you hit bug in statically-linked lib you are forced to rebuild whole thing anyway)
By the way, I think current README in root of Cinelerra source tree explain situation fairly well.
Just for making software BOTH feature complete and runnable on old distros/cpus someone
has to put some effort .... I hope my little researches help more than hurt.
More information about the Cin
mailing list