Joshua Haberman
89df647460
Updated versions of ABSL and protobuf deps.
4 years ago
Joshua Haberman
f5d2d55007
Deleted the legacy "Handlers" APIs. upb can finally be deserving of its name.
...
This is possible now that all users have been migrated to the new
upb_msg APIs.
4 years ago
Esun Kim
3cab8a38fc
Fixed upbdefs error
4 years ago
Joshua Haberman
7a54a5f3d6
Split the code generators for .upb and .upbdefs.
...
Before there was a single code generator that generated both
.upb and .upbdefs, even though they are generated by different
rules. This worked fine as long as the codegen steps were
sandboxed, but if not it led to build errors.
Fixes https://github.com/protocolbuffers/upb/issues/354 .
4 years ago
Joshua Haberman
555fbbc0bc
Size benchmarks are working pretty well.
4 years ago
Joshua Haberman
3a3efe69a2
Added incompatible_use_toolchain_transition = True per https://github.com/bazelbuild/bazel/issues/11584
4 years ago
Joshua Haberman
5b1f0d86a1
For Kokoro, only build/test -m32 on Linux.
...
Also fixed a bunch of bugs found by gcc's -fanalyzer.
4 years ago
Joshua Haberman
e8f9eac68c
Added #defines UPB_ENABLE_FASTTABLE and UPB_TRY_ENABLE_FASTTABLE.
...
These control whether fasttable decoding is on.
4 years ago
Benjamin Peterson
b5bd5807a7
Migrate to modern Starlark linking api.
...
See https://github.com/bazelbuild/bazel/issues/10860 .
4 years ago
Joshua Haberman
7e5bd65098
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
a274ad786a
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
2c8bb6dd9d
Specify C99 explicitly until/unless we stop using bool.
4 years ago
Joshua Haberman
a345af9883
Added a codegen parameter for whether fasttables are generated or not.
...
Example:
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=false
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.760s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 10985 ns 10984 ns 63567 651.857MB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 10556 ns 10554 ns 66138 678.458MB/s
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=true
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.744s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 3284 ns 3284 ns 213495 2.1293GB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 2882 ns 2882 ns 243069 2.4262GB/s
Biggest unknown is whether this parameter should default to true or false.
4 years ago
Joshua Haberman
b7dc77415a
Added licenses() to all BUILD files.
4 years ago
Joshua Haberman
e3f41de6c7
Split monolithic BUILD file into many build files.
4 years ago
Joshua Haberman
ee7da95367
Bzl formatting fix per buildifier.
4 years ago
Joshua Haberman
d225dfc2ed
Buildifier formatting fixes.
4 years ago
Joshua Haberman
0a3a94a12f
Updated to a new version of protobuf and fixed a few conformance tests.
...
When `google.protobuf.NullValue` appears on its own, we need to parse
and serialize it as plain JSON "null" value.
4 years ago
Joshua Haberman
6fe84526be
Mark _is_bazel to be replace in google3.
4 years ago
Joshua Haberman
8f11ec57d2
Applied changes from google3.
5 years ago
Joshua Haberman
0dc2394da5
Changes to support import into google3 ( #291 )
...
* Fixes for google3.
* Added to failure list for new failure.
* Reused existing failure list file.
* Add a ./ to assist rewriting.
5 years ago
Joshua Haberman
16facab490
Created an amalgamation without handlers, and fixed some bugs. ( #283 )
...
* Created amalgamation with upb_msg but no handlers.
* Bugfix for upb_array_resize().
* Renamed "lite" amalgamation to "core", to avoid confusion.
Traditionally "lite" has meant "without reflection", but here we
mean it as "without handlers-based code."
* Build fixes from CI tests.
* Removed some more C++-style comments.
* Fix for out-of-order statements.
5 years ago
Joshua Haberman
0842f88211
Support for proto3 optional. ( #270 )
...
* Added support for proto3 optional to defs.
* Added proto3 optional support. Untested at the moment.
* Changes to support proto3 optional.
* Fixed real oneof count for messages with no fields.
* Fixed compile error and test.
* Added comment about why I'm commenting out the assert.
5 years ago
Yannic
d638d74d1b
Add load statements for @rules_proto ( #271 )
...
This makes upb compatible with --incompatible_load_proto_rules_from_bzl.
See https://github.com/bazelbuild/bazel/issues/8922
5 years ago
Joshua Haberman
378cbbc3cc
Updated to new protobuf version, and added support for packed=false. ( #264 )
...
* WIP.
* Passes most tests.
* A few fixes.
* A few optimizations.
* Some more optimiation.
* Update Protobuf to v3.11.4 and Abseil to LTS 2020-02-25
* Use longjmp instead of explicit error checks at every level.
* Used macros for better documentation of ops.
* Fixed bug with map parsing. All tests are passing except a few conformance tests.
* Fixed remaining bugs, all conformance tests pass.
Also ported all of upb to a single UPB_PTR_AT() macro instead of
having multiple .c files define their own.
* Formatted with clang-format.
* Fixes to compile on Linux.
* A few more compile fixes.
* Script to benchmark changes.
* Fixed parenthesis bug in op calculation.
* Updated generated descriptor files.
* WIP.
* Removed trailing enum to fix the Linux build.
* Respect packed=false to fix conformance failures in new protobuf version.
* Small simplification.
* Fixes to decoder.
* Removed stray comment.
Co-authored-by: Yannic Bonenberger <contact@yannic-bonenberger.com>
5 years ago
Joshua Haberman
6c5d5afc43
Remove compatibility code for old Bazel versions.
5 years ago
Anna R
a27429f265
Add port_def.inc and port_undef.inc to generated code hdrs
5 years ago
Anna R
3797ad2217
port should not be public
5 years ago
Anna R
fc4941183f
Add :port dependencies to libraries that include it
5 years ago
Fredrik Medley
0c2046f732
Make workspace_deps.bzl overridable using maybe()
...
Make it possible for a user to define a different version of the upb
dependencies by wrapping them in maybe(). Then the upb dependencies will
not be added if they previously have been declared.
5 years ago
Joshua Haberman
bfc86d3577
Fixed many bugs, basic Lua test passes!
5 years ago
Joshua Haberman
626ec4bfcf
Everything builds, test pass except test_decoder.
5 years ago
Joshua Haberman
27b95c969a
WIP.
5 years ago
Esun Kim
34e55c1c56
Use github.com as a zlib repo
5 years ago
Lizan Zhou
bcdfe6b1b0
bazel: use canonical repository name for absl
...
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
5 years ago
Lizan Zhou
b973c06480
prefix bazel_version
...
Signed-off-by: Lizan Zhou <lizan@tetrate.io>
5 years ago
Joshua Haberman
5768e68ed7
Fixed for Bazel >= 1.0.
5 years ago
Nicolas "Pixel" Noble
a2013f0fc2
Trying to be more flexible with the version of bazel we can use here.
5 years ago
Nicolas "Pixel" Noble
6e85c2bf03
Fixing the separator string.
5 years ago
Nicolas "Pixel" Noble
9605c7093c
Revert previous fix - to_list() is too new, or...?
5 years ago
Joshua Haberman
ee87a28d2d
Some minor style fixes.
5 years ago
Joshua Haberman
493e9b2614
Build fixes from fuzz target.
6 years ago
Joshua Haberman
75d680d7b0
Small fix to upb_proto_library().
6 years ago
Joshua Haberman
57a63d4c7b
Fixed upb_proto_library() logic for calculating output dir.
6 years ago
Joshua Haberman
ba29af3a6a
Hid generated-code-only headers inside a separate library.
6 years ago
Laurent Le Brun
1a5a609b0e
Update upb_proto_library.bzl for Bazel compatibility
...
With this change, the code now builds with the flags --incompatible_depset_is_not_iterable, --incompatible_new_actions_api, and --incompatible_no_support_tools_in_action_inputs.
These flags will soon be enabled by default in Bazel.
6 years ago
Marcel Hlopko
6d204851d2
Update upb to be forward compatible with Bazel 0.27
...
Specifically, this PR prepares up for:
https://github.com/bazelbuild/bazel/issues/7793
https://github.com/bazelbuild/bazel/issues/7260
6 years ago
Joshua Haberman
8a41e6cb12
Fixed amalgamation to not exclude upb/decode.c.
6 years ago
Joshua Haberman
5611ff267b
Moved bazel files to bazel/ directory.
6 years ago