I am seeing quite a difference in what is produced when building with Bazel vs. CMake and I am wondering if Bazel is not intended to be a general-purpose build mechanism for non-Bazel projects? In my case I am packaging things up in RPMs and am having to do some gymnastics trying to use Bazel in that context.
For example, with CMake there is a short list of public libraries built: https://github.com/grpc/grpc/blob/master/CMakeLists.txt#L1155-L1162 including *libgpr*. With Bazel, there is no such short list. It just builds everything and throws it in bazel-bin and it doesn't even build a *libgpr.* Instead it is named *libgpr_base* which means that you can't compile the bundled PHP extension against a Bazel-built grpc because it is expecting to find *gpr_now()* in *libgpr* as per: https://github.com/grpc/grpc/blob/master/src/php/ext/grpc/config.m4#L63 The documentation states that "*Bazel is the primary build system for gRPC C++ and if you're comfortable with using bazel, we can certainly recommend it. Using bazel will give you the best developer experience as well as faster and cleaner builds.*" but I am having trouble finding this cleanliness. It feels like I have overlooked some sort of "*bazel run :install*" mechanism to install the public binaries, libraries and headers to a target prefix. -Rasmus -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/b7f6d014-c379-4a31-9264-32575d77f356n%40googlegroups.com.
