Remove and/or shorten many comments in configure.ac.

Remove checks for many common Unix programs. Our build process currently
assumes they are there and makes no provisions for any other world-views.
(We can add some of these checks back at some later time if it should prove
useful, but right now, we do not need to check to see whether "rm" exists.)

Remove checks for many common standard C headers and functions. We assume
ISO/ANSI C++, and we always use the <cfoo> versions of ANSI C's <foo.h>
headers, so these checks will not help anything.

Edit configure's warning messages for clarity and content.

Change checks for "optional" programs to default to using "true" instead of
"false", so that a failure to find, e.g., etags, will be less likely to result
in make failing.

No longer shall we check for --enable-purify or --with-purify options.
No longer shall we propagate these to the Makefiles.

configure regenerated using autoconf-2.57.

Please feel free to send me any questions or comments you have. :-)

llvm-svn: 10814
This commit is contained in:
Brian Gaeke 2004-01-13 06:43:16 +00:00
parent ebbd66c042
commit 2abe7ae3b6
3 changed files with 98 additions and 1343 deletions

View File

@ -65,13 +65,13 @@ FLEX = @LEX@
# #
# Paths to miscellaneous programs. # Paths to miscellaneous programs.
# #
RPWD = @RPWD@ RPWD = pwd
SED = @SED@ SED = sed
RM = @RM@ RM = rm
ECHO = @ECHO@ ECHO = echo
MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
DATE = @DATE@ DATE = date
MV = @MV@ MV = mv
INSTALL = @INSTALL@ INSTALL = @INSTALL@
DOT = @DOT@ DOT = @DOT@
ETAGS = @ETAGS@ ETAGS = @ETAGS@
@ -109,11 +109,6 @@ LLVMGCCDIR := @LLVMGCCDIR@
# #
BYTECODE_REPOSITORY := @BCR@ BYTECODE_REPOSITORY := @BCR@
# Path to location for purify, this is only needed if you build with
# ENABLE_PURIFY=1
#
PURIFY = @PURIFY@
# #
# SPEC benchmarks: # SPEC benchmarks:
# Set the USE_SPEC variable to enable the use of the SPEC benchmarks. # Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
@ -155,12 +150,6 @@ PAPIDIR := @PAPIDIR@
# #
#VERBOSE = 1 #VERBOSE = 1
# When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
# must be locally installed) to allow for some automated memory error debugging.
#
#ENABLE_PURIFY = 1
@ENABLE_PURIFY@
# #
# Enable JIT for this platform # Enable JIT for this platform
# #

View File

