Use and require C++17 instead of C++11 (in distro + sagelib)#37906
Use and require C++17 instead of C++11 (in distro + sagelib)#37906mkoeppe wants to merge 8 commits intosagemath:developfrom
Conversation
|
Documentation preview for this PR (built with commit 49167d7; changes) is ready! 🎉 |
|
test / linux (ubuntu-focal, minimal) (and other platforms) |
|
test / linux (fedora-30, minimal) (This looks similar to JohnCremona/eclib#45) |
|
Indeed already building lcalc gives (on standard-pre / linux (ubuntu-bionic-gcc_8, standard), standard-pre / linux (fedora-30, standard), standard-pre / linux (fedora-31, standard)) |
|
conda-forge has a workaround for this https://github.com/conda-forge/lcalc-feedstock/blob/main/recipe/build.sh#L6 |
|
On stage-1 / local-macos (12, homebrew-macos-usrlocal-standard) |
|
Also |
|
Also |
|
Re eclib: the last release was asked for C++-11 (or later) and I recently changed to to C++-14, as I was not sure if it would make for difficulties if C++-17 was required. If not, I will change eclib's configure.ac to require C++-17 (some features of which I have avoided uusing up to now, for this reason). |
|
@JohnCremona For the platforms that Sage supports, using C++ 17 in eclib will be fine. Note that we use specific compiler packages for some of the oldest platforms though, as indicated in the platform list in https://github.com/sagemath/sage/wiki/Sage-10.4-Release-Tour#sources |
Thanks |
The compilers that we support have supported C++17 for a while (after scipy/numpy started to require this support; see #32074), but so far we have forced use of C++11.
Here we change it to forcing C++17.
The relevant m4 macros are updated from https://github.com/autoconf-archive/autoconf-archive/tree/master/m4
📝 Checklist
⌛ Dependencies
sage.libs.giac: Compile with std=c++11 #38034