Home | History | Annotate | Download | only in clang
      1 Updating RenderScript
      2 =====================
      3 
      4 Updating LLVM Libraries
      5 -----------------------
      6 
      7 Loop over llvm, clang, compiler-rt (in this order):
      8 
      9 1. Do a squashed merge of *aosp/dev* to *aosp/master*.
     10 
     11         repo start update .
     12         git fetch aosp dev
     13         git merge --squash aosp/dev
     14         git commit -a
     15         repo upload .
     16 
     17 2. Test everything before submitting the patch from the previous step.
     18 
     19 3. Grab the squashed commit and replay it in *aosp/dev*.
     20 
     21         repo sync .
     22         git remote update
     23         git branch -D clean_master
     24         git checkout -b clean_master aosp/master
     25         git checkout working_dev
     26 
     27     Use `-s ours` to ensure that we skip the squashed set of changes.
     28     If/when we forget this, we have to do it later.
     29 
     30         git merge -s ours clean_master
     31         git push aosp refs/heads/working_dev:refs/heads/dev
     32         git branch -D clean_master
     33 
     34 4. Clean up after our working branch.
     35 
     36         git checkout --detach
     37         git branch -D working_dev
     38 
     39 This works better because we can keep full history in *aosp/dev*, while
     40 maintaining easy reverts/commits through *aosp/master*.
     41 
     42 
     43 Generating New Prebuilts
     44 ------------------------
     45 
     46 1. Iteratively attempt to build the platform and fix any API differences in
     47    frameworks/compile/slang, and/or frameworks/compile/libbcc. This may entail
     48    updating the various snapshots of Bitcode Readers/Writers.
     49 2. Update RenderScript prebuilts.
     50 
     51         cd $ANDROID_BUILD_TOP/frameworks/rs
     52         ./update_rs_prebuilts.sh
     53 
     54 3. The prebuilts get copied to **prebuilts/sdk**, so we must upload the
     55 relevant bits from there.
     56 
     57         cd $ANDROID_BUILD_TOP/prebuilts/sdk
     58         git commit -a
     59         repo upload .
     60 
     61 4. Submit CLs.
     62 
     63 
     64 Testing Checklist
     65 -----------------
     66 
     67 1. Go to **external/llvm** and run `./android_test.sh` (no known failures
     68 as of 2015-10-08).
     69 2. Ensure successful build for all architectures: 32- and 64- bit ARM, x86 and
     70 Mips.
     71 3. Run 32- and 64- bit RenderScript CTS at least for ARM and AArch64.
     72 4. Test RenderScript apps: RsTest, ImageProcessing, and finally
     73 RSTest\_Compatlib in compatibility mode.
     74 5. Test old APKs with rebased tools: grab the above apps from a different tree
     75 (i.e. without the rebase), push them to a device with the rebased tools, and
     76 test.
     77 This ensures that the rebased BitcodeReader can read the output of old
     78 BitcodeWriters.
     79 6. Test new APKs on an old device: test freshly built APKs for
     80 RSTest\_V{11,14,16}, and ImageProcessing\_2 on an old device (say Manta) and
     81 ensure they pass.
     82 This ensures that the rebase did not break the 2.9 and 3.2 BitcodeWriters.
     83 
     84 
     85 Checklist for CLs
     86 -----------------
     87 
     88 The following projects will almost always have CLs as a part of the rebase.
     89 Depending on the changes in LLVM, there might be updates to other projects as
     90 well.
     91 
     92 * External projects
     93 
     94   * **external/clang**
     95   * **external/compiler-rt**
     96   * **external/llvm**
     97   * **frameworks/compile/mclinker**
     98 
     99 * RenderScript projects
    100 
    101   * **frameworks/compile/libbcc**
    102   * **frameworks/compile/slang**
    103   * **frameworks/rs**
    104 
    105 * Prebuilts
    106   * **prebuilts/sdk**
    107 
    108 * CTS tests
    109 
    110   * **cts/tests/tests/renderscript**
    111   * **cts/tests/tests/renderscriptlegacy**
    112   * **cts/tests/tests/rscpp**
    113