Skip to content

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

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

Be more explicit about C++ version requierments.#311
etr merged 2 commits intoetr:masterfrom
bcsgh:bcsgh/version-check-n-doc

Conversation

@bcsgh
Copy link
Copy Markdown
Contributor

@bcsgh bcsgh commented Apr 11, 2023

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
Copy link
Copy Markdown
Owner

etr commented Apr 11, 2023

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
Copy link
Copy Markdown
Contributor Author

bcsgh commented Apr 11, 2023

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
Copy link
Copy Markdown
Owner

etr commented Apr 11, 2023

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.

@bcsgh
Copy link
Copy Markdown
Contributor Author

bcsgh commented Apr 11, 2023

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