@ -1,20 +1,4 @@
dnl Autoconf requirements dnl Initialize autoconf
dnl AC_INIT(package, version, bug-report-address)
dnl information on the package
dnl checks for programs
dnl checks for libraries
dnl checks for header files
dnl checks for types
dnl checks for structures
dnl checks for compiler characteristics
dnl checks for library functions
dnl checks for system services
dnl AC_CONFIG_FILES([file...])
dnl AC_OUTPUT
dnl **************************************************************************
dnl * Initialize
dnl **************************************************************************
AC_INIT([[[LLVM]]],[[[1.1]]],[llvmbugs@cs.uiuc.edu]) AC_INIT([[[LLVM]]],[[[1.1]]],[llvmbugs@cs.uiuc.edu])
dnl Place all of the extra autoconf files into the config subdirectory dnl Place all of the extra autoconf files into the config subdirectory
@ -30,9 +14,7 @@ then
fi fi
fi fi
dnl
dnl Configure all of the projects present in our source tree. dnl Configure all of the projects present in our source tree.
dnl
for i in `ls ${srcdir}/projects` for i in `ls ${srcdir}/projects`
do do
if test ${i} != "CVS" if test ${i} != "CVS"
@ -94,11 +76,7 @@ AC_CONFIG_MAKEFILE(tools/Makefile)
AC_CONFIG_MAKEFILE(utils/Makefile) AC_CONFIG_MAKEFILE(utils/Makefile)
AC_CONFIG_MAKEFILE(projects/Makefile) AC_CONFIG_MAKEFILE(projects/Makefile)
dnl ************************************************************************** dnl Find the install program (needs to be done before canonical stuff)
dnl * Determine which system we are building on
dnl **************************************************************************
dnl Check the install program (needs to be done before canonical stuff)
AC_PROG_INSTALL AC_PROG_INSTALL
dnl Check which host for which we're compiling. This will tell us which LLVM dnl Check which host for which we're compiling. This will tell us which LLVM
@ -154,10 +132,6 @@ case $target in
;; ;;
esac esac
dnl **************************************************************************
dnl * Check for programs.
dnl **************************************************************************
dnl Check for compilation tools dnl Check for compilation tools
AC_PROG_CXX AC_PROG_CXX
AC_PROG_CC(gcc) AC_PROG_CC(gcc)
@ -168,7 +142,6 @@ if test "$GCC" != "yes"
then then
AC_MSG_ERROR([gcc required but not found]) AC_MSG_ERROR([gcc required but not found])
fi fi
if test "$GXX" != "yes" if test "$GXX" != "yes"
then then
AC_MSG_ERROR([g++ required but not found]) AC_MSG_ERROR([g++ required but not found])
@ -178,86 +151,33 @@ dnl Verify that GCC is version 3.0 or higher
gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1` gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1`
if test "$gccmajor" -lt "3" if test "$gccmajor" -lt "3"
then then
AC_MSG_ERROR([gcc 3.x required]) AC_MSG_ERROR([gcc 3.x required, but you have a lower version])
fi fi
dnl Check for GNU Make. We use its extensions to, so don't build without it dnl Check for GNU Make. We use its extensions too, so don't build without it
CHECK_GNU_MAKE CHECK_GNU_MAKE
if test -z "$_cv_gnu_make_command" if test -z "$_cv_gnu_make_command"
then then
AC_MSG_ERROR([GNU Make required but not found]) AC_MSG_ERROR([GNU Make required but not found])
fi fi
dnl Check for compiler-compiler tools (reminds me of Little Caesar's Pizza) dnl Checks for other tools
AC_PROG_FLEX AC_PROG_FLEX
AC_PROG_BISON AC_PROG_BISON
dnl Check for libtool
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
dnl Check for our special programs dnl Checks for tools we can get away with not having:
AC_PATH_PROG(RPWD,[pwd],[false]) AC_PATH_PROG(DOT,[dot],[true dot])
if test ${RPWD} = "false" AC_PATH_PROG(ETAGS,[etags],[true etags])
AC_PATH_PROG(PYTHON,[python],[true python])
if test "$PYTHON" = "false"
then then
AC_MSG_ERROR([pwd required but not found]) AC_MSG_WARN([Python is required for the test suite, but it was not found])
fi fi
AC_PATH_PROG(QMTEST,[qmtest],[true qmtest])
AC_PATH_PROG(AR,[ar],[false]) if test "$QMTEST" = "false"
if test ${AR} = "false"
then then
AC_MSG_ERROR([ar required but not found]) AC_MSG_WARN([QMTest is required for the test suite, but it was not found])
fi
AC_PATH_PROG(SED,[sed],[false])
if test ${SED} = "false"
then
AC_MSG_ERROR([sed required but not found])
fi
AC_PATH_PROG(RM,[rm],[false])
if test ${RM} = "false"
then
AC_MSG_ERROR([rm required but not found])
fi
AC_PATH_PROG(ECHO,[echo],[false])
if test ${ECHO} = "false"
then
AC_MSG_ERROR([echo required but not found])
fi
AC_PATH_PROG(MKDIR,[mkdir],[false])
if test ${MKDIR} = "false"
then
AC_MSG_ERROR([mkdir required but not found])
fi
AC_PATH_PROG(DATE,[date],[false])
if test ${DATE} = "false"
then
AC_MSG_ERROR([date required but not found])
fi
AC_PATH_PROG(MV,[mv],[false])
if test ${MV} = "false"
then
AC_MSG_ERROR([mv required but not found])
fi
AC_PATH_PROG(DOT,[dot],[false])
AC_PATH_PROG(ETAGS,[etags],[false])
AC_PATH_PROG(PYTHON,[python],[false])
if test ${PYTHON} = "false"
then
AC_MSG_WARN([python required but not found])
fi
AC_PATH_PROG(QMTEST,[qmtest],[false])
if test ${QMTEST} = "false"
then
AC_MSG_WARN([qmtest required but not found])
fi fi
dnl Verify that the version of python available is high enough for qmtest dnl Verify that the version of python available is high enough for qmtest
@ -271,20 +191,17 @@ then
then then
if test "$pyminor" -lt "2" if test "$pyminor" -lt "2"
then then
AC_MSG_WARN([Python 2.2 or greater required for qmtest]) AC_MSG_WARN([QMTest requires Python 2.2 or later])
fi fi
fi fi
else else
AC_MSG_WARN([Python 2.2 or greater required for qmtest]) AC_MSG_WARN([QMTest requires Python 2.2 or later])
fi fi
dnl Verify that the source directory is valid dnl Verify that the source directory is valid
AC_CONFIG_SRCDIR(["Makefile.config.in"]) AC_CONFIG_SRCDIR(["Makefile.config.in"])
dnl ************************************************************************** dnl Checks for libraries:
dnl * Check for libraries.
dnl **************************************************************************
dnl libelf is for sparc only; we can ignore it if we don't have it dnl libelf is for sparc only; we can ignore it if we don't have it
AC_CHECK_LIB(elf, elf_begin) AC_CHECK_LIB(elf, elf_begin)
@ -298,41 +215,14 @@ dnl pthread locking functions are optional - but llvm will not be thread-safe
dnl without locks. dnl without locks.
AC_SEARCH_LIBS(pthread_mutex_lock,pthread,AC_DEFINE(HAVE_PTHREAD_MUTEX_LOCK,1,[Define if PThread mutexes (e.g., pthread_mutex_lock) are available in the system's thread library.])) AC_SEARCH_LIBS(pthread_mutex_lock,pthread,AC_DEFINE(HAVE_PTHREAD_MUTEX_LOCK,1,[Define if PThread mutexes (e.g., pthread_mutex_lock) are available in the system's thread library.]))
dnl dnl Checks for header files.
dnl The math libraries are used by the test code, but not by the actual LLVM dnl We don't check for ancient stuff or things that are guaranteed to be there
dnl code. dnl by the C++ standard. We always use the <cfoo> versions of <foo.h> C headers.
dnl
dnl AC_CHECK_LIB(m, cos)
dnl **************************************************************************
dnl * Checks for header files.
dnl * Chances are, if the standard C or POSIX type header files are missing,
dnl * then LLVM just isn't going to compile. However, it is possible that
dnl * the necessary functions/macros will be included from other
dnl * (non-standard and non-obvious) header files.
dnl *
dnl * So, we'll be gracious, give it a chance, and try to go on without
dnl * them.
dnl **************************************************************************
AC_HEADER_STDC AC_HEADER_STDC
AC_HEADER_SYS_WAIT AC_HEADER_SYS_WAIT
dnl Check for ANSI C/POSIX header files dnl Checks for POSIX and other various system-specific header files
AC_CHECK_HEADERS(assert.h fcntl.h limits.h sys/time.h unistd.h errno.h signal.h math.h) AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h malloc.h sys/mman.h sys/resource.h dlfcn.h link.h)
dnl Check for system specific header files
AC_CHECK_HEADERS(malloc.h sys/mman.h sys/resource.h)
dnl Check for header files associated with dlopen and friends
AC_CHECK_HEADERS(dlfcn.h link.h)
dnl **************************************************************************
dnl * Checks for typedefs, structures, and compiler characteristics.
dnl **************************************************************************
dnl Check for const and inline keywords
AC_C_CONST
AC_C_INLINE
dnl Check for machine endian-ness dnl Check for machine endian-ness
AC_C_BIGENDIAN(AC_DEFINE([ENDIAN_BIG],[],[Define if the machine is Big-Endian]),AC_DEFINE([ENDIAN_LITTLE],[],[Define if the machine is Little-Endian])) AC_C_BIGENDIAN(AC_DEFINE([ENDIAN_BIG],[],[Define if the machine is Big-Endian]),AC_DEFINE([ENDIAN_LITTLE],[],[Define if the machine is Little-Endian]))
@ -356,54 +246,28 @@ AC_CXX_HAVE_STD_ITERATOR
AC_CXX_HAVE_BI_ITERATOR AC_CXX_HAVE_BI_ITERATOR
AC_CXX_HAVE_FWD_ITERATOR AC_CXX_HAVE_FWD_ITERATOR
dnl ************************************************************************** dnl Checks for library functions.
dnl * Checks for library functions.
dnl **************************************************************************
AC_FUNC_ALLOCA AC_FUNC_ALLOCA
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_MMAP AC_FUNC_MMAP
if test "$ac_cv_func_mmap_fixed_mapped" = "no"
then
AC_MSG_ERROR([mmap() required but not found])
fi
AC_FUNC_MMAP_FILE AC_FUNC_MMAP_FILE
if test ${ac_cv_func_mmap_file} = "no" if test "$ac_cv_func_mmap_file" = "no"
then then
AC_MSG_ERROR([mmap() of files required but not found]) AC_MSG_ERROR([mmap() of files required but not found])
fi fi
AC_HEADER_MMAP_ANONYMOUS AC_HEADER_MMAP_ANONYMOUS
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol strtoq strtoll) AC_CHECK_FUNCS(getcwd gettimeofday strdup strtoq strtoll)
dnl
dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
dnl MAP_FIXED is only needed for Sparc
dnl MAP_ANON is used for Sparc and BSD
dnl Everyone should have MAP_PRIVATE
dnl
dnl Check for certain functions (even if we've already found them) so that we
dnl can quit with an error if they are unavailable.
dnl
dnl As the code is made more portable (i.e. less reliant on these functions,
dnl these checks should go away.
AC_CHECK_FUNC(mmap,,AC_MSG_ERROR([Function mmap() required but not found]))
AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found])) AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
dnl Determine if the linker supports the -R option. dnl Determine if the linker supports the -R option.
AC_LINK_USE_R() AC_LINK_USE_R
dnl ************************************************************************** dnl --enable/--with command-line options:
dnl * Enable various compile-time options dnl Check whether they want to do an optimized build:
dnl **************************************************************************
dnl Purify Option
AC_ARG_ENABLE(purify,AC_HELP_STRING([--enable-purify],[Compile with purify (default is NO)]),,enableval="no")
if test ${enableval} = "no"
then
AC_SUBST(ENABLE_PURIFY,[[]])
else
AC_SUBST(ENABLE_PURIFY,[[ENABLE_PURIFY=1]])
fi
dnl Optimized Option
AC_ARG_ENABLE(optimized,AC_HELP_STRING([--enable-optimized],[Compile with optimizations enabled (default is NO)]),,enableval=no) AC_ARG_ENABLE(optimized,AC_HELP_STRING([--enable-optimized],[Compile with optimizations enabled (default is NO)]),,enableval=no)
if test ${enableval} = "no" if test ${enableval} = "no"
then then
@ -443,7 +307,6 @@ else
AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]]) AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]])
fi fi
dnl LLC Diff Option dnl LLC Diff Option
AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes) AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes)
if test ${enableval} = "no" if test ${enableval} = "no"
@ -455,7 +318,6 @@ fi
dnl JIT Option dnl JIT Option
AC_ARG_ENABLE(jit,AC_HELP_STRING([--enable-jit],[Enable Just In Time Compiling (default is YES)]),,enableval=default) AC_ARG_ENABLE(jit,AC_HELP_STRING([--enable-jit],[Enable Just In Time Compiling (default is YES)]),,enableval=default)
if test ${enableval} = "no" if test ${enableval} = "no"
then then
AC_SUBST(JIT,[[]]) AC_SUBST(JIT,[[]])
@ -473,13 +335,8 @@ else
esac esac
fi fi
dnl ************************************************************************** dnl Find the LLVM GCC-based C/C++ front end
dnl * Set the location of various third-party software packages
dnl **************************************************************************
dnl Location of the LLVM C front end
AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval])) AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval]))
AC_MSG_CHECKING([for llvm-gcc]) AC_MSG_CHECKING([for llvm-gcc])
LLVM_GCC_CHECK=no LLVM_GCC_CHECK=no
if test -d "$LLVMGCCDIR" if test -d "$LLVMGCCDIR"
@ -495,7 +352,6 @@ if test "$LLVM_GCC_CHECK" = "no"
then then
llvmgccwarn=yes llvmgccwarn=yes
fi fi
AC_MSG_CHECKING([whether llvm-gcc is sane]) AC_MSG_CHECKING([whether llvm-gcc is sane])
LLVM_GCC_SANE=no LLVM_GCC_SANE=no
if test -x "$LLVM_GCC_CHECK" if test -x "$LLVM_GCC_CHECK"
@ -520,18 +376,10 @@ AC_ARG_WITH(bcrepos,AC_HELP_STRING([--with-bcrepos],[Location of Bytecode Reposi
dnl Location of PAPI dnl Location of PAPI
AC_ARG_WITH(papi,AC_HELP_STRING([--with-papi],[Location of PAPI]),AC_SUBST(PAPIDIR,[$withval]),AC_SUBST(PAPIDIR,[/home/vadve/shared/Sparc/papi-2.3.4.1])) AC_ARG_WITH(papi,AC_HELP_STRING([--with-papi],[Location of PAPI]),AC_SUBST(PAPIDIR,[$withval]),AC_SUBST(PAPIDIR,[/home/vadve/shared/Sparc/papi-2.3.4.1]))
dnl Location of the purify program dnl Create the output files
AC_ARG_WITH(purify,AC_HELP_STRING([--with-purify],[Location of purify program]),AC_SUBST(PURIFY,[$withval]))
dnl **************************************************************************
dnl * Configure other software packages (via AC_CONFIG_SUBDIRS)
dnl **************************************************************************
dnl **************************************************************************
dnl * Create the output files
dnl **************************************************************************
AC_OUTPUT(Makefile.config) AC_OUTPUT(Makefile.config)
dnl Warn loudly if llvm-gcc was not obviously working
if test $llvmgccwarn = yes if test $llvmgccwarn = yes
then then
AC_MSG_WARN([***** llvm C/C++ front end was not found, or does not]) AC_MSG_WARN([***** llvm C/C++ front end was not found, or does not])

1196
llvm/configure vendored

File diff suppressed because it is too large Load Diff