diff options
Diffstat (limited to 'projects')
-rwxr-xr-x | projects/sample/autoconf/AutoRegen.sh | 26 | ||||
-rw-r--r-- | projects/sample/autoconf/configure.ac | 7 |
2 files changed, 29 insertions, 4 deletions
diff --git a/projects/sample/autoconf/AutoRegen.sh b/projects/sample/autoconf/AutoRegen.sh index af6c0a4b28..c9cc905cd0 100755 --- a/projects/sample/autoconf/AutoRegen.sh +++ b/projects/sample/autoconf/AutoRegen.sh @@ -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" diff --git a/projects/sample/autoconf/configure.ac b/projects/sample/autoconf/configure.ac index 43a2e903ef..37c93a8f51 100644 --- a/projects/sample/autoconf/configure.ac +++ b/projects/sample/autoconf/configure.ac @@ -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"]) |