llvm-toolchain/debian/orig-tar.sh
Sylvestre Ledru 396fc75f35 * Sync from 3.4~+rc2-1
* New testing upstream release
* 0047-version-name.diff ocamldoc.diff removed (applied upstream)
* r600 is now compiled by default (remove the configure arg)
* Remove the usage of --with-c-include-dirs, --with-cxx-include-root,
  --with-cxx-include-arch and --with-cxx-include-64bit-dir
  It was blocking the automatic detection of the path of clang.
  In particular in the context of the usage of -target.
  However, it does not completely fix the detection of the i386 C++ path.
  See the next item.
  (Closes: #729933)
* Bring back the path to libstdc++ under i386. Still not fixed upstream
  (Closes: #730857)
* Define also MAXPATHLEN in Path.inc for HURD.
* Silent the trillion of warnings in the LLDB Python wrapper (swig generated)
  See silent-swig-warning.diff
* Silent some i386 tests failing (it is expected)
  See silent-MCJIIT-tests.diff
* Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
* Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
* Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for
  3.3 and ported on the 3.4 (Closes: #730808)
* If we get an unexpected pass, do not break the tests
  do-not-fail-on-unexpected-pass.diff (I am disabling some tests)
* Fix the path detection of the objective h headers.
* Also add usr/lib/llvm-3.4/lib/clang/3.4/include => 
  usr/lib/clang/3.4/include symlink to simplify the path detection
* Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not
  support some C++ features.
* Fail the build when llvm tests are failing under amd64 + i386. More to come.
* Fix a libclang.so.1 issue during the clang tests
* Improve the patch 23-strlcpy_strlcat_warning_removed.diff
  (also remove the tests)
* Make lldb 3.4 also conflict with 3.5 (Closes: #730163)
* Make python-clang 3.4 also conflict with 3.5 (Closes: #730164)
* Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT
* silent warning "manpage-has-useless-whatis-entry" in lldb-3.4
* silent warning "package-name-doesnt-match-sonames libclang1"
* Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd.
  Thanks to Ed Maste for the patch.
* New testing upstream release
* kfreebsd.diff removed. Applied upstream
* Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch
  Useless now and missleading
* Branch from llvm-toolchain-snapshot
* Standards-Version updated to 3.9.5
2013-12-03 13:03:47 +00:00

138 lines
3.8 KiB
Bash
Executable File

#!/bin/sh
# This script will create the following tarballs:
# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-clang-extra.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-compiler-rt.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-lldb.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig-polly.tar.bz2
# llvm-toolchain-snapshot-3.2_3.2repack.orig.tar.bz2
set -e
# TODO rest of the options
# To create an rc1 release:
# sh 3.4/debian/orig-tar.sh RELEASE_34 rc1
SVN_BASE_URL=http://llvm.org/svn/llvm-project/
MAJOR_VERSION=3.5
if test -n "$1"; then
# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/branches/google/stable/
# For example: sh 3.4/debian/orig-tar.sh release_34
BRANCH=$1
fi
if test -n "$1" -a -n "$2"; then
# http://llvm.org/svn/llvm-project/{cfe,llvm,compiler-rt,...}/tags/RELEASE_34/rc1/
# For example: sh 3.4/debian/orig-tar.sh RELEASE_34 rc2
BRANCH=$1
TAG=$2
RCRELEASE="true"
fi
get_svn_url() {
MODULE=$1
BRANCH=$2
TAG=$3
if test -n "$TAG"; then
SVN_URL="$SVN_BASE_URL/$MODULE/tags/$BRANCH/$TAG"
else
if test -n "$BRANCH"; then
SVN_URL="$SVN_BASE_URL/$MODULE/branches/$BRANCH"
else
SVN_URL="$SVN_BASE_URL/$MODULE/trunk/"
fi
fi
echo $SVN_URL
}
get_higher_revision() {
PROJECTS="llvm cfe compiler-rt polly lldb clang-tools-extra"
REVISION_MAX=0
for f in $PROJECTS; do
REVISION=$(LANG=C svn info $(get_svn_url $f $BRANCH $TAG)|grep "^Last Changed Rev:"|awk '{print $4}')
if test $REVISION -gt $REVISION_MAX; then
REVISION_MAX=$REVISION
fi
done
echo $REVISION_MAX
}
if test -n "$BRANCH"; then
REVISION=$(get_higher_revision)
# Do not use the revision when exporting branch. We consider that all the
# branch are sync
SVN_CMD="svn export"
else
REVISION=$(LANG=C svn info $(get_svn_url llvm)|grep "^Revision:"|awk '{print $2}')
SVN_CMD="svn export -r $REVISION"
fi
if test -n "$RCRELEASE"; then
VERSION=$MAJOR_VERSION"~+"$TAG
FULL_VERSION="llvm-toolchain-"$MAJOR_VERSION"_"$VERSION
else
VERSION=$MAJOR_VERSION"~svn"$REVISION
FULL_VERSION="llvm-toolchain-snapshot_"$VERSION
fi
# LLVM
LLVM_TARGET=$FULL_VERSION
$SVN_CMD $(get_svn_url llvm $BRANCH $TAG) $LLVM_TARGET
tar jcvf $FULL_VERSION.orig.tar.bz2 $LLVM_TARGET
rm -rf $LLVM_TARGET
# Clang
CLANG_TARGET=clang_$VERSION
$SVN_CMD $(get_svn_url cfe $BRANCH $TAG) $CLANG_TARGET
tar jcvf $FULL_VERSION.orig-clang.tar.bz2 $CLANG_TARGET
rm -rf $CLANG_TARGET
# Clang extra
CLANG_TARGET=clang-tools-extra_$VERSION
$SVN_CMD $(get_svn_url clang-tools-extra $BRANCH $TAG) $CLANG_TARGET
tar jcvf $FULL_VERSION.orig-clang-tools-extra.tar.bz2 $CLANG_TARGET
rm -rf $CLANG_TARGET
# Compiler-rt
COMPILER_RT_TARGET=compiler-rt_$VERSION
$SVN_CMD $(get_svn_url compiler-rt $BRANCH $TAG) $COMPILER_RT_TARGET
tar jcvf $FULL_VERSION.orig-compiler-rt.tar.bz2 $COMPILER_RT_TARGET
rm -rf $COMPILER_RT_TARGET
# Polly
POLLY_TARGET=polly_$VERSION
$SVN_CMD $(get_svn_url polly $BRANCH $TAG) $POLLY_TARGET
rm -rf $POLLY_TARGET/www
tar jcvf $FULL_VERSION.orig-polly.tar.bz2 $POLLY_TARGET
rm -rf $POLLY_TARGET
# LLDB
LLDB_TARGET=lldb_$VERSION
$SVN_CMD $(get_svn_url lldb $BRANCH $TAG) $LLDB_TARGET
rm -rf $LLDB_TARGET/www/
tar jcvf $FULL_VERSION.orig-lldb.tar.bz2 $LLDB_TARGET
rm -rf $LLDB_TARGET
PATH_DEBIAN="$(pwd)/$(dirname $0)/../"
echo "going into $PATH_DEBIAN"
export DEBFULLNAME="Sylvestre Ledru"
export DEBEMAIL="sylvestre@debian.org"
cd $PATH_DEBIAN
if test -z "$DISTRIBUTION"; then
DISTRIBUTION="experimental"
fi
if test ! -n "$RCRELEASE"; then
EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version"
fi
dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:$VERSION-1~exp1 "New snapshot release"
exit 0