Mercurial > hg > CbC > CbC_llvm
diff utils/crosstool/create-snapshots.sh @ 31:d22a1cf4041c
merge with the LLVM_original
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 14:37:49 +0900 |
parents | 95c75e76d11b |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils/crosstool/create-snapshots.sh Thu Dec 12 14:37:49 2013 +0900 @@ -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 +