blob: c4e6f4b8e3c433f30ae8b1e6878dac2cd6ff0c3a [file] [log] [blame]
John Criswell7a3334d2003-07-22 19:13:20 +00001dnl Autoconf requirements
2dnl AC_INIT(package, version, bug-report-address)
3dnl information on the package
4dnl checks for programs
5dnl checks for libraries
6dnl checks for header files
7dnl checks for types
8dnl checks for structures
9dnl checks for compiler characteristics
10dnl checks for library functions
11dnl checks for system services
12dnl AC_CONFIG_FILES([file...])
13dnl AC_OUTPUT
14
15dnl **************************************************************************
16dnl * Initialize
17dnl **************************************************************************
18AC_INIT([[[LLVM]]],[[[1.0]]],[llvmbugs@cs.uiuc.edu])
19
20dnl Place all of the extra autoconf files into the config subdirectory
21AC_CONFIG_AUX_DIR([autoconf])
22
John Criswell22107a72003-09-15 17:04:06 +000023dnl Quit if the source directory has already been configured.
John Criswellf6778b62003-09-15 17:19:42 +000024dnl NOTE: This relies upon undocumented autoconf behavior.
25if test ${srcdir} != "."
John Criswell22107a72003-09-15 17:04:06 +000026then
John Criswellf6778b62003-09-15 17:19:42 +000027 if test -f ${srcdir}/include/Config/config.h
28 then
29 AC_MSG_ERROR([Already configured in ${srcdir}])
30 fi
John Criswell22107a72003-09-15 17:04:06 +000031fi
32
John Criswella4d32ad2003-10-16 01:49:07 +000033if test -d ${srcdir}/projects/sample
34then
35 AC_CONFIG_SUBDIRS(projects/sample)
36fi
37
John Criswell2b3771e2003-09-30 15:55:44 +000038if test -d ${srcdir}/projects/reopt
39then
40 AC_CONFIG_SUBDIRS(projects/reopt)
41fi
42
John Criswellee7ebdc2003-09-30 16:31:48 +000043if test -d ${srcdir}/projects/poolalloc
44then
45 AC_CONFIG_SUBDIRS(projects/poolalloc)
46fi
47
John Criswell7a3334d2003-07-22 19:13:20 +000048dnl Configure a header file
49AC_CONFIG_HEADERS(include/Config/config.h)
John Criswell2970d522003-09-06 14:46:19 +000050AC_CONFIG_MAKEFILE(Makefile)
51AC_CONFIG_MAKEFILE(Makefile.common)
52AC_CONFIG_MAKEFILE(Makefile.rules)
53AC_CONFIG_MAKEFILE(lib/Makefile)
54AC_CONFIG_MAKEFILE(lib/Analysis/Makefile)
55AC_CONFIG_MAKEFILE(lib/Analysis/DataStructure/Makefile)
56AC_CONFIG_MAKEFILE(lib/Analysis/IPA/Makefile)
57AC_CONFIG_MAKEFILE(lib/Analysis/LiveVar/Makefile)
58AC_CONFIG_MAKEFILE(lib/AsmParser/Makefile)
59AC_CONFIG_MAKEFILE(lib/Bytecode/Makefile)
60AC_CONFIG_MAKEFILE(lib/Bytecode/Reader/Makefile)
61AC_CONFIG_MAKEFILE(lib/Bytecode/Writer/Makefile)
62AC_CONFIG_MAKEFILE(lib/CWriter/Makefile)
63AC_CONFIG_MAKEFILE(lib/CodeGen/Makefile)
64AC_CONFIG_MAKEFILE(lib/CodeGen/InstrSched/Makefile)
65AC_CONFIG_MAKEFILE(lib/CodeGen/InstrSelection/Makefile)
66AC_CONFIG_MAKEFILE(lib/CodeGen/ModuloScheduling/Makefile)
John Criswell2970d522003-09-06 14:46:19 +000067AC_CONFIG_MAKEFILE(lib/CodeGen/RegAlloc/Makefile)
68AC_CONFIG_MAKEFILE(lib/CodeGen/SelectionDAG/Makefile)
69AC_CONFIG_MAKEFILE(lib/ExecutionEngine/Makefile)
70AC_CONFIG_MAKEFILE(lib/ExecutionEngine/Interpreter/Makefile)
71AC_CONFIG_MAKEFILE(lib/ExecutionEngine/JIT/Makefile)
Chris Lattner672edbc2003-10-06 02:09:25 +000072AC_CONFIG_MAKEFILE(lib/Support/Makefile)
John Criswell2970d522003-09-06 14:46:19 +000073AC_CONFIG_MAKEFILE(lib/Target/Makefile)
74AC_CONFIG_MAKEFILE(lib/Target/Sparc/Makefile)
75AC_CONFIG_MAKEFILE(lib/Target/X86/Makefile)
76AC_CONFIG_MAKEFILE(lib/Transforms/Makefile)
77AC_CONFIG_MAKEFILE(lib/Transforms/Hello/Makefile)
78AC_CONFIG_MAKEFILE(lib/Transforms/IPO/Makefile)
79AC_CONFIG_MAKEFILE(lib/Transforms/Instrumentation/Makefile)
80AC_CONFIG_MAKEFILE(lib/Transforms/Instrumentation/ProfilePaths/Makefile)
81AC_CONFIG_MAKEFILE(lib/Transforms/Scalar/Makefile)
82AC_CONFIG_MAKEFILE(lib/Transforms/Utils/Makefile)
83AC_CONFIG_MAKEFILE(lib/VMCore/Makefile)
84AC_CONFIG_MAKEFILE(runtime/Makefile)
85AC_CONFIG_MAKEFILE(runtime/GCCLibraries/Makefile)
86AC_CONFIG_MAKEFILE(runtime/GCCLibraries/crtend/Makefile)
87AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libc/Makefile)
Chris Lattnerce165f02003-09-10 15:13:21 +000088AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libcurses/Makefile)
John Criswell2970d522003-09-06 14:46:19 +000089AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libg/Makefile)
90AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libgcc/Makefile)
91AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libm/Makefile)
92AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libmalloc/Makefile)
Chris Lattnerce165f02003-09-10 15:13:21 +000093AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libtermcap/Makefile)
John Criswell2970d522003-09-06 14:46:19 +000094AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libucb/Makefile)
Chris Lattnerce165f02003-09-10 15:13:21 +000095AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutempter/Makefile)
96AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutil/Makefile)
John Criswell2970d522003-09-06 14:46:19 +000097AC_CONFIG_MAKEFILE(runtime/libdummy/Makefile)
98AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
Chris Lattnercccd0902003-10-28 19:17:11 +000099AC_CONFIG_MAKEFILE(runtime/libprofile/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000100AC_CONFIG_MAKEFILE(test/Makefile)
101AC_CONFIG_MAKEFILE(test/Makefile.tests)
John Criswelle078b432003-10-07 21:13:47 +0000102AC_CONFIG_MAKEFILE(test/QMTest/llvm.py)
103AC_CONFIG_MAKEFILE(test/QMTest/llvmdb.py)
John Criswell2970d522003-09-06 14:46:19 +0000104AC_CONFIG_MAKEFILE(test/Programs/Makefile)
105AC_CONFIG_MAKEFILE(test/Programs/Makefile.programs)
106AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.Makefile)
107AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.report)
108AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.report)
109AC_CONFIG_MAKEFILE(test/Programs/TEST.aa.report)
110AC_CONFIG_MAKEFILE(test/Programs/TEST.example.Makefile)
111AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.Makefile)
112AC_CONFIG_MAKEFILE(test/Programs/TEST.buildrepo.Makefile)
113AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.Makefile)
114AC_CONFIG_MAKEFILE(test/Programs/TEST.nightly.report)
115AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.Makefile)
116AC_CONFIG_MAKEFILE(test/Programs/TEST.jit.report)
117AC_CONFIG_MAKEFILE(test/Programs/TEST.typesafe.Makefile)
118AC_CONFIG_MAKEFILE(test/Programs/TEST.dsgraph.gnuplot)
119AC_CONFIG_MAKEFILE(test/Programs/TEST.micro.Makefile)
120AC_CONFIG_MAKEFILE(test/Programs/External/Makefile)
121AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile)
John Criswell7e0a65d2003-09-11 18:04:00 +0000122AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec)
John Criswell2970d522003-09-06 14:46:19 +0000123AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/Makefile)
John Criswelle3a9bd82003-10-09 15:44:28 +0000124AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/177.mesa/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000125AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/179.art/Makefile)
126AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/183.equake/Makefile)
127AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/188.ammp/Makefile)
128AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/Makefile)
129AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/164.gzip/Makefile)
130AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/175.vpr/Makefile)
131AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/176.gcc/Makefile)
132AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/181.mcf/Makefile)
133AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/186.crafty/Makefile)
134AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/197.parser/Makefile)
John Criswellfc3d20d2003-10-10 01:11:54 +0000135AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/252.eon/Makefile)
136AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/253.perlbmk/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000137AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/254.gap/Makefile)
138AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/255.vortex/Makefile)
139AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/256.bzip2/Makefile)
140AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CINT2000/300.twolf/Makefile)
141AC_CONFIG_MAKEFILE(test/Programs/LLVMSource/Makefile)
142AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile)
143AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Makefile.multisrc)
John Criswell1868b4e2003-09-12 16:31:43 +0000144AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Makefile)
145AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Burg/Makefile)
John Criswell3487a862003-09-12 16:36:17 +0000146AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/aha/Makefile)
147AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/sgefa/Makefile)
John Criswell1868b4e2003-09-12 16:31:43 +0000148AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Makefile)
149AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Fhourstones/Makefile)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000150AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/Makefile)
151AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/analyzer/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000152AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/analyzer/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000153AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000154AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000155AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000156AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000157AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000158AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000159AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000160AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000161AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000162AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/test.in)
Misha Brukmandc6863a2003-11-12 19:39:10 +0000163AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/Makefile)
Misha Brukman77a8be82003-11-12 22:16:23 +0000164AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/test.in)
John Criswell1868b4e2003-09-12 16:31:43 +0000165AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/Makefile)
166AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/01-qbsort/Makefile)
167AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/03-testtrie/Makefile)
168AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/04-bisect/Makefile)
169AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/05-eks/Makefile)
170AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/08-main/Makefile)
171AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/09-vor/Makefile)
172AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/12-IOtest/Makefile)
173AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/15-trie/Makefile)
174AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/17-bintr/Makefile)
175AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/McCat/18-imp/Makefile)
176AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/Makefile)
177AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/bh/Makefile)
178AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/bisort/Makefile)
179AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/em3d/Makefile)
180AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/health/Makefile)
181AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/mst/Makefile)
182AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/perimeter/Makefile)
183AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/power/Makefile)
184AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/treeadd/Makefile)
185AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/tsp/Makefile)
186AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Olden/voronoi/Makefile)
John Criswell3487a862003-09-12 16:36:17 +0000187AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/OptimizerEval/Makefile)
John Criswell1868b4e2003-09-12 16:31:43 +0000188AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/Makefile)
189AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/anagram/Makefile)
190AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/bc/Makefile)
191AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/ft/Makefile)
192AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/ks/Makefile)
193AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Ptrdist/yacr2/Makefile)
John Criswell1868b4e2003-09-12 16:31:43 +0000194AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/llubenchmark/Makefile)
John Criswell1868b4e2003-09-12 16:31:43 +0000195AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/sim/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000196AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
197AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
John Criswell6f7d8a22003-09-10 18:38:44 +0000198AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Gizmos/Makefile)
199AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Makefile)
200AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Dhrystone/Makefile)
201AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Shootout/Makefile)
202AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Stanford/Makefile)
203AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Benchmarks/Misc/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000204AC_CONFIG_MAKEFILE(test/Programs/SingleSource/CustomChecked/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000205AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/Makefile)
John Criswell3c172b42003-09-11 20:53:48 +0000206AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
John Criswell4c157a42003-09-26 14:53:17 +0000207AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/Makefile)
John Criswellf7dc0f42003-09-26 19:51:42 +0000208AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C/Makefile)
209AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/Makefile)
John Criswell6780a6e2003-09-29 21:35:32 +0000210AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/EH/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000211AC_CONFIG_MAKEFILE(tools/Makefile)
212AC_CONFIG_MAKEFILE(tools/analyze/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000213AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000214AC_CONFIG_MAKEFILE(tools/extract/Makefile)
215AC_CONFIG_MAKEFILE(tools/gccas/Makefile)
216AC_CONFIG_MAKEFILE(tools/gccld/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000217AC_CONFIG_MAKEFILE(tools/llc/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000218AC_CONFIG_MAKEFILE(tools/llee/Makefile)
Misha Brukman145e1762003-09-16 15:22:55 +0000219AC_CONFIG_MAKEFILE(tools/lli/Makefile)
Chris Lattner4777f032003-09-13 02:35:56 +0000220AC_CONFIG_MAKEFILE(tools/llvm-ar/Makefile)
Misha Brukman145e1762003-09-16 15:22:55 +0000221AC_CONFIG_MAKEFILE(tools/llvm-as/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000222AC_CONFIG_MAKEFILE(tools/llvm-dis/Makefile)
Misha Brukman145e1762003-09-16 15:22:55 +0000223AC_CONFIG_MAKEFILE(tools/llvm-link/Makefile)
Misha Brukman8b682382003-10-16 16:12:04 +0000224AC_CONFIG_MAKEFILE(tools/llvm-nm/Makefile)
Chris Lattnercccd0902003-10-28 19:17:11 +0000225AC_CONFIG_MAKEFILE(tools/llvm-prof/Makefile)
Misha Brukman145e1762003-09-16 15:22:55 +0000226AC_CONFIG_MAKEFILE(tools/opt/Makefile)
Chris Lattner672edbc2003-10-06 02:09:25 +0000227AC_CONFIG_MAKEFILE(utils/Makefile)
228AC_CONFIG_MAKEFILE(utils/Burg/Makefile)
229AC_CONFIG_MAKEFILE(utils/Burg/Doc/Makefile)
230AC_CONFIG_MAKEFILE(utils/TableGen/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000231AC_CONFIG_MAKEFILE(projects/Makefile)
John Criswell2970d522003-09-06 14:46:19 +0000232AC_CONFIG_MAKEFILE(projects/ModuleMaker/Makefile)
233AC_CONFIG_MAKEFILE(projects/ModuleMaker/Makefile.common)
234AC_CONFIG_MAKEFILE(projects/ModuleMaker/tools/Makefile)
235AC_CONFIG_MAKEFILE(projects/ModuleMaker/tools/ModuleMaker/Makefile)
John Criswell7a3334d2003-07-22 19:13:20 +0000236
237dnl **************************************************************************
238dnl * Determine which system we are building on
239dnl **************************************************************************
240
241dnl Check the install program (needs to be done before canonical stuff)
242AC_PROG_INSTALL
243
244dnl Check which host for which we're compiling. This will tell us which LLVM
245dnl compiler will be used for compiling SSA into object code.
246AC_CANONICAL_TARGET
247
248dnl
249dnl Now, for some of our own magic:
250dnl We will use the build machine information to set some variables.
251dnl
252case $build in
253 *i*86*) AC_SUBST(OS,[Linux])
John Criswell7a3334d2003-07-22 19:13:20 +0000254 AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/x86/llvm-gcc/])
255 ;;
256
257 *sparc*) AC_SUBST(OS,[SunOS])
258 AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/sparc/llvm-gcc/])
259 ;;
260
261 *) AC_SUBST(OS,[Unknown])
262 ;;
263esac
264
265dnl
266dnl If we are targetting a Sparc machine running Solaris, pretend that it is
267dnl V9, since that is all that we support at the moment, and autoconf will only
268dnl tell us we're a sparc.
269dnl
270case $target in
271 *sparc*solaris*) AC_SUBST(target,[[sparcv9-sun-solaris2.8]])
272 ;;
273esac
274
275dnl
276dnl Determine what our target architecture is and configure accordingly.
277dnl This will allow Makefiles to make a distinction between the hardware and
278dnl the OS.
279dnl
280case $target in
281 *i*86*) AC_SUBST(ARCH,[x86])
282 ;;
283 *sparc*solaris*) AC_SUBST(ARCH,[Sparc])
284 ;;
285esac
286
287dnl **************************************************************************
288dnl * Check for programs.
289dnl **************************************************************************
290
291dnl Check for compilation tools
292AC_PROG_CXX
293AC_PROG_CC(gcc)
294AC_PROG_CPP
295
296dnl Ensure that compilation tools are GCC; we use GCC specific extensions
297if test "$GCC" != "yes"
298then
299 AC_MSG_ERROR([gcc required but not found])
300fi
301
302if test "$GXX" != "yes"
303then
304 AC_MSG_ERROR([g++ required but not found])
305fi
306
John Criswell6a47a972003-08-25 16:49:54 +0000307dnl Verify that GCC is version 3.0 or higher
308gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1`
309if test "$gccmajor" -lt "3"
310then
311 AC_MSG_ERROR([gcc 3.x required])
312fi
313
John Criswell7a3334d2003-07-22 19:13:20 +0000314dnl Check for GNU Make. We use its extensions to, so don't build without it
315CHECK_GNU_MAKE
316if test -z "$_cv_gnu_make_command"
317then
318 AC_MSG_ERROR([GNU Make required but not found])
319fi
320
321dnl Check for compiler-compiler tools (reminds me of Little Caesar's Pizza)
322AC_PROG_FLEX
323AC_PROG_BISON
324
325dnl Check for libtool
326AC_PROG_LIBTOOL
327
328dnl Check for our special programs
John Criswell31494482003-09-23 15:28:52 +0000329AC_PATH_PROG(RPWD,[pwd],[false])
330if test ${RPWD} = "false"
331then
332 AC_MSG_ERROR([pwd required but not found])
333fi
334
335AC_PATH_PROG(AR,[ar],[false])
336if test ${AR} = "false"
337then
338 AC_MSG_ERROR([ar required but not found])
339fi
340
341AC_PATH_PROG(SED,[sed],[false])
342if test ${SED} = "false"
343then
344 AC_MSG_ERROR([sed required but not found])
345fi
346
347AC_PATH_PROG(RM,[rm],[false])
348if test ${RM} = "false"
349then
350 AC_MSG_ERROR([rm required but not found])
351fi
352
353AC_PATH_PROG(ECHO,[echo],[false])
354if test ${ECHO} = "false"
355then
356 AC_MSG_ERROR([echo required but not found])
357fi
358
359AC_PATH_PROG(MKDIR,[mkdir],[false])
360if test ${MKDIR} = "false"
361then
362 AC_MSG_ERROR([mkdir required but not found])
363fi
364
365AC_PATH_PROG(DATE,[date],[false])
366if test ${DATE} = "false"
367then
368 AC_MSG_ERROR([date required but not found])
369fi
370
371AC_PATH_PROG(MV,[mv],[false])
372if test ${MV} = "false"
373then
374 AC_MSG_ERROR([mv required but not found])
375fi
376
377AC_PATH_PROG(DOT,[dot],[false])
378
379AC_PATH_PROG(ETAGS,[etags],[false])
380
John Criswell31494482003-09-23 15:28:52 +0000381AC_PATH_PROG(PYTHON,[python],[false])
382if test ${PYTHON} = "false"
383then
John Criswell8d5d13d2003-09-23 20:46:32 +0000384 AC_MSG_WARN([python required but not found])
John Criswell31494482003-09-23 15:28:52 +0000385fi
386
387AC_PATH_PROG(QMTEST,[qmtest],[false])
388if test ${QMTEST} = "false"
389then
John Criswell8d5d13d2003-09-23 20:46:32 +0000390 AC_MSG_WARN([qmtest required but not found])
John Criswell31494482003-09-23 15:28:52 +0000391fi
John Criswell6a47a972003-08-25 16:49:54 +0000392
393dnl Verify that the version of python available is high enough for qmtest
394pyversion=`$PYTHON -V 2>&1 | cut -d\ -f2`
395pymajor=`echo $pyversion | cut -d. -f1`
396pyminor=`echo $pyversion | cut -d. -f2`
397
398if test "$pymajor" -ge "2"
399then
400 if test "$pymajor" -eq "2"
401 then
402 if test "$pyminor" -lt "2"
403 then
404 AC_MSG_ERROR([Python 2.2 or greater required])
405 fi
406 fi
407else
408 AC_MSG_ERROR([Python 2.2 or greater required])
409fi
John Criswell7a3334d2003-07-22 19:13:20 +0000410
411dnl Verify that the source directory is valid
412AC_CONFIG_SRCDIR(["Makefile.config.in"])
413
414dnl **************************************************************************
415dnl * Check for libraries.
416dnl **************************************************************************
417
418dnl libelf is for sparc only; we can ignore it if we don't have it
419AC_CHECK_LIB(elf, elf_begin)
420
Brian Gaeke25f2a372003-10-07 05:03:36 +0000421dnl dlopen() is required for plugin support.
Brian Gaeked7a702d2003-10-08 21:44:07 +0000422AC_SEARCH_LIBS(dlopen,dl,AC_DEFINE([HAVE_DLOPEN],[1],[Define if dlopen() is available on this platform.]),AC_MSG_WARN([dlopen() not found - disabling plugin support]))
John Criswell7a3334d2003-07-22 19:13:20 +0000423
424dnl mallinfo is optional; the code can compile (minus features) without it
Brian Gaeked7a702d2003-10-08 21:44:07 +0000425AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],[Define if mallinfo() is available on this platform.]))
John Criswell7a3334d2003-07-22 19:13:20 +0000426
427dnl
428dnl The math libraries are used by the test code, but not by the actual LLVM
429dnl code.
430dnl
431dnl AC_CHECK_LIB(m, cos)
432
433dnl **************************************************************************
434dnl * Checks for header files.
435dnl * Chances are, if the standard C or POSIX type header files are missing,
436dnl * then LLVM just isn't going to compile. However, it is possible that
437dnl * the necessary functions/macros will be included from other
438dnl * (non-standard and non-obvious) header files.
439dnl *
440dnl * So, we'll be gracious, give it a chance, and try to go on without
441dnl * them.
442dnl **************************************************************************
443AC_HEADER_STDC
444AC_HEADER_SYS_WAIT
445
446dnl Check for ANSI C/POSIX header files
447AC_CHECK_HEADERS(assert.h fcntl.h limits.h sys/time.h unistd.h errno.h signal.h math.h)
448
449dnl Check for system specific header files
Brian Gaeke663fba32003-10-22 17:52:56 +0000450AC_CHECK_HEADERS(malloc.h sys/mman.h sys/resource.h)
John Criswell7a3334d2003-07-22 19:13:20 +0000451
452dnl Check for header files associated with dlopen and friends
453AC_CHECK_HEADERS(dlfcn.h link.h)
454
455dnl **************************************************************************
456dnl * Checks for typedefs, structures, and compiler characteristics.
457dnl **************************************************************************
458
459dnl Check for const and inline keywords
460AC_C_CONST
461AC_C_INLINE
462
463dnl Check for machine endian-ness
Brian Gaeked7a702d2003-10-08 21:44:07 +0000464AC_C_BIGENDIAN(AC_DEFINE([ENDIAN_BIG],[],[Define if the machine is Big-Endian]),AC_DEFINE([ENDIAN_LITTLE],[],[Define if the machine is Little-Endian]))
John Criswell7a3334d2003-07-22 19:13:20 +0000465
466dnl Check for types
467AC_TYPE_PID_T
468AC_TYPE_SIZE_T
469AC_CHECK_TYPES([int64_t],,AC_MSG_ERROR([Type int64_t required but not found]))
470AC_CHECK_TYPES([uint64_t],,AC_MSG_ERROR([Type uint64_t required but not found]))
471AC_HEADER_TIME
472AC_STRUCT_TM
473
John Criswell42859552003-10-13 16:22:01 +0000474dnl Check for various C features
475AC_C_PRINTF_A
476
John Criswell7a3334d2003-07-22 19:13:20 +0000477dnl Check for C++ extensions
Brian Gaekeb6218572003-11-10 03:06:09 +0000478AC_CXX_HAVE_HASH_MAP
479AC_CXX_HAVE_HASH_SET
John Criswell7a3334d2003-07-22 19:13:20 +0000480AC_CXX_HAVE_EXT_SLIST
481AC_CXX_HAVE_STD_ITERATOR
482AC_CXX_HAVE_BI_ITERATOR
483AC_CXX_HAVE_FWD_ITERATOR
484
485dnl **************************************************************************
486dnl * Checks for library functions.
487dnl **************************************************************************
488AC_FUNC_ALLOCA
489AC_PROG_GCC_TRADITIONAL
490AC_FUNC_MEMCMP
491AC_FUNC_MMAP
492AC_FUNC_MMAP_FILE
493if test ${ac_cv_func_mmap_file} = "no"
494then
495 AC_MSG_ERROR([mmap() of files required but not found])
496fi
497AC_HEADER_MMAP_ANONYMOUS
498AC_TYPE_SIGNAL
Brian Gaekedb363a02003-10-10 17:04:43 +0000499AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol strtoq strtoll)
John Criswell7a3334d2003-07-22 19:13:20 +0000500
501dnl
502dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
503dnl MAP_FIXED is only needed for Sparc
504dnl MAP_ANON is used for Sparc and BSD
505dnl Everyone should have MAP_PRIVATE
506dnl
507
508dnl Check for certain functions (even if we've already found them) so that we
509dnl can quit with an error if they are unavailable.
510dnl
511dnl As the code is made more portable (i.e. less reliant on these functions,
512dnl these checks should go away.
513AC_CHECK_FUNC(mmap,,AC_MSG_ERROR([Function mmap() required but not found]))
514AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
515
516dnl **************************************************************************
517dnl * Enable various compile-time options
518dnl **************************************************************************
John Criswell5ec24d82003-07-22 20:59:52 +0000519
520dnl Purify Option
521AC_ARG_ENABLE(purify,AC_HELP_STRING([--enable-purify],[Compile with purify (default is NO)]),,enableval="no")
522if test ${enableval} = "no"
523then
524 AC_SUBST(ENABLE_PURIFY,[[]])
525else
526 AC_SUBST(ENABLE_PURIFY,[[ENABLE_PURIFY=1]])
527fi
528
529dnl Optimized Option
530AC_ARG_ENABLE(optimized,AC_HELP_STRING([--enable-optimized],[Compile with optimizations enabled (default is NO)]),,enableval=no)
531if test ${enableval} = "no"
532then
533 AC_SUBST(ENABLE_OPTIMIZED,[[]])
534else
535 AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
536fi
537
538dnl Spec Benchmarks
John Criswellabd3f802003-10-07 21:57:39 +0000539AC_ARG_ENABLE(spec2000,AC_HELP_STRING([--enable-spec],[Compile SPEC 2000 benchmarks (default is NO)]),,enableval=no)
John Criswell5ec24d82003-07-22 20:59:52 +0000540if test ${enableval} = "no"
541then
John Criswellabd3f802003-10-07 21:57:39 +0000542 if test -d /home/vadve/shared/benchmarks/speccpu2000/benchspec
543 then
544 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
545 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
546 else
547 AC_SUBST(USE_SPEC,[[]])
548 AC_SUBST(SPEC_ROOT,[])
549 fi
John Criswell5ec24d82003-07-22 20:59:52 +0000550else
John Criswellabd3f802003-10-07 21:57:39 +0000551 if test ${enableval} = ""
552 then
553 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
554 else
555 AC_SUBST(SPEC_ROOT,[${enableval}])
556 fi
John Criswell5ec24d82003-07-22 20:59:52 +0000557 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
558fi
559
560dnl Precompiled Bytecode Option
561AC_ARG_ENABLE(precompiled_bytecode,AC_HELP_STRING([--enable-precompiled_bytecode],[Use pre-compiled bytecode (default is NO)]),,enableval=no)
562if test ${enableval} = "no"
563then
564 AC_SUBST(UPB,[[]])
565else
566 AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]])
567fi
568
569
570dnl LLC Diff Option
571AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes)
572if test ${enableval} = "no"
573then
574 AC_SUBST(DISABLE_LLC_DIFFS,[DISABLE_LLC_DIFFS:=1])
575else
576 AC_SUBST(DISABLE_LLC_DIFFS,[[]])
577fi
578
579dnl JIT Option
John Criswell4f376922003-07-29 19:11:58 +0000580AC_ARG_ENABLE(jit,AC_HELP_STRING([--enable-jit],[Enable Just In Time Compiling (default is YES)]),,enableval=default)
John Criswell5ec24d82003-07-22 20:59:52 +0000581
582if test ${enableval} = "no"
583then
584 AC_SUBST(JIT,[[]])
585else
John Criswell4f376922003-07-29 19:11:58 +0000586 case $target in
587 *i*86*)
588 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
589 ;;
590 *sparc*)
591 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
592 ;;
593 *)
594 AC_SUBST(JIT,[[]])
595 ;;
596 esac
John Criswell5ec24d82003-07-22 20:59:52 +0000597fi
John Criswell7a3334d2003-07-22 19:13:20 +0000598
599dnl **************************************************************************
600dnl * Set the location of various third-party software packages
601dnl **************************************************************************
John Criswell4f376922003-07-29 19:11:58 +0000602
John Criswell4f376922003-07-29 19:11:58 +0000603dnl Location of the LLVM C front end
John Criswell7a3334d2003-07-22 19:13:20 +0000604AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval]))
John Criswell4f376922003-07-29 19:11:58 +0000605
606dnl Location of the bytecode repository
John Criswell7a3334d2003-07-22 19:13:20 +0000607AC_ARG_WITH(bcrepos,AC_HELP_STRING([--with-bcrepos],[Location of Bytecode Repository]),AC_SUBST(BCR,[$withval]),AC_SUBST(BCR,[/home/vadve/lattner/LLVMPrograms]))
John Criswell4f376922003-07-29 19:11:58 +0000608
609dnl Location of PAPI
Chris Lattner00645502003-08-14 18:59:53 +0000610AC_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]))
John Criswell4f376922003-07-29 19:11:58 +0000611
612dnl Location of the purify program
John Criswell7a3334d2003-07-22 19:13:20 +0000613AC_ARG_WITH(purify,AC_HELP_STRING([--with-purify],[Location of purify program]),AC_SUBST(PURIFY,[$withval]))
614
John Criswell4f376922003-07-29 19:11:58 +0000615dnl **************************************************************************
John Criswell6a47a972003-08-25 16:49:54 +0000616dnl * Configure other software packages (via AC_CONFIG_SUBDIRS)
617dnl **************************************************************************
618
619dnl **************************************************************************
John Criswell4f376922003-07-29 19:11:58 +0000620dnl * Create the output files
621dnl **************************************************************************
John Criswell7a3334d2003-07-22 19:13:20 +0000622AC_OUTPUT(Makefile.config)