Hi Folks, Although LLVM now relies on cmake for its build configuration, it still calls an external Python script, namely llvm-build, to manage component dependecies, activation or deactivation of target componenents and generating description for llvm-config. This system is documented in http://llvm.org/docs/CommandGuide/llvm-build.html and https://llvm.org/docs/LLVMBuild.html. Several features of the system are either undocumented, obsolete or redundant with the cmake description (sometimes all at once!). For instance the LLVMBuild.txt under tools/ don't seem relevant anymore. And the –write-make-fragment for Makefile comptibility no longer makes sense. The whole thing also adds a dependency on Python in our core Build system (leaving aside documentation, that is). I have a patch that seems to work for the default configuration, submited here: https://reviews.llvm.org/D89142 It's basically a conversion of the Python script to plain cmake, with some (unused (?)) feature removed. It still require proper documentation, some cleaning and official doc update, but now that the approach is somehow validated technically, I'd like to know if people interact with llvm-build at all, have expectations etc, other than « LLVM builds ».
Hi Folks, An llvm-build chirurgal extraction was launched a few hours ago[1] and after an emergency action for the ocaml bindings [2], I'm glad to announce that the transplant looks in good shape! Although we did some intensive testing, given the size of the diff ```console $ git diff 9218ff50^..9218ff50 --shortstat 422 files changed, 1691 insertions(+), 7505 deletions(-) ``` side effects are *not* unexpected, please let me know through [1] if you spot anything unusual related to LLVM components. -- Serge [1] https://reviews.llvm.org/D90848 [2] https://reviews.llvm.org/rG95537f450814c378fcb9d446dadcabc1385a5903 On Fri, Oct 9, 2020 at 6:51 PM Serge Guelton <sguelton at redhat.com> wrote:> Hi Folks, > > Although LLVM now relies on cmake for its build configuration, it still > calls an > external Python script, namely llvm-build, to manage component dependecies, > activation or deactivation of target componenents and generating > description for > llvm-config. > > This system is documented in > http://llvm.org/docs/CommandGuide/llvm-build.html > and https://llvm.org/docs/LLVMBuild.html. > > Several features of the system are either undocumented, obsolete or > redundant > with the cmake description (sometimes all at once!). For instance the > LLVMBuild.txt under tools/ don't seem relevant anymore. And the > –write-make-fragment for Makefile comptibility no longer makes sense. > > The whole thing also adds a dependency on Python in our core Build system > (leaving > aside documentation, that is). > > I have a patch that seems to work for the default configuration, submited > here: > > https://reviews.llvm.org/D89142 > > It's basically a conversion of the Python script to plain cmake, with some > (unused (?)) feature removed. > > It still require proper documentation, some cleaning and official doc > update, > but now that the approach is somehow validated technically, I'd like to > know if > people interact with llvm-build at all, have expectations etc, other than > « LLVM > builds ». > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201113/914a863d/attachment-0001.html>
Thank you for having put all the work in making this happen. Finally we don't have to keep 2 files in sync when changing library dependencies. Michael Am Fr., 13. Nov. 2020 um 08:10 Uhr schrieb Serge Guelton via llvm-dev <llvm-dev at lists.llvm.org>:> > Hi Folks, > > An llvm-build chirurgal extraction was launched a few hours ago[1] and after an emergency action > for the ocaml bindings [2], I'm glad to announce that the transplant looks in good shape! > > Although we did some intensive testing, given the size of the diff > > ```console > $ git diff 9218ff50^..9218ff50 --shortstat > 422 files changed, 1691 insertions(+), 7505 deletions(-) > ``` > side effects are *not* unexpected, please let me know through [1] if you spot anything unusual > related to LLVM components. > > -- Serge > > [1] https://reviews.llvm.org/D90848 > [2] https://reviews.llvm.org/rG95537f450814c378fcb9d446dadcabc1385a5903 > > On Fri, Oct 9, 2020 at 6:51 PM Serge Guelton <sguelton at redhat.com> wrote: >> >> Hi Folks, >> >> Although LLVM now relies on cmake for its build configuration, it still calls an >> external Python script, namely llvm-build, to manage component dependecies, >> activation or deactivation of target componenents and generating description for >> llvm-config. >> >> This system is documented in http://llvm.org/docs/CommandGuide/llvm-build.html >> and https://llvm.org/docs/LLVMBuild.html. >> >> Several features of the system are either undocumented, obsolete or redundant >> with the cmake description (sometimes all at once!). For instance the >> LLVMBuild.txt under tools/ don't seem relevant anymore. And the >> –write-make-fragment for Makefile comptibility no longer makes sense. >> >> The whole thing also adds a dependency on Python in our core Build system (leaving >> aside documentation, that is). >> >> I have a patch that seems to work for the default configuration, submited here: >> >> https://reviews.llvm.org/D89142 >> >> It's basically a conversion of the Python script to plain cmake, with some >> (unused (?)) feature removed. >> >> It still require proper documentation, some cleaning and official doc update, >> but now that the approach is somehow validated technically, I'd like to know if >> people interact with llvm-build at all, have expectations etc, other than « LLVM >> builds ». >> >> > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev