From dfc56de70ef7b3d6f8cd15c0628ddee78500be99 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Mon, 17 Oct 2011 20:28:54 +0000 Subject: [PATCH] Remove mention of llvm-gcc and add mention of dragonegg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142243 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/HowToReleaseLLVM.html | 173 ++++++++++++++----------------------- 1 file changed, 64 insertions(+), 109 deletions(-) diff --git a/docs/HowToReleaseLLVM.html b/docs/HowToReleaseLLVM.html index 8a7d7f4b881..fb34eb6ed88 100644 --- a/docs/HowToReleaseLLVM.html +++ b/docs/HowToReleaseLLVM.html @@ -29,7 +29,7 @@

This document contains information about successfully releasing LLVM — - including subprojects: e.g., llvm-gcc and clang — to + including subprojects: e.g., clang and dragonegg — to the public. It is the Release Manager's responsibility to ensure that a high quality build of LLVM is released.

@@ -92,7 +92,6 @@
  1. Build the LLVM Source Distributions
  2. Build LLVM
  3. -
  4. Build the LLVM-GCC Binary Distribution
  5. Build the Clang Binary Distribution
  6. Target Specific Build Details
@@ -100,7 +99,6 @@
  • Release Qualification Criteria
    1. Qualify LLVM
    2. -
    3. Qualify LLVM-GCC
    4. Qualify Clang
    5. Specific Target Qualification Details
    @@ -149,25 +147,25 @@
  • Verify that the current Subversion trunk is in decent shape by examining nightly tester and buildbot results.

  • -
  • Create the release branch for llvm, llvm-gcc-4.2, - clang, and the test-suite from the last known good - revision. The branch's name is release_XY, where X is - the major and Y the minor release numbers. The branches should be - created using the following commands:

    +
  • Create the release branch for llvm, clang, + the test-suite, and dragonegg from the last known good + revision. The branch's name is release_XY, + where X is the major and Y the minor release + numbers. The branches should be created using the following commands:

     $ svn copy https://llvm.org/svn/llvm-project/llvm/trunk \
                https://llvm.org/svn/llvm-project/llvm/branches/release_XY
     
    -$ svn copy https://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk \
    -           https://llvm.org/svn/llvm-project/llvm-gcc-4.2/branches/release_XY
    +$ svn copy https://llvm.org/svn/llvm-project/cfe/trunk \
    +           https://llvm.org/svn/llvm-project/cfe/branches/release_XY
    +
    +$ svn copy https://llvm.org/svn/llvm-project/dragonegg/trunk \
    +           https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY
     
     $ svn copy https://llvm.org/svn/llvm-project/test-suite/trunk \
                https://llvm.org/svn/llvm-project/test-suite/branches/release_XY
    -
    -$ svn copy https://llvm.org/svn/llvm-project/cfe/trunk \
    -           https://llvm.org/svn/llvm-project/cfe/branches/release_XY
     
  • @@ -182,11 +180,11 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/trunk \
     $ svn co https://llvm.org/svn/llvm-project/llvm/branches/release_XY llvm-X.Y
     
    -$ svn co https://llvm.org/svn/llvm-project/llvm-gcc-4.2/branches/release_XY llvm-gcc-4.2-X.Y
    +$ svn co https://llvm.org/svn/llvm-project/cfe/branches/release_XY clang-X.Y
    +
    +$ svn co https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY dragonegg-X.Y
     
     $ svn co https://llvm.org/svn/llvm-project/test-suite/branches/release_XY test-suite-X.Y
    -
    -$ svn co https://llvm.org/svn/llvm-project/cfe/branches/release_XY clang-X.Y
     
    @@ -214,10 +212,10 @@ $ svn co https://llvm.org/svn/llvm-project/cfe/branches/release_XY clang-
    -

    Create release candidates for llvm, llvm-gcc, - clang, and the LLVM test-suite by tagging the branch with - the respective release candidate number. For instance, to create Release - Candidate 1 you would issue the following commands:

    +

    Create release candidates for llvm, clang, + dragonegg, and the LLVM test-suite by tagging the branch + with the respective release candidate number. For instance, to + create Release Candidate 1 you would issue the following commands:

    @@ -225,17 +223,17 @@ $ svn mkdir https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XY
     $ svn copy https://llvm.org/svn/llvm-project/llvm/branches/release_XY \
                https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XY/rc1
     
    -$ svn mkdir https://llvm.org/svn/llvm-project/llvm-gcc-4.2/tags/RELEASE_XY
    -$ svn copy https://llvm.org/svn/llvm-project/llvm-gcc-4.2/branches/release_XY \
    -           https://llvm.org/svn/llvm-project/llvm-gcc-4.2/tags/RELEASE_XY/rc1
    +$ svn mkdir https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY
    +$ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
    +           https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY/rc1
    +
    +$ svn mkdir https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XY
    +$ svn copy https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY \
    +           https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XY/rc1
     
     $ svn mkdir https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY
     $ svn copy https://llvm.org/svn/llvm-project/test-suite/branches/release_XY \
                https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY/rc1
    -
    -$ svn mkdir https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY
    -$ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
    -           https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY/rc1
     
    @@ -251,14 +249,14 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
     $ svn export https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XY/rc1 llvm-X.Yrc1
    -$ svn export https://llvm.org/svn/llvm-project/llvm-gcc-4.2/tags/RELEASE_XY/rc1 llvm-gcc4.2-X.Yrc1
    -$ svn export https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY/rc1 llvm-test-X.Yrc1
     $ svn export https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY/rc1 clang-X.Yrc1
    +$ svn export https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XY/rc1 dragonegg-X.Yrc1
    +$ svn export https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY/rc1 llvm-test-X.Yrc1
     
     $ tar -cvf - llvm-X.Yrc1        | gzip > llvm-X.Yrc1.src.tar.gz
    -$ tar -cvf - llvm-test-X.Yrc1   | gzip > llvm-test-X.Yrc1.src.tar.gz
    -$ tar -cvf - llvm-gcc4.2-X.Yrc1 | gzip > llvm-gcc-4.2-X.Yrc1.src.tar.gz
     $ tar -cvf - clang-X.Yrc1       | gzip > clang-X.Yrc1.src.tar.gz
    +$ tar -cvf - dragonegg-X.Yrc1   | gzip > dragonegg-X.Yrc1.src.tar.gz
    +$ tar -cvf - llvm-test-X.Yrc1   | gzip > llvm-test-X.Yrc1.src.tar.gz
     
    @@ -271,7 +269,7 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g
    -

    The builds of llvm, llvm-gcc, and clang +

    The builds of llvm, clang, and dragonegg must be free of errors and warnings in Debug, Release+Asserts, and Release builds. If all builds are clean, then the release passes Build Qualification.

    @@ -292,35 +290,7 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g

    Build Debug, Release+Asserts, and Release versions of llvm on all supported platforms. Directions to build - llvm are - here.

    - -
    - - -

    Build the LLVM GCC Binary Distribution

    - -
    - -

    Creating the llvm-gcc binary distribution (Release/Optimized) - requires performing the following steps for each supported platform:

    - -
      -
    1. Build the llvm-gcc front-end by following the directions in - the README.LLVM file. The front-end must be compiled with C, C++, - Objective-C (Mac only), Objective-C++ (Mac only), and Fortran - support.

    2. - -
    3. Boostrapping must be enabled.

    4. - -
    5. Be sure to build with LLVM_VERSION_INFO=X.Y, where X - is the major and Y is the minor release numbers.

    6. - -
    7. Copy the installation directory to a directory named for the specific - target. For example on Red Hat Enterprise Linux, the directory would be - named llvm-gcc4.2-2.6-x86-linux-RHEL4. Archive and compress the - new directory.

    8. -
    + llvm are here.

    @@ -337,8 +307,8 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g
  • Build clang according to the directions here.
  • -
  • Build both a debug and release version of clang. The binary will be the - release build.
  • +
  • Build both a Debug and Release version of clang. The binary will be the + Release build.
  • Package clang (details to follow).
  • @@ -351,18 +321,18 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g

    The table below specifies which compilers are used for each Arch/OS - combination when qualifying the build of llvm, llvm-gcc, - and clang.

    + combination when qualifying the build of llvm, clang, + and dragonegg.

    - - - - - - - - + + + + + + + +
    ArchitectureOScompiler
    x86-32Mac OS 10.5gcc 4.0.1
    x86-32Linuxgcc 4.2.X, gcc 4.3.X
    x86-32FreeBSDgcc 4.2.X
    x86-32mingwgcc 3.4.5
    x86-64Mac OS 10.5gcc 4.0.1
    x86-64Linuxgcc 4.2.X, gcc 4.3.X
    x86-64FreeBSDgcc 4.2.X
    Architecture OS compiler
    x86-32 Mac OS 10.5 gcc 4.0.1
    x86-32 Linux gcc 4.2.X, gcc 4.3.X
    x86-32 FreeBSD gcc 4.2.X
    x86-32 mingw gcc 3.4.5
    x86-64 Mac OS 10.5 gcc 4.0.1
    x86-64 Linux gcc 4.2.X, gcc 4.3.X
    x86-64 FreeBSD gcc 4.2.X
    @@ -394,21 +364,8 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g

    LLVM is qualified when it has a clean test run without a front-end. And it - has no regressions when using either llvm-gcc or clang with - the test-suite from the previous release.

    - -
    - - -

    Qualify LLVM-GCC

    - -
    - -

    LLVM-GCC is qualified when front-end specific tests in the - llvm regression test suite all pass and there are no regressions in - the test-suite.

    - -

    We do not use the GCC DejaGNU test suite as release criteria.

    + has no regressions when using either clang or dragonegg + with the test-suite from the previous release.

    @@ -429,13 +386,13 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g
    - - - - - - - + + + + + + +
    ArchitectureOSllvm-gcc baselineclang baselinetests
    x86-32Linuxlast releaselast releasellvm dejagnu, clang tests, test-suite (including spec)
    x86-32FreeBSDnonelast releasellvm dejagnu, clang tests, test-suite
    x86-32mingwlast releasenoneQT
    x86-64Mac OS 10.Xlast releaselast releasellvm dejagnu, clang tests, test-suite (including spec)
    x86-64Linuxlast releaselast releasellvm dejagnu, clang tests, test-suite (including spec)
    x86-64FreeBSDnonelast releasellvm dejagnu, clang tests, test-suite
    Architecture OS clang baseline tests
    x86-32 Linux last release llvm dejagnu, clang tests, test-suite (including spec)
    x86-32 FreeBSD last release llvm dejagnu, clang tests, test-suite
    x86-32 mingw none QT
    x86-64 Mac OS 10.X last release llvm dejagnu, clang tests, test-suite (including spec)
    x86-64 Linux last release llvm dejagnu, clang tests, test-suite (including spec)
    x86-64 FreeBSD last release llvm dejagnu, clang tests, test-suite
    @@ -452,14 +409,12 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g
    1. Download llvm-X.Y, llvm-test-X.Y, and the - appropriate llvm-gcc and/or clang binary. Build - LLVM. Run make check and the full LLVM test suite (make - TEST=nightly report).
    2. + appropriate clang binary. Build LLVM. Run make check and + the full LLVM test suite (make TEST=nightly report).
    3. Download llvm-X.Y, llvm-test-X.Y, and the - llvm-gcc and/or clang source. Compile everything. Run - make check and the full LLVM test suite (make TEST=nightly - report).
    4. + clang sources. Compile everything. Run make check and + the full LLVM test suite (make TEST=nightly report).

    Ask LLVM developers to submit the test suite report and make check @@ -538,14 +493,14 @@ $ tar -cvf - clang-X.Yrc1 | gzip > clang-X.Yrc1.src.tar.g $ svn copy https://llvm.org/svn/llvm-project/llvm/branches/release_XY \ https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_XY/Final -$ svn copy https://llvm.org/svn/llvm-project/llvm-gcc-4.2/branches/release_XY \ - https://llvm.org/svn/llvm-project/llvm-gcc-4.2/tags/RELEASE_XY/Final +$ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \ + https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY/Final + +$ svn copy https://llvm.org/svn/llvm-project/dragonegg/branches/release_XY \ + https://llvm.org/svn/llvm-project/dragonegg/tags/RELEASE_XY/Final $ svn copy https://llvm.org/svn/llvm-project/test-suite/branches/release_XY \ https://llvm.org/svn/llvm-project/test-suite/tags/RELEASE_XY/Final - -$ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \ - https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_XY/Final

    @@ -559,7 +514,7 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \

    The LLVM demo page must be updated to use the new release. This consists of - using the new llvm-gcc binary and building LLVM.

    + using the new clang binary and building LLVM.

    Update the LLVM Website

    @@ -574,8 +529,8 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
  • Create a new subdirectory X.Y in the releases directory.
  • -
  • Commit the llvm, test-suite, llvm-gcc source, - clang source, clang binaries, and llvm-gcc +
  • Commit the llvm, test-suite, clang source, + clang binaries, dragonegg source, and dragonegg binaries in this new directory.
  • Copy and commit the llvm/docs and LICENSE.txt files