llvm-mirror/utils/crosstool/create-snapshots.sh
Misha Brukman b52306e490 * Use "svn export" instead of "svn co" and avoid cleaning up .svn dirs
* Use "svn info" to get last revision in repo, will get matching tarballs
* Now run "svn -q" since "svn info" tells us the revision number

llvm-svn: 78065
2009-08-04 15:47:18 +00:00

42 lines
1.1 KiB
Bash
Executable File

#!/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