Moved llvm/lib/Support to llvm/support/lib/Support.
[oota-llvm.git] / autoconf / configure.ac
index 450f50d48db5e2f90041a856400422cec421c2f7..e7b70c0fa9857a5a957004fd64a7252797a2c3e4 100644 (file)
@@ -20,8 +20,198 @@ AC_INIT([[[LLVM]]],[[[1.0]]],[llvmbugs@cs.uiuc.edu])
 dnl Place all of the extra autoconf files into the config subdirectory
 AC_CONFIG_AUX_DIR([autoconf])
 
+dnl Quit if the source directory has already been configured.
+dnl NOTE: This relies upon undocumented autoconf behavior.
+if test ${srcdir} != "."
+then
+       if test -f ${srcdir}/include/Config/config.h
+       then
+               AC_MSG_ERROR([Already configured in ${srcdir}])
+       fi
+fi
+
 dnl Configure a header file
 AC_CONFIG_HEADERS(include/Config/config.h)
+AC_CONFIG_MAKEFILE(Makefile)
+AC_CONFIG_MAKEFILE(Makefile.common)
+AC_CONFIG_MAKEFILE(Makefile.rules)
+AC_CONFIG_MAKEFILE(lib/Makefile)
+AC_CONFIG_MAKEFILE(lib/Analysis/Makefile)
+AC_CONFIG_MAKEFILE(lib/Analysis/DataStructure/Makefile)
+AC_CONFIG_MAKEFILE(lib/Analysis/IPA/Makefile)
+AC_CONFIG_MAKEFILE(lib/Analysis/LiveVar/Makefile)
+AC_CONFIG_MAKEFILE(lib/AsmParser/Makefile)
+AC_CONFIG_MAKEFILE(lib/Bytecode/Makefile)
+AC_CONFIG_MAKEFILE(lib/Bytecode/Reader/Makefile)
+AC_CONFIG_MAKEFILE(lib/Bytecode/Writer/Makefile)
+AC_CONFIG_MAKEFILE(lib/CWriter/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/InstrSched/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/InstrSelection/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/ModuloScheduling/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/RegAlloc/Makefile)
+AC_CONFIG_MAKEFILE(lib/CodeGen/SelectionDAG/Makefile)
+AC_CONFIG_MAKEFILE(lib/ExecutionEngine/Makefile)
+AC_CONFIG_MAKEFILE(lib/ExecutionEngine/Interpreter/Makefile)
+AC_CONFIG_MAKEFILE(lib/ExecutionEngine/JIT/Makefile)
+AC_CONFIG_MAKEFILE(lib/Target/Makefile)
+AC_CONFIG_MAKEFILE(lib/Target/Sparc/Makefile)
+AC_CONFIG_MAKEFILE(lib/Target/X86/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Hello/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/IPO/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Instrumentation/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Instrumentation/ProfilePaths/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Scalar/Makefile)
+AC_CONFIG_MAKEFILE(lib/Transforms/Utils/Makefile)
+AC_CONFIG_MAKEFILE(lib/VMCore/Makefile)
+AC_CONFIG_MAKEFILE(runtime/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/crtend/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libc/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libcurses/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libg/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libgcc/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libm/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libmalloc/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libtermcap/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libucb/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutempter/Makefile)
+AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutil/Makefile)
+AC_CONFIG_MAKEFILE(runtime/libdummy/Makefile)
+AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
+AC_CONFIG_MAKEFILE(test/Makefile)
+AC_CONFIG_MAKEFILE(test/Makefile.tests)
+AC_CONFIG_MAKEFILE(test/QMTestDB/QMTest/llvm.py)
+AC_CONFIG_MAKEFILE(test/Programs/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/Makefile.programs)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.report)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.report)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.report)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.example.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.buildrepo.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.report)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.report)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.typesafe.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.gnuplot)
+AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/179.art/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/183.equake/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/188.ammp/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/164.gzip/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/175.vpr/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/176.gcc/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/181.mcf/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/186.crafty/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/197.parser/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/254.gap/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/255.vortex/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/256.bzip2/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/300.twolf/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/LLVMSource/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile.multisrc)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Burg/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/aha/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/sgefa/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Fhourstones/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/01-qbsort/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/03-testtrie/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/04-bisect/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/05-eks/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/08-main/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/09-vor/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/12-IOtest/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/15-trie/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/17-bintr/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/18-imp/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/bh/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/bisort/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/em3d/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/health/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/mst/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/perimeter/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/power/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/treeadd/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/tsp/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/voronoi/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/OptimizerEval/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/anagram/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/bc/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/ft/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/ks/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/yacr2/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/llubenchmark/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/sim/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/Flex/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/Larn/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/Moria-5.5.2/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/Povray31/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/NoSource/m4/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Gizmos/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Dhrystone/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Shootout/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Stanford/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Misc/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/CustomChecked/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C/Makefile)
+AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/Makefile)
+AC_CONFIG_MAKEFILE(tools/Makefile)
+AC_CONFIG_MAKEFILE(tools/analyze/Makefile)
+AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
+AC_CONFIG_MAKEFILE(tools/extract/Makefile)
+AC_CONFIG_MAKEFILE(tools/gccas/Makefile)
+AC_CONFIG_MAKEFILE(tools/gccld/Makefile)
+AC_CONFIG_MAKEFILE(tools/llc/Makefile)
+AC_CONFIG_MAKEFILE(tools/llee/Makefile)
+AC_CONFIG_MAKEFILE(tools/lli/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-ar/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-as/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-dis/Makefile)
+AC_CONFIG_MAKEFILE(tools/llvm-link/Makefile)
+AC_CONFIG_MAKEFILE(tools/opt/Makefile)
+AC_CONFIG_MAKEFILE(utils/Makefile)
+AC_CONFIG_MAKEFILE(www/docs/Makefile)
+AC_CONFIG_MAKEFILE(projects/Makefile)
+AC_CONFIG_MAKEFILE(projects/sample/Makefile)
+AC_CONFIG_MAKEFILE(projects/sample/Makefile.common)
+AC_CONFIG_MAKEFILE(projects/sample/Makefile.config)
+AC_CONFIG_MAKEFILE(projects/sample/lib/Makefile)
+AC_CONFIG_MAKEFILE(projects/sample/lib/sample/Makefile)
+AC_CONFIG_MAKEFILE(projects/sample/tools/Makefile)
+AC_CONFIG_MAKEFILE(projects/sample/tools/sample/Makefile)
+AC_CONFIG_MAKEFILE(projects/ModuleMaker/Makefile)
+AC_CONFIG_MAKEFILE(projects/ModuleMaker/Makefile.common)
+AC_CONFIG_MAKEFILE(projects/ModuleMaker/tools/Makefile)
+AC_CONFIG_MAKEFILE(projects/ModuleMaker/tools/ModuleMaker/Makefile)
+AC_CONFIG_MAKEFILE(support/Makefile)
+AC_CONFIG_MAKEFILE(support/lib/Makefile)
+AC_CONFIG_MAKEFILE(support/lib/Support/Makefile)
+AC_CONFIG_MAKEFILE(support/tools/Makefile)
+AC_CONFIG_MAKEFILE(support/tools/Burg/Makefile)
+AC_CONFIG_MAKEFILE(support/tools/Burg/Doc/Makefile)
+AC_CONFIG_MAKEFILE(support/tools/TableGen/Makefile)
 
 dnl **************************************************************************
 dnl * Determine which system we are building on
@@ -115,19 +305,71 @@ dnl Check for libtool
 AC_PROG_LIBTOOL
 
 dnl Check for our special programs
-AC_PATH_PROG(RPWD,[pwd])
-AC_PATH_PROG(AR,[ar])
-AC_PATH_PROG(SED,[sed])
-AC_PATH_PROG(RM,[rm])
-AC_PATH_PROG(ECHO,[echo])
-AC_PATH_PROG(MKDIR,[mkdir])
-AC_PATH_PROG(DATE,[date])
-AC_PATH_PROG(MV,[mv])
-AC_PATH_PROG(DOT,[dot])
-AC_PATH_PROG(ETAGS,[etags])
-AC_PATH_PROG(PURIFY,[purify])
-AC_PATH_PROG(PYTHON,[python])
-AC_PATH_PROG(QMTEST,[qmtest])
+AC_PATH_PROG(RPWD,[pwd],[false])
+if test ${RPWD} = "false"
+then
+       AC_MSG_ERROR([pwd required but not found])
+fi
+
+AC_PATH_PROG(AR,[ar],[false])
+if test ${AR} = "false"
+then
+       AC_MSG_ERROR([ar required but 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(PURIFY,[purify],[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
 
 dnl Verify that the version of python available is high enough for qmtest
 pyversion=`$PYTHON -V 2>&1 | cut -d\  -f2`
@@ -338,21 +580,6 @@ AC_ARG_WITH(papi,AC_HELP_STRING([--with-papi],[Location of PAPI]),AC_SUBST(PAPID
 dnl Location of the purify program
 AC_ARG_WITH(purify,AC_HELP_STRING([--with-purify],[Location of purify program]),AC_SUBST(PURIFY,[$withval]))
 
-dnl Location for placing object files and built programs, libraries, etc
-if test ${USER}
-then
-       if test -d /localhome/${USER}
-       then
-               AC_SUBST(OBJROOT,[/localhome/${USER}])
-       else
-               AC_SUBST(OBJROOT,[.])
-       fi
-else
-       AC_SUBST(OBJROOT,[.])
-fi
-
-AC_ARG_WITH(objroot,AC_HELP_STRING([--with-objroot],[Location where object files should be placed (default is .)]),AC_SUBST(OBJROOT,[$withval]))
-
 dnl **************************************************************************
 dnl * Configure other software packages (via AC_CONFIG_SUBDIRS)
 dnl **************************************************************************