Have the AutoRegen.sh script prompt the user for the LLVM src and obj

directories if it can't find them. Then, replace those values into the
configure.ac script and pass them to the LLVM_CONFIG_PROJECT so that the
values become the default for llvm_src and llvm_obj variables. In this way
the user is required to input this exactly once, and the scripts take it
from there.

llvm-svn: 27798
This commit is contained in:
Reid Spencer 2006-04-18 06:27:47 +00:00
parent c81081ab5e
commit b687ce80cd
2 changed files with 29 additions and 4 deletions

View File

@ -7,20 +7,42 @@ test -d autoconf && test -f autoconf/configure.ac && cd autoconf
test -f configure.ac || die "Can't find 'autoconf' dir; please cd into it first"
autoconf --version | egrep '2\.5[0-9]' > /dev/null
if test $? -ne 0 ; then
die "Your autoconf was not detected as being 2.5x"
die "Your autoconf was not detected as being 2.5x"
fi
cwd=`pwd`
if test -d ../../../autoconf/m4 ; then
cd ../../../autoconf/m4
llvm_m4=`pwd`
llvm_src_root=../../..
llvm_obj_root=../../..
cd $cwd
elif test -d ../../llvm/autoconf/m4 ; then
cd ../../llvm/autoconf/m4
llvm_m4=`pwd`
llvm_src_root=../..
llvm_obj_root=../..
cd $cwd
else
die "Can't find the LLVM autoconf/m4 directory. The project should be checked out to projects directory"
while true ; do
echo "LLVM source root not found."
read -p "Enter full path to LLVM source:"
if test -d "$REPLY/autoconf/m4" ; then
llvm_src_root="$REPLY"
llvm_m4="$REPLY/autoconf/m4"
read -p "Enter full path to LLVM objects (empty for same as source):"
if test -d "$REPLY" ; then
llvm_obj_root="$REPLY"
else
llvm_obj_root="$llvm_src_root"
fi
break
fi
done
fi
# Patch the LLVM_ROOT in configure.ac, if it needs it
cp configure.ac configure.bak
sed -e "s#^LLVM_SRC_ROOT=.*#LLVM_SRC_ROOT=\"$llvm_src_root\"#" \
-e "s#^LLVM_OBJ_ROOT=.*#LLVM_OBJ_ROOT=\"$llvm_obj_root\"#" configure.bak > configure.ac
echo "Regenerating aclocal.m4 with aclocal"
rm -f aclocal.m4
aclocal -I $llvm_m4 -I "$llvm_m4/.." || die "aclocal failed"

View File

@ -3,13 +3,16 @@ dnl * Initialize
dnl **************************************************************************
AC_INIT([[[SAMPLE]]],[[[x.xx]]],[bugs@yourdomain])
dnl Identify where LLVM source tree is
LLVM_SRC_ROOT="../../"
LLVM_OBJ_ROOT="../../"
dnl Tell autoconf that the auxilliary files are actually located in
dnl the LLVM autoconf directory, not here.
AC_CONFIG_AUX_DIR(../../autoconf)
AC_CONFIG_AUX_DIR($LLVM_SRC_ROOT/autoconf)
dnl Tell autoconf that this is an LLVM project being configured
dnl This provides the --with-llvmsrc and --with-llvmobj options
LLVM_CONFIG_PROJECT
LLVM_CONFIG_PROJECT($LLVM_SRC_ROOT,$LLVM_OBJ_ROOT)
dnl Verify that the source directory is valid
AC_CONFIG_SRCDIR(["Makefile.common.in"])