llvm-project/polly/utils/checkout_cloog.sh

97 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
CLOOG_HASH="88986e94581bece13c77d51ab18c7b20da14fb67"
ISL_HASH="34eb3a0c3d52875ec93e926f12713feff4d08af0"
PWD=`pwd`
check_command_line() {
if [ $# -eq 1 ]
then
CLOOG_DIR="${1}"
else
echo "Usage: " ${0} '<Directory to checkout CLooG>'
exit 1
fi
}
check_cloog_directory() {
if ! [ -e ${CLOOG_DIR} ]
then
echo :: Directory "'${CLOOG_DIR}'" does not exists. Trying to create it.
if ! mkdir -p "${CLOOG_DIR}"
then exit 1
fi
fi
if ! [ -d ${CLOOG_DIR} ]
then
echo "'${CLOOG_DIR}'" is not a directory
exit 1
fi
# Make it absolute
cd ${CLOOG_DIR}
CLOOG_DIR=`pwd`
if ! [ -e "${CLOOG_DIR}/.git" ]
then
echo ":: No git checkout found"
IS_GIT=0
else
echo ":: Existing git repo found"
IS_GIT=1
fi
}
complain() {
echo "$@"
exit 1
}
run() {
$cmdPre $*
if [ $? != 0 ]
then
complain $* failed
fi
}
check_command_line $@
check_cloog_directory
ISL_DIR=${CLOOG_DIR}/isl
if [ ${IS_GIT} -eq 0 ]
then
echo :: Performing initial checkout
# Remove the existing CLooG and ISL dirs to avoid crashing older git versions.
cd ${CLOOG_DIR}/..
run rmdir "${CLOOG_DIR}"
run git clone http://repo.or.cz/r/cloog.git ${CLOOG_DIR}
run rmdir "${ISL_DIR}"
run git clone http://repo.or.cz/r/isl.git ${ISL_DIR}
fi
echo :: Fetch versions required by Polly
run cd ${CLOOG_DIR}
run git remote update
run cd isl
run git remote update
echo :: Setting CLooG version
run cd ${CLOOG_DIR}
run git reset --hard "${CLOOG_HASH}"
echo :: Setting isl version
run cd ${ISL_DIR}
run git reset --hard "${ISL_HASH}"
echo :: Generating configure
run cd ${CLOOG_DIR}
run ./autogen.sh
echo :: If you install cloog/isl the first time run "'./configure'" followed by
echo :: "'make'" and "'make install'", otherwise, just call "'make'" and
echo :: "'make'" install.