blob: b28e678cbbd4e262e7b79376f7b0cc1439a6633c [file] [log] [blame]
John Criswell4ea390d2003-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 Criswell93e1c722003-09-15 17:04:06 +000023dnl Quit if the source directory has already been configured.
John Criswell1b824322003-09-15 17:19:42 +000024dnl NOTE: This relies upon undocumented autoconf behavior.
25if test ${srcdir} != "."
John Criswell93e1c722003-09-15 17:04:06 +000026then
John Criswell1b824322003-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 Criswell93e1c722003-09-15 17:04:06 +000031fi
32
John Criswell16301892003-10-16 01:49:07 +000033if test -d ${srcdir}/projects/sample
34then
35 AC_CONFIG_SUBDIRS(projects/sample)
36fi
37
John Criswell12399a12003-09-30 15:55:44 +000038if test -d ${srcdir}/projects/reopt
39then
40 AC_CONFIG_SUBDIRS(projects/reopt)
41fi
42
John Criswell559a6c12003-09-30 16:31:48 +000043if test -d ${srcdir}/projects/poolalloc
44then
45 AC_CONFIG_SUBDIRS(projects/poolalloc)
46fi
47
John Criswell4ea390d2003-07-22 19:13:20 +000048dnl Configure a header file
49AC_CONFIG_HEADERS(include/Config/config.h)
John Criswell2d533082003-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 Criswell2d533082003-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 Lattner5c866e12003-10-06 02:09:25 +000072AC_CONFIG_MAKEFILE(lib/Support/Makefile)
John Criswell2d533082003-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 Lattnerdd2116d2003-09-10 15:13:21 +000088AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libcurses/Makefile)
John Criswell2d533082003-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 Lattnerdd2116d2003-09-10 15:13:21 +000093AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libtermcap/Makefile)
John Criswell2d533082003-09-06 14:46:19 +000094AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libucb/Makefile)
Chris Lattnerdd2116d2003-09-10 15:13:21 +000095AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutempter/Makefile)
96AC_CONFIG_MAKEFILE(runtime/GCCLibraries/libutil/Makefile)
John Criswell2d533082003-09-06 14:46:19 +000097AC_CONFIG_MAKEFILE(runtime/libdummy/Makefile)
98AC_CONFIG_MAKEFILE(runtime/libtrace/Makefile)
Chris Lattner644ccc12003-10-28 19:17:11 +000099AC_CONFIG_MAKEFILE(runtime/libprofile/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000100AC_CONFIG_MAKEFILE(test/Makefile)
101AC_CONFIG_MAKEFILE(test/Makefile.tests)
John Criswellf424d742003-10-07 21:13:47 +0000102AC_CONFIG_MAKEFILE(test/QMTest/llvm.py)
103AC_CONFIG_MAKEFILE(test/QMTest/llvmdb.py)
John Criswell2d533082003-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 Criswell27bb35e2003-09-11 18:04:00 +0000122AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/Makefile.spec)
John Criswell2d533082003-09-06 14:46:19 +0000123AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/Makefile)
John Criswell5ab73462003-10-09 15:44:28 +0000124AC_CONFIG_MAKEFILE(test/Programs/External/SPEC/CFP2000/177.mesa/Makefile)
John Criswell2d533082003-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 Criswell987e49c2003-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 Criswell2d533082003-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 Criswell48e3cb92003-09-12 16:31:43 +0000144AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Makefile)
145AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/Burg/Makefile)
John Criswell39e83892003-09-12 16:36:17 +0000146AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/aha/Makefile)
147AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Applications/sgefa/Makefile)
John Criswell48e3cb92003-09-12 16:31:43 +0000148AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Makefile)
149AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/Fhourstones/Makefile)
Misha Brukman3e910fe2003-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 Brukman960624b2003-11-12 22:16:23 +0000152AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/analyzer/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000153AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000154AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/distray/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000155AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000156AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/fourinarow/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000157AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000158AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/mason/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000159AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000160AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/neural/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000161AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000162AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pcompress2/test.in)
Misha Brukman3e910fe2003-11-12 19:39:10 +0000163AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/Makefile)
Misha Brukman960624b2003-11-12 22:16:23 +0000164AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/FreeBench/pifft/test.in)
John Criswell48e3cb92003-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 Criswell39e83892003-09-12 16:36:17 +0000187AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/OptimizerEval/Makefile)
John Criswell48e3cb92003-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 Criswell48e3cb92003-09-12 16:31:43 +0000194AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/llubenchmark/Makefile)
John Criswell48e3cb92003-09-12 16:31:43 +0000195AC_CONFIG_MAKEFILE(test/Programs/MultiSource/Benchmarks/sim/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000196AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile)
197AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Makefile.singlesrc)
John Criswellffaaf3b2003-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 Criswell2d533082003-09-06 14:46:19 +0000204AC_CONFIG_MAKEFILE(test/Programs/SingleSource/CustomChecked/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000205AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/Makefile)
John Criswell0afe8252003-09-11 20:53:48 +0000206AC_CONFIG_MAKEFILE(test/Programs/SingleSource/UnitTests/SetjmpLongjmp/Makefile)
John Criswell67181ca2003-09-26 14:53:17 +0000207AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/Makefile)
John Criswell68886d42003-09-26 19:51:42 +0000208AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C/Makefile)
209AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/Makefile)
John Criswellc66bbd52003-09-29 21:35:32 +0000210AC_CONFIG_MAKEFILE(test/Programs/SingleSource/Regression/C++/EH/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000211AC_CONFIG_MAKEFILE(tools/Makefile)
212AC_CONFIG_MAKEFILE(tools/analyze/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000213AC_CONFIG_MAKEFILE(tools/bugpoint/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000214AC_CONFIG_MAKEFILE(tools/extract/Makefile)
215AC_CONFIG_MAKEFILE(tools/gccas/Makefile)
216AC_CONFIG_MAKEFILE(tools/gccld/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000217AC_CONFIG_MAKEFILE(tools/llc/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000218AC_CONFIG_MAKEFILE(tools/llee/Makefile)
Misha Brukmanaad65f62003-09-16 15:22:55 +0000219AC_CONFIG_MAKEFILE(tools/lli/Makefile)
Chris Lattnerdcf04902003-09-13 02:35:56 +0000220AC_CONFIG_MAKEFILE(tools/llvm-ar/Makefile)
Misha Brukmanaad65f62003-09-16 15:22:55 +0000221AC_CONFIG_MAKEFILE(tools/llvm-as/Makefile)
John Criswell2d533082003-09-06 14:46:19 +0000222AC_CONFIG_MAKEFILE(tools/llvm-dis/Makefile)
Misha Brukmanaad65f62003-09-16 15:22:55 +0000223AC_CONFIG_MAKEFILE(tools/llvm-link/Makefile)
Misha Brukman4d08d2b2003-10-16 16:12:04 +0000224AC_CONFIG_MAKEFILE(tools/llvm-nm/Makefile)
Chris Lattner644ccc12003-10-28 19:17:11 +0000225AC_CONFIG_MAKEFILE(tools/llvm-prof/Makefile)
Misha Brukmanaad65f62003-09-16 15:22:55 +0000226AC_CONFIG_MAKEFILE(tools/opt/Makefile)
Chris Lattner5c866e12003-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 Criswell2d533082003-09-06 14:46:19 +0000231AC_CONFIG_MAKEFILE(projects/Makefile)
John Criswell2d533082003-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 Criswell4ea390d2003-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])
Brian Gaeke908647f2003-11-16 18:37:46 +0000254 if test -d /home/vadve/lattner/local/x86/llvm-gcc
255 then
256 AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/x86/llvm-gcc/])
257 fi
John Criswell4ea390d2003-07-22 19:13:20 +0000258 ;;
259
260 *sparc*) AC_SUBST(OS,[SunOS])
Brian Gaeke908647f2003-11-16 18:37:46 +0000261 if test -d /home/vadve/lattner/local/sparc/llvm-gcc
262 then
263 AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/sparc/llvm-gcc/])
264 fi
John Criswell4ea390d2003-07-22 19:13:20 +0000265 ;;
266
267 *) AC_SUBST(OS,[Unknown])
268 ;;
269esac
270
271dnl
272dnl If we are targetting a Sparc machine running Solaris, pretend that it is
273dnl V9, since that is all that we support at the moment, and autoconf will only
274dnl tell us we're a sparc.
275dnl
276case $target in
277 *sparc*solaris*) AC_SUBST(target,[[sparcv9-sun-solaris2.8]])
278 ;;
279esac
280
281dnl
282dnl Determine what our target architecture is and configure accordingly.
283dnl This will allow Makefiles to make a distinction between the hardware and
284dnl the OS.
285dnl
286case $target in
287 *i*86*) AC_SUBST(ARCH,[x86])
288 ;;
289 *sparc*solaris*) AC_SUBST(ARCH,[Sparc])
290 ;;
291esac
292
293dnl **************************************************************************
294dnl * Check for programs.
295dnl **************************************************************************
296
297dnl Check for compilation tools
298AC_PROG_CXX
299AC_PROG_CC(gcc)
300AC_PROG_CPP
301
302dnl Ensure that compilation tools are GCC; we use GCC specific extensions
303if test "$GCC" != "yes"
304then
305 AC_MSG_ERROR([gcc required but not found])
306fi
307
308if test "$GXX" != "yes"
309then
310 AC_MSG_ERROR([g++ required but not found])
311fi
312
John Criswellde00db22003-08-25 16:49:54 +0000313dnl Verify that GCC is version 3.0 or higher
314gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1`
315if test "$gccmajor" -lt "3"
316then
317 AC_MSG_ERROR([gcc 3.x required])
318fi
319
John Criswell4ea390d2003-07-22 19:13:20 +0000320dnl Check for GNU Make. We use its extensions to, so don't build without it
321CHECK_GNU_MAKE
322if test -z "$_cv_gnu_make_command"
323then
324 AC_MSG_ERROR([GNU Make required but not found])
325fi
326
327dnl Check for compiler-compiler tools (reminds me of Little Caesar's Pizza)
328AC_PROG_FLEX
329AC_PROG_BISON
330
331dnl Check for libtool
332AC_PROG_LIBTOOL
333
334dnl Check for our special programs
John Criswell39827c82003-09-23 15:28:52 +0000335AC_PATH_PROG(RPWD,[pwd],[false])
336if test ${RPWD} = "false"
337then
338 AC_MSG_ERROR([pwd required but not found])
339fi
340
341AC_PATH_PROG(AR,[ar],[false])
342if test ${AR} = "false"
343then
344 AC_MSG_ERROR([ar required but not found])
345fi
346
347AC_PATH_PROG(SED,[sed],[false])
348if test ${SED} = "false"
349then
350 AC_MSG_ERROR([sed required but not found])
351fi
352
353AC_PATH_PROG(RM,[rm],[false])
354if test ${RM} = "false"
355then
356 AC_MSG_ERROR([rm required but not found])
357fi
358
359AC_PATH_PROG(ECHO,[echo],[false])
360if test ${ECHO} = "false"
361then
362 AC_MSG_ERROR([echo required but not found])
363fi
364
365AC_PATH_PROG(MKDIR,[mkdir],[false])
366if test ${MKDIR} = "false"
367then
368 AC_MSG_ERROR([mkdir required but not found])
369fi
370
371AC_PATH_PROG(DATE,[date],[false])
372if test ${DATE} = "false"
373then
374 AC_MSG_ERROR([date required but not found])
375fi
376
377AC_PATH_PROG(MV,[mv],[false])
378if test ${MV} = "false"
379then
380 AC_MSG_ERROR([mv required but not found])
381fi
382
383AC_PATH_PROG(DOT,[dot],[false])
384
385AC_PATH_PROG(ETAGS,[etags],[false])
386
John Criswell39827c82003-09-23 15:28:52 +0000387AC_PATH_PROG(PYTHON,[python],[false])
388if test ${PYTHON} = "false"
389then
John Criswell61095982003-09-23 20:46:32 +0000390 AC_MSG_WARN([python required but not found])
John Criswell39827c82003-09-23 15:28:52 +0000391fi
392
393AC_PATH_PROG(QMTEST,[qmtest],[false])
394if test ${QMTEST} = "false"
395then
John Criswell61095982003-09-23 20:46:32 +0000396 AC_MSG_WARN([qmtest required but not found])
John Criswell39827c82003-09-23 15:28:52 +0000397fi
John Criswellde00db22003-08-25 16:49:54 +0000398
399dnl Verify that the version of python available is high enough for qmtest
400pyversion=`$PYTHON -V 2>&1 | cut -d\ -f2`
401pymajor=`echo $pyversion | cut -d. -f1`
402pyminor=`echo $pyversion | cut -d. -f2`
403
404if test "$pymajor" -ge "2"
405then
406 if test "$pymajor" -eq "2"
407 then
408 if test "$pyminor" -lt "2"
409 then
Brian Gaeke908647f2003-11-16 18:37:46 +0000410 AC_MSG_WARN([Python 2.2 or greater required for qmtest])
John Criswellde00db22003-08-25 16:49:54 +0000411 fi
412 fi
413else
Brian Gaeke908647f2003-11-16 18:37:46 +0000414 AC_MSG_WARN([Python 2.2 or greater required for qmtest])
John Criswellde00db22003-08-25 16:49:54 +0000415fi
John Criswell4ea390d2003-07-22 19:13:20 +0000416
417dnl Verify that the source directory is valid
418AC_CONFIG_SRCDIR(["Makefile.config.in"])
419
420dnl **************************************************************************
421dnl * Check for libraries.
422dnl **************************************************************************
423
424dnl libelf is for sparc only; we can ignore it if we don't have it
425AC_CHECK_LIB(elf, elf_begin)
426
Brian Gaeke4c423782003-10-07 05:03:36 +0000427dnl dlopen() is required for plugin support.
Brian Gaekea25d7ca2003-10-08 21:44:07 +0000428AC_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 Criswell4ea390d2003-07-22 19:13:20 +0000429
430dnl mallinfo is optional; the code can compile (minus features) without it
Brian Gaekea25d7ca2003-10-08 21:44:07 +0000431AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],[Define if mallinfo() is available on this platform.]))
John Criswell4ea390d2003-07-22 19:13:20 +0000432
433dnl
434dnl The math libraries are used by the test code, but not by the actual LLVM
435dnl code.
436dnl
437dnl AC_CHECK_LIB(m, cos)
438
439dnl **************************************************************************
440dnl * Checks for header files.
441dnl * Chances are, if the standard C or POSIX type header files are missing,
442dnl * then LLVM just isn't going to compile. However, it is possible that
443dnl * the necessary functions/macros will be included from other
444dnl * (non-standard and non-obvious) header files.
445dnl *
446dnl * So, we'll be gracious, give it a chance, and try to go on without
447dnl * them.
448dnl **************************************************************************
449AC_HEADER_STDC
450AC_HEADER_SYS_WAIT
451
452dnl Check for ANSI C/POSIX header files
453AC_CHECK_HEADERS(assert.h fcntl.h limits.h sys/time.h unistd.h errno.h signal.h math.h)
454
455dnl Check for system specific header files
Brian Gaekea493aa32003-10-22 17:52:56 +0000456AC_CHECK_HEADERS(malloc.h sys/mman.h sys/resource.h)
John Criswell4ea390d2003-07-22 19:13:20 +0000457
458dnl Check for header files associated with dlopen and friends
459AC_CHECK_HEADERS(dlfcn.h link.h)
460
461dnl **************************************************************************
462dnl * Checks for typedefs, structures, and compiler characteristics.
463dnl **************************************************************************
464
465dnl Check for const and inline keywords
466AC_C_CONST
467AC_C_INLINE
468
469dnl Check for machine endian-ness
Brian Gaekea25d7ca2003-10-08 21:44:07 +0000470AC_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 Criswell4ea390d2003-07-22 19:13:20 +0000471
472dnl Check for types
473AC_TYPE_PID_T
474AC_TYPE_SIZE_T
475AC_CHECK_TYPES([int64_t],,AC_MSG_ERROR([Type int64_t required but not found]))
476AC_CHECK_TYPES([uint64_t],,AC_MSG_ERROR([Type uint64_t required but not found]))
477AC_HEADER_TIME
478AC_STRUCT_TM
479
John Criswella0137d32003-10-13 16:22:01 +0000480dnl Check for various C features
481AC_C_PRINTF_A
482
John Criswell4ea390d2003-07-22 19:13:20 +0000483dnl Check for C++ extensions
Brian Gaeke278a4ac2003-11-10 03:06:09 +0000484AC_CXX_HAVE_HASH_MAP
485AC_CXX_HAVE_HASH_SET
John Criswell4ea390d2003-07-22 19:13:20 +0000486AC_CXX_HAVE_EXT_SLIST
487AC_CXX_HAVE_STD_ITERATOR
488AC_CXX_HAVE_BI_ITERATOR
489AC_CXX_HAVE_FWD_ITERATOR
490
491dnl **************************************************************************
492dnl * Checks for library functions.
493dnl **************************************************************************
494AC_FUNC_ALLOCA
495AC_PROG_GCC_TRADITIONAL
496AC_FUNC_MEMCMP
497AC_FUNC_MMAP
498AC_FUNC_MMAP_FILE
499if test ${ac_cv_func_mmap_file} = "no"
500then
501 AC_MSG_ERROR([mmap() of files required but not found])
502fi
503AC_HEADER_MMAP_ANONYMOUS
504AC_TYPE_SIGNAL
Brian Gaeke16edea02003-10-10 17:04:43 +0000505AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol strtoq strtoll)
John Criswell4ea390d2003-07-22 19:13:20 +0000506
507dnl
508dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
509dnl MAP_FIXED is only needed for Sparc
510dnl MAP_ANON is used for Sparc and BSD
511dnl Everyone should have MAP_PRIVATE
512dnl
513
514dnl Check for certain functions (even if we've already found them) so that we
515dnl can quit with an error if they are unavailable.
516dnl
517dnl As the code is made more portable (i.e. less reliant on these functions,
518dnl these checks should go away.
519AC_CHECK_FUNC(mmap,,AC_MSG_ERROR([Function mmap() required but not found]))
520AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
521
522dnl **************************************************************************
523dnl * Enable various compile-time options
524dnl **************************************************************************
John Criswell79a8f092003-07-22 20:59:52 +0000525
526dnl Purify Option
527AC_ARG_ENABLE(purify,AC_HELP_STRING([--enable-purify],[Compile with purify (default is NO)]),,enableval="no")
528if test ${enableval} = "no"
529then
530 AC_SUBST(ENABLE_PURIFY,[[]])
531else
532 AC_SUBST(ENABLE_PURIFY,[[ENABLE_PURIFY=1]])
533fi
534
535dnl Optimized Option
536AC_ARG_ENABLE(optimized,AC_HELP_STRING([--enable-optimized],[Compile with optimizations enabled (default is NO)]),,enableval=no)
537if test ${enableval} = "no"
538then
539 AC_SUBST(ENABLE_OPTIMIZED,[[]])
540else
541 AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
542fi
543
544dnl Spec Benchmarks
John Criswell55126592003-10-07 21:57:39 +0000545AC_ARG_ENABLE(spec2000,AC_HELP_STRING([--enable-spec],[Compile SPEC 2000 benchmarks (default is NO)]),,enableval=no)
John Criswell79a8f092003-07-22 20:59:52 +0000546if test ${enableval} = "no"
547then
John Criswell55126592003-10-07 21:57:39 +0000548 if test -d /home/vadve/shared/benchmarks/speccpu2000/benchspec
549 then
550 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
551 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
552 else
553 AC_SUBST(USE_SPEC,[[]])
554 AC_SUBST(SPEC_ROOT,[])
555 fi
John Criswell79a8f092003-07-22 20:59:52 +0000556else
John Criswell55126592003-10-07 21:57:39 +0000557 if test ${enableval} = ""
558 then
559 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
560 else
561 AC_SUBST(SPEC_ROOT,[${enableval}])
562 fi
John Criswell79a8f092003-07-22 20:59:52 +0000563 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
564fi
565
566dnl Precompiled Bytecode Option
567AC_ARG_ENABLE(precompiled_bytecode,AC_HELP_STRING([--enable-precompiled_bytecode],[Use pre-compiled bytecode (default is NO)]),,enableval=no)
568if test ${enableval} = "no"
569then
570 AC_SUBST(UPB,[[]])
571else
572 AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]])
573fi
574
575
576dnl LLC Diff Option
577AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes)
578if test ${enableval} = "no"
579then
580 AC_SUBST(DISABLE_LLC_DIFFS,[DISABLE_LLC_DIFFS:=1])
581else
582 AC_SUBST(DISABLE_LLC_DIFFS,[[]])
583fi
584
585dnl JIT Option
John Criswellc78022e2003-07-29 19:11:58 +0000586AC_ARG_ENABLE(jit,AC_HELP_STRING([--enable-jit],[Enable Just In Time Compiling (default is YES)]),,enableval=default)
John Criswell79a8f092003-07-22 20:59:52 +0000587
588if test ${enableval} = "no"
589then
590 AC_SUBST(JIT,[[]])
591else
John Criswellc78022e2003-07-29 19:11:58 +0000592 case $target in
593 *i*86*)
594 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
595 ;;
596 *sparc*)
597 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
598 ;;
599 *)
600 AC_SUBST(JIT,[[]])
601 ;;
602 esac
John Criswell79a8f092003-07-22 20:59:52 +0000603fi
John Criswell4ea390d2003-07-22 19:13:20 +0000604
605dnl **************************************************************************
606dnl * Set the location of various third-party software packages
607dnl **************************************************************************
John Criswellc78022e2003-07-29 19:11:58 +0000608
John Criswellc78022e2003-07-29 19:11:58 +0000609dnl Location of the LLVM C front end
John Criswell4ea390d2003-07-22 19:13:20 +0000610AC_ARG_WITH(llvmgccdir,AC_HELP_STRING([--with-llvmgccdir],[Location of LLVM GCC front-end]),AC_SUBST(LLVMGCCDIR,[$withval]))
John Criswellc78022e2003-07-29 19:11:58 +0000611
Brian Gaeke908647f2003-11-16 18:37:46 +0000612AC_MSG_CHECKING([for llvm-gcc])
613LLVM_GCC_CHECK=no
614if test -d "$LLVMGCCDIR"
615then
616 if test -x "$LLVMGCCDIR/bin/gcc"
617 then
618 LLVM_GCC_CHECK="$LLVMGCCDIR/bin/gcc"
619 fi
620fi
621llvmgccwarn=no
622AC_MSG_RESULT($LLVM_GCC_CHECK)
623if test "$LLVM_GCC_CHECK" = "no"
624then
625 llvmgccwarn=yes
626fi
627
628AC_MSG_CHECKING([whether llvm-gcc is sane])
629LLVM_GCC_SANE=no
630if test -x "$LLVM_GCC_CHECK"
631then
632 cp /dev/null conftest.c
633 "$LLVM_GCC_CHECK" -S -o - conftest.c | grep implementation > /dev/null 2>&1
634 if test $? -eq 0
635 then
636 LLVM_GCC_SANE=yes
637 fi
638 rm conftest.c
639fi
640AC_MSG_RESULT($LLVM_GCC_SANE)
641if test "$LLVM_GCC_SANE" = "no"
642then
643 llvmgccwarn=yes
644fi
645
John Criswellc78022e2003-07-29 19:11:58 +0000646dnl Location of the bytecode repository
John Criswell4ea390d2003-07-22 19:13:20 +0000647AC_ARG_WITH(bcrepos,AC_HELP_STRING([--with-bcrepos],[Location of Bytecode Repository]),AC_SUBST(BCR,[$withval]),AC_SUBST(BCR,[/home/vadve/lattner/LLVMPrograms]))
John Criswellc78022e2003-07-29 19:11:58 +0000648
649dnl Location of PAPI
Chris Lattner1b9ddd52003-08-14 18:59:53 +0000650AC_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 Criswellc78022e2003-07-29 19:11:58 +0000651
652dnl Location of the purify program
John Criswell4ea390d2003-07-22 19:13:20 +0000653AC_ARG_WITH(purify,AC_HELP_STRING([--with-purify],[Location of purify program]),AC_SUBST(PURIFY,[$withval]))
654
John Criswellc78022e2003-07-29 19:11:58 +0000655dnl **************************************************************************
John Criswellde00db22003-08-25 16:49:54 +0000656dnl * Configure other software packages (via AC_CONFIG_SUBDIRS)
657dnl **************************************************************************
658
659dnl **************************************************************************
John Criswellc78022e2003-07-29 19:11:58 +0000660dnl * Create the output files
661dnl **************************************************************************
John Criswell4ea390d2003-07-22 19:13:20 +0000662AC_OUTPUT(Makefile.config)
Brian Gaeke908647f2003-11-16 18:37:46 +0000663
664if test $llvmgccwarn = yes
665then
666 AC_MSG_WARN([***** llvm C/C++ front end was not found, or does not])
667 AC_MSG_WARN([***** appear to be working.])
668 AC_MSG_WARN([***** ])
669 AC_MSG_WARN([***** Please check configure's --with-llvmgccdir option.])
670 AC_MSG_WARN([***** Runtime libraries (in llvm/runtime) will not be built,])
671 AC_MSG_WARN([***** but you should be able to build the llvm tools.])
672fi