Skip to content

Be more explicit about C++ version requierments. - #311

Merged
etr merged 2 commits into
etr:masterfrom
bcsgh:bcsgh/version-check-n-doc
Apr 12, 2023
Merged

etr merged 2 commits into
etr:masterfrom
bcsgh:bcsgh/version-check-n-doc

Conversation

@bcsgh

@bcsgh bcsgh commented Apr 11, 2023

Copy link
Copy Markdown
Contributor

Description of the Change

Prompted by #295

Release Notes

  • Include the minimum C++ version in README.md
  • Make any use of httpserver.hpp check the C++ version.

@etr

etr commented Apr 11, 2023

Copy link
Copy Markdown
Owner

We might also use: https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_17.html.

What do you think?

@bcsgh
bcsgh marked this pull request as ready for review April 11, 2023 03:49
@bcsgh

bcsgh commented Apr 11, 2023

Copy link
Copy Markdown
Contributor Author

Seems that's already being done:
https://github.com/etr/libhttpserver/blob/master/configure.ac#L47

Also, will that give a clean error to someone who builds libhttpserver using its build system and then attempts to build their own code using C++14 and link with the .a?

Lastly, I at least don't use the autoconf build at all (I use Bazel). Autoconf is very much a pain to get a hermetic build out of (it seems to assume that the configuration of my workstation is in any way relevant to how to build the library) and doesn't integrate well with everything else I'm using.

@etr

etr commented Apr 11, 2023

Copy link
Copy Markdown
Owner

Seems that's already being done: https://github.com/etr/libhttpserver/blob/master/configure.ac#L47

Also, will that give a clean error to someone who builds libhttpserver using its build system and then attempts to build their own code using C++14 and link with the .a?

Great. I did not mean it as a substitution to what you have here, though, because it won't support you beyond the compilation of the library itself.

Lastly, I at least don't use the autoconf build at all (I use Bazel). Autoconf is very much a pain to get a hermetic build out of (it seems to assume that the configuration of my workstation is in any way relevant to how to build the library) and doesn't integrate well with everything else I'm using.

To be fair, what I should be doing is uploading the output of make dist. In theory, you should have to run automake/autoconf at all.

Comment thread src/httpserver.hpp Outdated
@bcsgh

bcsgh commented Apr 11, 2023

Copy link
Copy Markdown
Contributor Author

To be fair, what I should be doing is uploading the output of make dist. In theory, you should have to run automake/autoconf at all.

I'm of the "always build everything from source" school of thought. Which incidentally allows you to totally avoids the question of what set of CPU/OS/etc. to generate releases for; you'll never get enough options to make people happy, so just make sure building for their own personal snowflake is fast and easy.

@etr
etr merged commit aad1a5c into etr:master Apr 12, 2023
@bcsgh
bcsgh deleted the bcsgh/version-check-n-doc branch April 13, 2023 04:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants