#! /bin/sh set -e # Replace the content of the isl directory with a fresh clone from # http://repo.or.cz/isl.git SCRIPTPATH=`realpath --no-symlinks $(dirname $0)` ISL_SOURCE_DIR="${SCRIPTPATH}/isl" GITDIR=`mktemp -d --tmpdir isl-XXX` # Checkout isl source code git clone --recursive http://repo.or.cz/isl.git $GITDIR if [ -n "$1" ]; then (cd $GITDIR && git checkout --detach $1) (cd $GITDIR && git submodule update --recursive) fi # Customize the source directory for Polly: # - Remove the autotools build system to avoid including GPL source into # the LLVM repository, even if covered by the autotools exception # - Create files that the autotools would have created # - Save the custom isl C++ binding # - Strip git source versioning (cd $GITDIR && rm -rf m4 autogen.sh configure.ac) (cd $GITDIR && find -name "Makefile.am" -execdir rm -f '{}' \;) (cd $GITDIR && git describe > $GITDIR/GIT_HEAD_ID) cp $ISL_SOURCE_DIR/include/isl/isl-noexceptions.h $GITDIR/include/isl/isl-noexceptions.h rm -rf $GITDIR/.git rm -rf $GITDIR/imath/.git # Replace the current isl source # IMPORTANT: Remember to `git add` any new files in LLVM's versioning # and add them to its CMakeLists.txt if necessary. rm -rf $ISL_SOURCE_DIR mv -T $GITDIR $ISL_SOURCE_DIR # Cleanup script temporaries rm -rf $TMPDIR