summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/utils/crosstool/create-snapshots.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/utils/crosstool/create-snapshots.sh')
-rwxr-xr-xcontrib/llvm/utils/crosstool/create-snapshots.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/contrib/llvm/utils/crosstool/create-snapshots.sh b/contrib/llvm/utils/crosstool/create-snapshots.sh
new file mode 100755
index 0000000..d70232a
--- /dev/null
+++ b/contrib/llvm/utils/crosstool/create-snapshots.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Creates LLVM SVN snapshots: llvm-$REV.tar.bz2 and llvm-gcc-4.2-$REV.tar.bz2,
+# where $REV is an SVN revision of LLVM. This is used for creating stable
+# tarballs which can be used to build known-to-work crosstools.
+#
+# Syntax:
+# $0 [REV] -- grabs the revision $REV from SVN; if not specified, grabs the
+# latest SVN revision.
+
+set -o nounset
+set -o errexit
+
+readonly LLVM_PROJECT_SVN="http://llvm.org/svn/llvm-project"
+
+getLatestRevisionFromSVN() {
+ svn info ${LLVM_PROJECT_SVN} | egrep ^Revision | sed 's/^Revision: //'
+}
+
+readonly REV="${1:-$(getLatestRevisionFromSVN)}"
+
+createTarballFromSVN() {
+ local module=$1
+ local log="${module}.log"
+ echo "Running: svn export -r ${REV} ${module}; log in ${log}"
+ svn -q export -r ${REV} ${LLVM_PROJECT_SVN}/${module}/trunk \
+ ${module} > ${log} 2>&1
+
+ # Create "module-revision.tar.bz2" packages from the SVN checkout dirs.
+ local tarball="${module}-${REV}.tar.bz2"
+ echo "Creating tarball: ${tarball}"
+ tar cjf ${tarball} ${module}
+
+ echo "Cleaning up '${module}'"
+ rm -rf ${module} ${log}
+}
+
+for module in "llvm" "llvm-gcc-4.2"; do
+ createTarballFromSVN ${module}
+done
+
OpenPOWER on IntegriCloud