[PATCH] CMake: add LLVM_INSTALL_DEV_FILES variable

Hans Wennborg hans at chromium.org
Wed Aug 21 18:27:28 PDT 2013


On Wed, Aug 21, 2013 at 5:22 PM, Hans Wennborg <hans at chromium.org> wrote:
> On Wed, Aug 21, 2013 at 3:55 PM, Chandler Carruth <chandlerc at google.com> wrote:
>>
>> On Wed, Aug 21, 2013 at 3:50 PM, Hans Wennborg <hans at chromium.org> wrote:
>>>
>>> $ diff --unified /tmp/library.txt /tmp/all.txt | grep -e "^+"
>>> +++ /tmp/all.txt        2013-08-21 15:22:31.163831100 -0700
>>> +./bin/clang-tblgen.exe
>>> +./bin/llvm-lit
>>> +./bin/llvm-tblgen.exe
>>> +./share
>>> +./share/llvm
>>> +./share/llvm/cmake
>>> +./share/llvm/cmake/AddLLVM.cmake
>>> +./share/llvm/cmake/AddLLVMDefinitions.cmake
>>> +./share/llvm/cmake/ChooseMSVCCRT.cmake
>>> +./share/llvm/cmake/GetSVN.cmake
>>> +./share/llvm/cmake/HandleLLVMOptions.cmake
>>> +./share/llvm/cmake/LLVM-Config.cmake
>>> +./share/llvm/cmake/LLVMConfig.cmake
>>> +./share/llvm/cmake/LLVMConfigVersion.cmake
>>> +./share/llvm/cmake/LLVMParseArguments.cmake
>>> +./share/llvm/cmake/LLVMProcessSources.cmake
>>> +./share/llvm/cmake/TableGen.cmake
>>>
>>>
>>> Note that FileCheck, count, not, et al. are not installed, and they
>>> never were (my "all" variant is equivalent to our current install
>>> target). I should have noticed that earlier :/
>>
>>
>> Interesting!
>>
>>>
>>>
>>> The cmake files are needed if someone builds e.g. Clang out-of-tree
>>> against the LLVM install dir.
>>>
>>> I don't think it makes sense to install llvm-tblgen and clang-tblgen
>>> at all. (Maybe it made sense before, when clang used llvm's tablegen).
>>>
>>> Given the above, would it make sense to merge #1 and #2?
>>
>>
>> Quite possibly... Can we avoid installing llvm-lit as well? (probably ask
>> Jordan?) If so, then SGTM.
>
> Yes, I believe so. After chatting with Michael, I don't think there
> are builds that rely on llvm-lit being installed.
>
> I'd like to go ahead and start this off by removing llvm-lit and the
> tablegens from the install (patch attached) to make sure nothing
> breaks and no one gets upset. OK to commit?

Actually, let's start with removing only llvm-lit.

Turns out clang (and lld too) depends on llvm-tblgen for generating
the option parsing tables. It even uses the existence of llvm-tblgen
to detect a valid "build or install" directory for llvm :/

I guess one could argue that the option parsing stuff, including
generating the tables, is part of llvm's functionality as a library.
The rests of what llvm-tblgen does seems pretty internal to llvm
though.



More information about the llvm-commits mailing list