Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1841)

Unified Diff: tools/clang/scripts/repackage.sh

Issue 898713004: Revert of Roll Clang 223108:228129 (Closed) Base URL: precise:/work/chromium/src@clang_roll_226907
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/clang/scripts/plugin_flags.sh ('k') | tools/clang/scripts/update.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/clang/scripts/repackage.sh
diff --git a/tools/clang/scripts/repackage.sh b/tools/clang/scripts/repackage.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e19ab7e84048957ab459a7d38c7e0cb33a4ad6c9
--- /dev/null
+++ b/tools/clang/scripts/repackage.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script will check out llvm and clang, build a full package
+# with the latest plugin revisions and then repackage an existing
+# clang-package with the new plugin revisions.
+
+# The new package can be uploaded to replace the existing clang
+# package at the same clang revision.
+
+THIS_DIR="$(dirname "${0}")"
+LLVM_BUILD_DIR="${THIS_DIR}/../../../third_party/llvm-build"
+LLVM_TAR_DIR="${LLVM_BUILD_DIR}/Release+Asserts"
+LLVM_BIN_DIR="${LLVM_TAR_DIR}/bin"
+LLVM_LIB_DIR="${LLVM_TAR_DIR}/lib"
+
+set -eu
+
+if [ "$(uname -s)" = "Darwin" ]; then
+ PLATFORM=Mac
+ SO_EXT="dylib"
+else
+ PLATFORM=Linux_x64
+ SO_EXT="so"
+fi
+
+# Build clang with the new plugin revisions.
+"$THIS_DIR"/package.sh $@
+
+R=$("${LLVM_BIN_DIR}/clang" --version | \
+ sed -ne 's/clang version .*(trunk \([0-9]*\))/\1/p')
+PDIR=clang-$R
+
+if [ ! -f "$PDIR.tgz" ]; then
+ echo "Could not find package archive $PDIR.tgz generated by package.sh"
+ exit 1
+fi
+
+# We don't want to change the clang binary, so fetch the current clang
+# package and add the plugin shared-libraries to the existing package.
+rm -rf $LLVM_BUILD_DIR
+"$THIS_DIR"/update.sh
+
+LIBNAME=\
+$(grep 'set(LIBRARYNAME' "$THIS_DIR"/../blink_gc_plugin/CMakeLists.txt \
+ | cut -d ' ' -f 2 | tr -d ')')
+LIBFILE=lib$LIBNAME.$SO_EXT
+
+# Check that we are actually creating the plugin at a new revision.
+if [ -f "$LLVM_LIB_DIR/$LIBFILE" ]; then
+ echo "The plugin revision $LIBNAME is already in the existing package."
+ exit 1
+fi
+
+cp $PDIR/lib/$LIBFILE "$LLVM_LIB_DIR/"
+if [ "$(uname -s)" = "Darwin" ]; then
+ tar zcf ${PDIR}_repack.tgz -C "$LLVM_TAR_DIR" bin include lib buildlog.txt
+else
+ tar zcf ${PDIR}_repack.tgz -C "$LLVM_TAR_DIR" bin lib buildlog.txt
+fi
+
+echo The clang package has been repackaged with $LIBNAME
+echo To upload, run:
+echo gsutil cp -a public-read ${PDIR}_repack.tgz \
+ gs://chromium-browser-clang/$PLATFORM/$PDIR.tgz
« no previous file with comments | « tools/clang/scripts/plugin_flags.sh ('k') | tools/clang/scripts/update.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698