ADD: added new version of protobuf

This commit is contained in:
Henry Winkel
2022-12-20 10:09:28 +01:00
parent 4a79559129
commit 1e2b3dda7b
1513 changed files with 123720 additions and 83381 deletions

View File

@@ -11,7 +11,7 @@ Requirements
The Objective C implementation requires:
- Objective C 2.0 Runtime (32bit & 64bit iOS, 64bit OS X).
- Xcode 13.3.1 (or later).
- Xcode 10.3 (or later).
- The library code does *not* use ARC (for performance reasons), but it all can
be called from ARC code.
@@ -25,7 +25,7 @@ to build the compiler and run the runtime tests, you can use:
$ objectivec/DevTools/full_mac_build.sh
This will generate the `protoc` binary.
This will generate the `src/protoc` binary.
Building
--------
@@ -200,13 +200,12 @@ supported keys are:
entry can be made as "no_package:PATH=prefix", where PATH is the
path for the .proto file.
* `use_package_as_prefix`, `package_as_prefix_forced_prefix` and
`proto_package_prefix_exceptions_path`: The `value` for
`use_package_as_prefix` can be `yes` or `no`, and indicates if a prefix
should be derived from the proto package for all the symbols for files that
don't have the `objc_class_prefix` file option (mentioned above). This helps
ensure the symbols are more unique and means there is less chance of ObjC
class name collisions.
* `use_package_as_prefix` and `proto_package_prefix_exceptions_path`: The
`value` for `use_package_as_prefix` can be `yes` or `no`, and indicates
if a prefix should be derived from the proto package for all the symbols
for files that don't have the `objc_class_prefix` file option (mentioned
above). This helps ensure the symbols are more unique and means there is
less chance of ObjC class name collisions.
To help in migrating code to using this support,
`proto_package_prefix_exceptions_path` can be used to provide the path
@@ -214,16 +213,10 @@ supported keys are:
if prefixed with `#`). These package won't get the derived prefix, allowing
migrations to the behavior one proto package at a time across a code base.
`package_as_prefix_forced_prefix` can be used to provide a value that will
be used before all prefixes derived from the packages to help group all of
these types with a common prefix. Thus it only makes sense to use it when
`use_package_as_prefix` is also enabled. For example, setting this to
"XYZ\_" and generating a file with the package "something" defining
"MyMessage", would have Objective-C class be `XYZ_Something_MyMessage`.
`use_package_as_prefix` currently defaults to `no` (existing behavior), but
that could change in the future as it helps avoid collisions when more
protos get added to the build. Note that this would be a breaking change.
in the future (as a breaking change), that is likely to change since it
helps prepare folks before they end up using a lot of protos and getting a
lot of collisions.
* `headers_use_forward_declarations`: The `value` for this can be `yes` or
`no`, and indicates if the generated headers use forward declarations for