-
Notifications
You must be signed in to change notification settings - Fork 333
A bazel build and regression harness for s2geometry #361
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
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
src/README.md
Outdated
@@ -0,0 +1,42 @@ | |||
|
|||
# S2 Geometry Library |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a shortened version of https://github.com/google/s2geometry/blob/master/README.md
better to combine with that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
7.0.0 for bzlmod
...logging.h was removed in most recent commit/push. |
I tested build times for a hierarchical library definition as compared to a single flat library definition for s2. The flat definition builds twice as fast (12 sec vs 25 sec) about 25% of the time – using a mac M1. This is counter to expectations, so I reverted to the flat definition. |
Thanks for the requested changes by mmorel-35 … made and pushed. |
* Replace S2Testing::Random, which was based on random(3), with new s2random:: namespace, based on abseil-cpp's random library. This removes the use of global state. * Use int64_t instead of int64, etc. * constexpr fixes * Reworked S2ClosestEdgeQuery
* Replace S2Testing::Random, which was based on random(3), with new s2random:: namespace, based on abseil-cpp's random library. This removes the use of global state. * Use int64_t instead of int64, etc. * constexpr fixes * Reworked S2ClosestEdgeQuery * Remove some old SWIG workarounds. Merge branch 'google3-update-2024-06-21' into update-2024-06-21
This SWIG macro controls whether `int64_t` is `long long` or `long`. Previously, this was defined for all 64-bit platforms. MacOS and Windows use `long long` for `int64_t`, while Linux and most other Unices use `long`. This has only been tested with Linux, but conditional definitions like this are what I'm finding in web searches.
* Replace S2Testing::Random, which was based on random(3), with new s2random:: namespace, based on abseil-cpp's random library. This removes the use of global state. * Use int64_t instead of int64, etc. * constexpr fixes * Reworked S2ClosestEdgeQuery * Remove some old SWIG workarounds.
PR #367 forgot to adjust a few types which are under the IS_BIG_ENDIAN define.
The code is structured like this: ``` class S2Polyline { class OwningShape { std::unique_ptr<S2Polyline> owned_polyline_; }; }; ``` libcxx 16 complains that S2Polyline is not defined at the point where the dtor of the unique_ptr is called (which is OwningShape's implicitly declared default destructor in the same header file) (also see [0]). As a remedy, declare OwningShape's destructor in the source file where the full declaration of S2Polyline is visible. [0] https://stackoverflow.com/a/34073093/22422288
… upstream repo, updated absl version
Thank you! |
See issue #53.
This version relies on the bazel central repository for abseil-cpp, googletest, and boringssl and points to HEAD of s2geometry.