[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