Oliver Schneider via llvm-dev
2018-Mar-09 11:49 UTC
[llvm-dev] Any documentation on how the official packages are being built?
Hi, if I wanted to reproduce the official build, for example in order to get a code-signed Windows build [1], to which documentation can I turn to find out about the steps and tools (and their versions) used? That is, I am interested in the steps done by the respective maintainers which yield the packages at http://releases.llvm.org/download.html Thanks and with best regards, Oliver [1] I realize that the PGP signatures already provide a decent way to verify the download, but when using AppLocker rules, for example, it's more convenient to allow binaries signed by a particular entity.
Simon Dardis via llvm-dev
2018-Mar-09 12:53 UTC
[llvm-dev] Any documentation on how the official packages are being built?
Hi Oliver, If you look at http://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library that lists the tools and minimum version required. There is some documentation for how to build a release: http://llvm.org/docs/ReleaseProcess.html For the official windows builds, Hans Wennborg provides the batch file used to create any given upload when he reports on the release-testers list (e.g. http://lists.llvm.org/pipermail/release-testers/2018-March/000677.html). The steps for unix based are mostly encoded into the test-release.sh script in utils/release/. That script can be invoked like "test-release.sh -release <version number as dotted form> -final -triple x86_64-linux-gnu-debian8 -j <number of jobs>". As for the precise version of the tools used for a given release, that's a little trickery to answer, as it's the version of clang that is being released is used to build that clang. The test-release script checks out the clang+llvm toolchain, then uses the host compiler to perform a three stage recursive build. The final compiler is then compared with the 2nd last, checked with the test-suites and packaged. Thanks, SImon ________________________________________ From: llvm-dev [llvm-dev-bounces at lists.llvm.org] on behalf of Oliver Schneider via llvm-dev [llvm-dev at lists.llvm.org] Sent: Friday, March 9, 2018 11:49 AM To: llvm-dev Subject: [llvm-dev] Any documentation on how the official packages are being built? Hi, if I wanted to reproduce the official build, for example in order to get a code-signed Windows build [1], to which documentation can I turn to find out about the steps and tools (and their versions) used? That is, I am interested in the steps done by the respective maintainers which yield the packages at http://releases.llvm.org/download.html Thanks and with best regards, Oliver [1] I realize that the PGP signatures already provide a decent way to verify the download, but when using AppLocker rules, for example, it's more convenient to allow binaries signed by a particular entity. _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Oliver Schneider via llvm-dev
2018-Mar-10 00:04 UTC
[llvm-dev] Any documentation on how the official packages are being built?
Hi Simon, thanks a lot for the comprehensive answer. I'll look into all the sources you referenced. Also, quite interesting fact regarding that three stage recursive build. I didn't know it was done this way for LLVM/Clang, although I heard that this was one of the ways to sidestep potential compiler backdoors in the host compiler. With best regards, Oliver On 2018-03-09 12:53, Simon Dardis wrote:> > Hi Oliver, > > If you look at http://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library > that lists the tools and minimum version required. > > There is some documentation for how to build a release: http://llvm.org/docs/ReleaseProcess.html > > For the official windows builds, Hans Wennborg provides the batch file used to create any given upload when he reports > on the release-testers list (e.g. http://lists.llvm.org/pipermail/release-testers/2018-March/000677.html). > > The steps for unix based are mostly encoded into the test-release.sh script in utils/release/. That script can be > invoked like "test-release.sh -release <version number as dotted form> -final -triple x86_64-linux-gnu-debian8 -j <number of jobs>". > > As for the precise version of the tools used for a given release, that's a little trickery to answer, as it's the version > of clang that is being released is used to build that clang. The test-release script checks out the clang+llvm toolchain, > then uses the host compiler to perform a three stage recursive build. The final compiler is then compared with the 2nd > last, checked with the test-suites and packaged. > > Thanks, > SImon > ________________________________________ > From: llvm-dev [llvm-dev-bounces at lists.llvm.org] on behalf of Oliver Schneider via llvm-dev [llvm-dev at lists.llvm.org] > Sent: Friday, March 9, 2018 11:49 AM > To: llvm-dev > Subject: [llvm-dev] Any documentation on how the official packages are being built? > > Hi, > > if I wanted to reproduce the official build, for example in order to get > a code-signed Windows build [1], to which documentation can I turn to > find out about the steps and tools (and their versions) used? > > That is, I am interested in the steps done by the respective maintainers > which yield the packages at http://releases.llvm.org/download.html > > Thanks and with best regards, > > Oliver > > [1] I realize that the PGP signatures already provide a decent way to > verify the download, but when using AppLocker rules, for example, it's > more convenient to allow binaries signed by a particular entity. > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
Possibly Parallel Threads
- Any documentation on how the official packages are being built?
- Does SAMBA4 Support AppLocker in Group Policies?
- [LLVMdev] [cfe-dev] [3.3 Release] Release Candidate 2 Available
- [LLVMdev] LLVM 3.4.1 - Testing Phase
- [LLVMdev] 3.6.1 -rc1 has been tagged. Testing begins.