This is a generation option that provides serves the same purpose as the
existing GPB_OBJC_USE_PACKAGE_AS_PREFIX_PREFIX environment variable; just
providing a different way to set/enable it.
Update the length check in google::protobuf::CEscapeInternal to account
for the extra NUL character emitted by snprintf when escaping hex and
octal sequences.
That function is an internal detail, not exported via any header.
Internally, it is used in two places, and both calls make buffers
that do have space for the extra NUL.
So in the actual usage, the check is redundant.
Move to explicit on single arg c'tors.
Move to unordered container types when working with pointers as order is likely unnecessary and just a performance issue.
This commit changes update_file_lists.sh to use Bazel as the source of truth. Currently, only the cmake build is actually affected, but Automake should be fairly straightforward to convert.
The file lists were originally factored out in PR#10027. This commit actually switches over to the Bazel-generated lists.
* [Bazel] Add a doc explaining our C++ build systems and distribution archives. (#10073)
* use char to find instead of string
Co-authored-by: David L. Jones <dlj@google.com>
This is in preparation for generating file lists automatically.
I am putting the list of files under src/, not under cmake/, so that it will be next to the file list for automake (see #10029). I can certainly put the list back under cmake/, but in general, I think we probably want to move the cmake targets e.g. to src/CMakeLists.txt anyhow.
This splits the `protobuf_test` target into several other test targets, and adds `lite_unittest` and `lite_arena_unittest`, which were missing previously.
[Side note:] I did a pass over the new tests to thin their dependencies, and also split out `lite_test_util` from the existing `test_util` target. I have left the `protobuf_test` target in place (but empty) for now... it is almost certainly safe to remove, but that can be done in a follow-up to reduce risk from this commit.
This reverts commit 448d421250.
Unfortunately we have to revert this because we're finding that it
introduces too much new build log spam for existing proto files that are
out of compliance with the warnings. We might be able to roll it forward
again if we can figure out a way to do so without so many new log
messages.
This change largely moves internal logic that creates the the `CcFileList` provider from `build_systems.bzl` to `cc_dist_library.bzl`.
There are also some associated changes to the particular `cc_dist_library` targets, since the output didn't really make sense after previous BUILD.bazel refactoring. There is also a target now for `libprotoc`.
This is somewhat of a rough cut, since it doesn't split apart the lite and full targets, or unit tests. However, it does split sources under src/google/protobuf into a separate package, which is a fairly impactful change.