Skip to content
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

[C++] Don't wait for building all thirdparty depenedencies to build Arrow itself #39823

Closed
kou opened this issue Jan 29, 2024 · 2 comments · Fixed by #39824
Closed

[C++] Don't wait for building all thirdparty depenedencies to build Arrow itself #39823

kou opened this issue Jan 29, 2024 · 2 comments · Fixed by #39824

Comments

@kou
Copy link
Member

kou commented Jan 29, 2024

Describe the enhancement requested

We depend on many thirdparty libraries. But some of core codes such as cpp/src/arrow/array/*.cc don't depend on thirdpary libraries. So we can build these files before we build all thirdparty dependencies.

Component(s)

C++

@assignUser
Copy link
Member

Shouldn't cmake so this automatically? What are we doing that is breaking that?

@kou
Copy link
Member Author

kou commented Jan 30, 2024

arrow_shared/arrow_static CMake targets depend on all thirdparty libraries (e.g.: target_link_libraries(arrow_shared PUBLIC Azure::azure-storage-files-datalake)). If we do it, cpp/src/arrow/**/*.cc can't be built before all thirdparty libraries are built.

kou added a commit to kou/arrow that referenced this issue Jan 30, 2024
kou added a commit to kou/arrow that referenced this issue Jan 30, 2024
kou added a commit to kou/arrow that referenced this issue Jan 30, 2024
kou added a commit to kou/arrow that referenced this issue Jan 31, 2024
kou added a commit to kou/arrow that referenced this issue Feb 1, 2024
kou added a commit to kou/arrow that referenced this issue Feb 4, 2024
kou added a commit to kou/arrow that referenced this issue Feb 22, 2024
kou added a commit to kou/arrow that referenced this issue Feb 23, 2024
kou added a commit to kou/arrow that referenced this issue Feb 26, 2024
kou added a commit to kou/arrow that referenced this issue Feb 28, 2024
kou added a commit that referenced this issue Feb 29, 2024
…bundled libraries (#39824)

### Rationale for this change

If we can build most of `cpp/src/arrow/**/*.cc` before all bundled libraries are built, we can reduce build time. 

### What changes are included in this PR?

* Remove the `toolchain` internal CMake target
* Remove `ARROW_SHARED_LINK_LIBS`
* Remove `ARROW_STATIC_LINK_LIBS`
* Move the following variables to `cpp/src/arrow/CMakeLists.txt`
  * `ARROW_SHARED_PRIVATE_LINK_LIBS`
  * `ARROW_SHARED_INSTALL_INTERFACE_LIBS`
  * `ARROW_STATIC_INSTALL_INTERFACE_LIBS`
  * `ARROW_TEST_LINK_TOOLCHAIN`
  * `ARROW_TEST_SHARED_LINK_LIBS`
  * `ARROW_TEST_STATIC_LINK_LIBS`
  * `ARROW_SYSTEM_LINK_LIBS`
* Add internal `OBJECT` libraries that have minimal dependencies
* Remove unused `cpp/src/arrow/util/benchmark_main.cc`

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* Closes: #39823
* GitHub Issue: #39823

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
@kou kou added this to the 16.0.0 milestone Feb 29, 2024
thisisnic pushed a commit to thisisnic/arrow that referenced this issue Mar 8, 2024
…iting bundled libraries (apache#39824)

### Rationale for this change

If we can build most of `cpp/src/arrow/**/*.cc` before all bundled libraries are built, we can reduce build time. 

### What changes are included in this PR?

* Remove the `toolchain` internal CMake target
* Remove `ARROW_SHARED_LINK_LIBS`
* Remove `ARROW_STATIC_LINK_LIBS`
* Move the following variables to `cpp/src/arrow/CMakeLists.txt`
  * `ARROW_SHARED_PRIVATE_LINK_LIBS`
  * `ARROW_SHARED_INSTALL_INTERFACE_LIBS`
  * `ARROW_STATIC_INSTALL_INTERFACE_LIBS`
  * `ARROW_TEST_LINK_TOOLCHAIN`
  * `ARROW_TEST_SHARED_LINK_LIBS`
  * `ARROW_TEST_STATIC_LINK_LIBS`
  * `ARROW_SYSTEM_LINK_LIBS`
* Add internal `OBJECT` libraries that have minimal dependencies
* Remove unused `cpp/src/arrow/util/benchmark_main.cc`

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* Closes: apache#39823
* GitHub Issue: apache#39823

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants