[llvm-dev] Building LLVM through Bazel

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 15 17:30:26 PDT 2018


On Wed, Aug 15, 2018 at 2:05 PM Douglas Parker <dgp1130422 at gmail.com> wrote:

> 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?
>

You could look at the cmake+ninja (or other build system) build and dump
the commands it executes (I think ninja produces a log, or can do so) which
should show you all the commands needed to build any part of LLVM.

But yeah, I think you do have to build support to build tblgen, to run
tblgen to generate the rest of the files to continue the build.

- Dave


>
> 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/6d817332/attachment.html>


More information about the llvm-dev mailing list