You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ARROW_GIT_ID and ARROW_GIT_DESCRIPTION preprocessor variables are currently exposed in arrow/util/config.h, and included from arrow/config.h. This means that any file indirectly including these headers will have to be recompiled if the git information changes - something which happens quite frequently during development.
Using ccache with properly tuned configuration can work around the issue, but does not fully remove overhead. It also requires users to think about the best ccache configuration.
By making those two variable privates, we should fix the problem entirely.
Component(s)
C++
The text was updated successfully, but these errors were encountered:
### Rationale for this change
Exposing the ARROW_GIT_ID and ARROW_GIT_DESCRIPTION preprocessor variables in our public headers tends to make incremental builds less efficient, since those values change very often during development.
Also, these values don't need to be preprocessor variables since they're just strings: you can't write useful `#if` directives with them. Instead, they can be inspected using `GetBuildInfo()`.
### Are these changes tested?
By existing builds and tests.
### Are there any user-facing changes?
Use cases depending on these preprocessor variables, which is unlikely, may break. They can be fixed by calling `arrow::GetBuildInfo()` instead.
* GitHub Issue: #41783
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
…#41781)
### Rationale for this change
Exposing the ARROW_GIT_ID and ARROW_GIT_DESCRIPTION preprocessor variables in our public headers tends to make incremental builds less efficient, since those values change very often during development.
Also, these values don't need to be preprocessor variables since they're just strings: you can't write useful `#if` directives with them. Instead, they can be inspected using `GetBuildInfo()`.
### Are these changes tested?
By existing builds and tests.
### Are there any user-facing changes?
Use cases depending on these preprocessor variables, which is unlikely, may break. They can be fixed by calling `arrow::GetBuildInfo()` instead.
* GitHub Issue: apache#41783
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Describe the enhancement requested
The
ARROW_GIT_ID
andARROW_GIT_DESCRIPTION
preprocessor variables are currently exposed inarrow/util/config.h
, and included fromarrow/config.h
. This means that any file indirectly including these headers will have to be recompiled if the git information changes - something which happens quite frequently during development.Using ccache with properly tuned configuration can work around the issue, but does not fully remove overhead. It also requires users to think about the best ccache configuration.
By making those two variable privates, we should fix the problem entirely.
Component(s)
C++
The text was updated successfully, but these errors were encountered: