include: curl/system.h is a run-time replacement for curlbuild.h [RFC] #1373

Closed
wants to merge 1 commit into
from

Projects

None yet

2 participants

@bagder
Owner
bagder commented Mar 30, 2017

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.

@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.

Owner
bagder commented Mar 30, 2017

(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.

Owner
bagder commented Mar 31, 2017

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.

@bagder bagder include: curl/system.h is a run-time version of curlbuild.h
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.
1f3326b
@bagder bagder added a commit that closed this pull request Apr 3, 2017
@bagder bagder include: curl/system.h is a run-time version of curlbuild.h
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.

Closes #1373
9506d01
@bagder bagder closed this in 9506d01 Apr 3, 2017
@bagder bagder deleted the bagder/include-runtime branch Apr 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment