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