-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-15040: [C++] Improve pkg-config support for ARROW_BUILD_SHARED=OFF #15075
Conversation
…ED=OFF If `ARROW_BUILD_SHARED=OFF` is specified, `pkg-config --cflags --libs arrow` doesn't work. Because `pkg-config --cflags --libs arrow` misses build options for static linking. Users need to specify `pkg-config --cflags --libs --static arrow` for static linking even when `ARROW_BUILD_SHARED=OFF` is specified. This change adds support for `pkg-config --cflags --libs arrow` with `ARROW_BUILD_SHARED=OFF`. The command outputs build options for linking against `libarrow.a`. But these build options don't use static linking for dependencies. On the other hand, `pkg-config --cflags --libs --static arrow` still use static linking for all libraries including Apache Arrow C++ and its dependencies. With this change, Apache Arrow R doesn't need to use `pkg-config --static`. Because `pkg-config --cflags --libs arrow` works for both of `libarrow.so` and `libarrow.a`.
@github-actions crossbow submit -g r |
Revision: 9df548a Submitted crossbow builds: ursacomputing/crossbow @ actions-f48dce693b |
@github-actions crossbow submit r-binary-packages |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit r-binary-packages |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit r-binary-packages |
This comment was marked as outdated.
This comment was marked as outdated.
@github-actions crossbow submit r-binary-packages |
Revision: 62e7a27 Submitted crossbow builds: ursacomputing/crossbow @ actions-67a83aaaad
|
This is ready to review/merge. |
I merge this. If there are problems, I'll fix them in follow-up pull requests. |
Benchmark runs are scheduled for baseline = 130f41a and contender = 43b95e6. 43b95e6 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
['Python', 'R'] benchmarks have high level of regressions. |
…ED=OFF (apache#15075) If `ARROW_BUILD_SHARED=OFF` is specified, `pkg-config --cflags --libs arrow` doesn't work. Because `pkg-config --cflags --libs arrow` misses build options for static linking. Users need to specify `pkg-config --cflags --libs --static arrow` for static linking even when `ARROW_BUILD_SHARED=OFF` is specified. This change adds support for `pkg-config --cflags --libs arrow` with `ARROW_BUILD_SHARED=OFF`. The command outputs build options for linking against `libarrow.a`. But these build options don't use static linking for dependencies. On the other hand, `pkg-config --cflags --libs --static arrow` still use static linking for all libraries including Apache Arrow C++ and its dependencies. With this change, Apache Arrow R doesn't need to use `pkg-config --static`. Because `pkg-config --cflags --libs arrow` works for both of `libarrow.so` and `libarrow.a`. * Closes: apache#15040 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
If
ARROW_BUILD_SHARED=OFF
is specified,pkg-config --cflags --libs arrow
doesn't work. Becausepkg-config --cflags --libs arrow
misses build options for static linking. Users need to specifypkg-config --cflags --libs --static arrow
for static linking even whenARROW_BUILD_SHARED=OFF
is specified.This change adds support for
pkg-config --cflags --libs arrow
withARROW_BUILD_SHARED=OFF
. The command outputs build options for linking againstlibarrow.a
. But these build options don't use static linking for dependencies. On the other hand,pkg-config --cflags --libs --static arrow
still use static linking for all libraries including Apache Arrow C++ and its dependencies.With this change, Apache Arrow R doesn't need to use
pkg-config --static
. Becausepkg-config --cflags --libs arrow
works for both oflibarrow.so
andlibarrow.a
.