include: curl/system.h is a run-time replacement for curlbuild.h [RFC] #1373
Conversation
@bagder, thanks for your PR! By analyzing the history of the files in this pull request, we identified @yangtse, @mback2k and @masali-hp to be potential reviewers. |
(I spotted the spelling error in the commit message) I'm looking for all sorts of comments and feedback on this idea - and I want to check if this version still builds fine in the CI. |
include: curl/system.h is a run-time version of curlbuild.h curl/system.h is used in parallel with curl/curlbuild.h curl/system.h determines a few data sizes, data types and include file status based on available preprocessor defines. This in order to avoid relying on a build-time generated file that makes it complicated to do 32 and 64 bit bields from the same installed set of headers. test 1541 is added to verify that system.h comes to the same conclusion that curlbuild.h offers. system.h is aimed to replace curlbuild.h at a later point in time when we feel confident system.h works sufficiently well. |
system.h is aimed to replace curlbuild.h at a later point in time when we feel confident system.h works sufficiently well. curl/system.h is currently used in parallel with curl/curlbuild.h curl/system.h determines a data sizes, data types and include file status based on available preprocessor defines instead of getting generated at build-time. This, in order to avoid relying on a build-time generated file that makes it complicated to do 32 and 64 bit bields from the same installed set of headers. Test 1541 verifies that system.h comes to the same conclusion that curlbuild.h offers. At a future point when we feel confident system.h is works fairly well, we remove curlbuild.h.
curl/system.h is used instead of curl/curlbuild.h
curl/system.h determines a few data sizes, data types and include file
status based on available preprocessor defines. This in order to avoid
relying on a build-time generated file that makes it complicated to do
32 and 64 bit bields from the same installed set of headers.
Define
CURL_BUILDTIME
to instead use the old header if you need to,and report this case back to the curl project.
curl/curlbuild.h will be removed completely at a later point in time
when we feel confident it isn't needed as a work-around any more.