bazel-contrib / rules_foreign_cc

Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja, Meson)
https://bazel-contrib.github.io/rules_foreign_cc
Apache License 2.0
667 stars 244 forks source link

Documentation on *make* describing the interfaces between bazel and Makefile #874

Open justicezyx opened 2 years ago

justicezyx commented 2 years ago

By interfaces, I mean the variables input to the make commands, how they are translated from the rule args (eg. INSTALLDIR), make commands output directory structure expected by bazel.

Roughly, this information is important for someone who is getting started with bazel, and look at the output and variable used for the existing makefile, figure out how to adjust Makefile and variable setup, to work with Basel.

The experience today is considerably and unnecessarily hard to people new to bazel. As often simple issues become major task of investigation because users were not aware of certain setups and expectations of bazel on the Makefile and make commands.

Such documentation will do huge help to new adopters without significant amount of investment as these knowledge is already very well known to the maintainer.

Unfortunately, I am new to bazel and cannot recall help with this.

justicezyx commented 2 years ago

Kindly ping.

I'd emphasize that it is in the interests of the maintainer to make this repo easy for newcomers, in general.

And in case the maintainer works for Google or other cloud provider. It's strongly in favor of easing the adoption for new comers to improve the tech adoption of the cloud provider and build a good relationship with the community.

I personally will make a case of how much that would help my own project.

jonathan-enf commented 2 years ago

My coworker found this useful comment in the source code:

https://github.com/bazelbuild/rules_foreign_cc/blob/main/foreign_cc/private/framework/helpers.bzl

This functionality is weird enough that it really deserves a place in the generated documentation.

justicezyx commented 2 years ago

Kindly ping