[llvm-dev] Building LLVM through Bazel

Douglas Parker via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 15 14:05:02 PDT 2018


I believe it would be possible to run a cmake command to generate a BUILD
file, though I don't know if that would be easier to maintain on the LLVM
side. Would definitely be happy to see direct support, though I was just
trying to figure out what's needed to hack this together on my end.

I guess my real question is what underlying commands are necessary to build
all the source files (without actually compiling the C/C++)? If I can
understand how to do this manually with terminal/cmake/tblgen, then I could
probably get it to work with Bazel.

Looking at TensorFlow's setup
<https://github.com/tensorflow/tensorflow/blob/efddd17519e43e956c3fa79981c408803521fe61/third_party/llvm/llvm.autogenerated.BUILD#L195>,
it looks like tblgen has dependencies on support which goes down to zlib
and gets a lot of complexity there. I get the impression that tblgen isn't
so complicated as to require all that. What would be the minimum steps to
build tblgen from source?

Doug

On Wed, Aug 15, 2018 at 1:28 PM Chris Bieneman <chris.bieneman at me.com>
wrote:

> There have been discussions about adding a Bazel generator before:
> https://cmake.org/pipermail/cmake-developers/2017-July/030144.html
>
> There does seem to be interest in having that support in CMake, and I
> can't imagine any insurmountable reason why it couldn't be done. The real
> issue is that nobody has put in the time to do it.
>
> -Chris
>
> On Aug 15, 2018, at 11:21 AM, David Blaikie via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Wed, Aug 15, 2018 at 10:04 AM Chris Lattner <clattner at nondot.org>
> wrote:
>
>>
>>
>> > On Aug 14, 2018, at 2:43 PM, David Blaikie via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>> >
>> > Yeah - not sure we're quite at the point where LLVM wants to start
>> supporting two build systems again (used to be Configure+Make and the CMake
>> system, now it's just the Cmake system), but if you want to make it work
>> out-of-tree it shouldn't be too difficult (Google does this internally with
>> the internal version of Bazel). Writing a short BUILD extension for running
>> tblgen should be possible without too much complexity - not sure what
>> Tensorflow is doing that makes its solution so complicated, it doesn't seem
>> like it should be terribly hard, just a genrule to run tblgen and generate
>> the appropriate files from the td files.
>>
>> Would it be technically possible for cmake to generate bazel files?  If
>> so, it seems that that could be a great bridge, and useful to other
>> projects as well.
>>
>
> /maybe/? It's an interesting thought - not sure I know enough about either
> build system to have a very informed opinion here, though.
>
> - Dave
>
>
>>
>> -Chris
>>
>> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180815/728d8eb2/attachment-0001.html>


More information about the llvm-dev mailing list