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.

Reply via email to