Skip to content

Conversation

kou
Copy link
Contributor

@kou kou commented Aug 25, 2025

cc2a564 (#11061) introduced Abseil based CRC32C implementation. So we don't require crc32c when we use recent Abseil.

If we don't require crc32c with recent Abseil, downstream users such as Apache Arrow don't need to bundle crc32c. It reduces maintenance cost.

See also: apache/arrow#45989


This change is Reviewable

cc2a564 (googleapis#11061) introduced Abseil
based CRC32C implementation. So we don't require crc32c when we use
recent Abseil.

If we don't require crc32c with recent Abseil, downstream users such
as Apache Arrow don't need to bundle crc32c. It reduces maintenance
cost.

See also: apache/arrow#45989
@kou kou requested review from a team as code owners August 25, 2025 06:34
CURL::libcurl
Threads::Threads)
if (NEED_CRC32C)
target_link_libraries(google_cloud_cpp_storage PUBLIC Crc32c::crc32c)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that we can use PRIVATE here because crc32c/crc32c.h isn't used in public headers.
But I keep using PUBLIC in this PR.


set(PKGCONFIG_LIBS)
if (NEED_CRC32C)
list(APPEND PKGCONFIG_LIBS crc32c)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that we don't need to add crc32c to .pc because it's not used in public headers.
But I keep adding crc32c to .pc in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant