blob: 06d06b9525bb5e1184c2133525d006e03a5beb33 [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
Brian Gaeke7027ed82003-11-17 00:30:48 +0000248dnl Set the "OS" Makefile variable based on the system we are building on.
John Criswell7a3334d2003-07-22 19:13:20 +0000249dnl We will use the build machine information to set some variables.
John Criswell7a3334d2003-07-22 19:13:20 +0000250case $build in
Brian Gaeke7027ed82003-11-17 00:30:48 +0000251 *-*-linux*)
252 AC_SUBST(OS,[Linux])
Brian Gaekedfbd3d42003-11-16 18:37:46 +0000253 if test -d /home/vadve/lattner/local/x86/llvm-gcc
254 then
255 AC_SUBST(LLVMGCCDIR,[/home/vadve/lattner/local/x86/llvm-gcc/])
256 fi
John Criswell7a3334d2003-07-22 19:13:20 +0000257 ;;
258
Brian Gaeke7027ed82003-11-17 00:30:48 +0000259 *-*-solaris*)
260 AC_SUBST(OS,[SunOS])
Brian Gaekedfbd3d42003-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 Criswell7a3334d2003-07-22 19:13:20 +0000265 ;;
266
Brian Gaeke7027ed82003-11-17 00:30:48 +0000267 *-*-darwin*)
268 AC_SUBST(OS,[Darwin])
269 ;;
270
John Criswell7a3334d2003-07-22 19:13:20 +0000271 *) AC_SUBST(OS,[Unknown])
272 ;;
273esac
274
John Criswell7a3334d2003-07-22 19:13:20 +0000275dnl If we are targetting a Sparc machine running Solaris, pretend that it is
276dnl V9, since that is all that we support at the moment, and autoconf will only
277dnl tell us we're a sparc.
John Criswell7a3334d2003-07-22 19:13:20 +0000278case $target in
Brian Gaeke7027ed82003-11-17 00:30:48 +0000279 sparc*-*-solaris*) AC_SUBST(target,[[sparcv9-sun-solaris2.8]])
280 ;;
John Criswell7a3334d2003-07-22 19:13:20 +0000281esac
282
John Criswell7a3334d2003-07-22 19:13:20 +0000283dnl Determine what our target architecture is and configure accordingly.
284dnl This will allow Makefiles to make a distinction between the hardware and
285dnl the OS.
John Criswell7a3334d2003-07-22 19:13:20 +0000286case $target in
Brian Gaeke7027ed82003-11-17 00:30:48 +0000287 i*86-*) AC_SUBST(ARCH,[x86])
John Criswell7a3334d2003-07-22 19:13:20 +0000288 ;;
Brian Gaeke7027ed82003-11-17 00:30:48 +0000289 sparc*-*) AC_SUBST(ARCH,[Sparc])
290 ;;
291 powerpc*-*) AC_SUBST(ARCH,[PowerPC])
292 ;;
293 *) AC_SUBST(ARCH,[Unknown])
John Criswell7a3334d2003-07-22 19:13:20 +0000294 ;;
295esac
296
297dnl **************************************************************************
298dnl * Check for programs.
299dnl **************************************************************************
300
301dnl Check for compilation tools
302AC_PROG_CXX
303AC_PROG_CC(gcc)
304AC_PROG_CPP
305
306dnl Ensure that compilation tools are GCC; we use GCC specific extensions
307if test "$GCC" != "yes"
308then
309 AC_MSG_ERROR([gcc required but not found])
310fi
311
312if test "$GXX" != "yes"
313then
314 AC_MSG_ERROR([g++ required but not found])
315fi
316
John Criswell6a47a972003-08-25 16:49:54 +0000317dnl Verify that GCC is version 3.0 or higher
318gccmajor=`$CC --version | head -n 1 | awk '{print $NF;}' | cut -d. -f1`
319if test "$gccmajor" -lt "3"
320then
321 AC_MSG_ERROR([gcc 3.x required])
322fi
323
John Criswell7a3334d2003-07-22 19:13:20 +0000324dnl Check for GNU Make. We use its extensions to, so don't build without it
325CHECK_GNU_MAKE
326if test -z "$_cv_gnu_make_command"
327then
328 AC_MSG_ERROR([GNU Make required but not found])
329fi
330
331dnl Check for compiler-compiler tools (reminds me of Little Caesar's Pizza)
332AC_PROG_FLEX
333AC_PROG_BISON
334
335dnl Check for libtool
336AC_PROG_LIBTOOL
337
338dnl Check for our special programs
John Criswell31494482003-09-23 15:28:52 +0000339AC_PATH_PROG(RPWD,[pwd],[false])
340if test ${RPWD} = "false"
341then
342 AC_MSG_ERROR([pwd required but not found])
343fi
344
345AC_PATH_PROG(AR,[ar],[false])
346if test ${AR} = "false"
347then
348 AC_MSG_ERROR([ar required but not found])
349fi
350
351AC_PATH_PROG(SED,[sed],[false])
352if test ${SED} = "false"
353then
354 AC_MSG_ERROR([sed required but not found])
355fi
356
357AC_PATH_PROG(RM,[rm],[false])
358if test ${RM} = "false"
359then
360 AC_MSG_ERROR([rm required but not found])
361fi
362
363AC_PATH_PROG(ECHO,[echo],[false])
364if test ${ECHO} = "false"
365then
366 AC_MSG_ERROR([echo required but not found])
367fi
368
369AC_PATH_PROG(MKDIR,[mkdir],[false])
370if test ${MKDIR} = "false"
371then
372 AC_MSG_ERROR([mkdir required but not found])
373fi
374
375AC_PATH_PROG(DATE,[date],[false])
376if test ${DATE} = "false"
377then
378 AC_MSG_ERROR([date required but not found])
379fi
380
381AC_PATH_PROG(MV,[mv],[false])
382if test ${MV} = "false"
383then
384 AC_MSG_ERROR([mv required but not found])
385fi
386
387AC_PATH_PROG(DOT,[dot],[false])
388
389AC_PATH_PROG(ETAGS,[etags],[false])
390
John Criswell31494482003-09-23 15:28:52 +0000391AC_PATH_PROG(PYTHON,[python],[false])
392if test ${PYTHON} = "false"
393then
John Criswell8d5d13d2003-09-23 20:46:32 +0000394 AC_MSG_WARN([python required but not found])
John Criswell31494482003-09-23 15:28:52 +0000395fi
396
397AC_PATH_PROG(QMTEST,[qmtest],[false])
398if test ${QMTEST} = "false"
399then
John Criswell8d5d13d2003-09-23 20:46:32 +0000400 AC_MSG_WARN([qmtest required but not found])
John Criswell31494482003-09-23 15:28:52 +0000401fi
John Criswell6a47a972003-08-25 16:49:54 +0000402
403dnl Verify that the version of python available is high enough for qmtest
404pyversion=`$PYTHON -V 2>&1 | cut -d\ -f2`
405pymajor=`echo $pyversion | cut -d. -f1`
406pyminor=`echo $pyversion | cut -d. -f2`
407
408if test "$pymajor" -ge "2"
409then
410 if test "$pymajor" -eq "2"
411 then
412 if test "$pyminor" -lt "2"
413 then
Brian Gaekedfbd3d42003-11-16 18:37:46 +0000414 AC_MSG_WARN([Python 2.2 or greater required for qmtest])
John Criswell6a47a972003-08-25 16:49:54 +0000415 fi
416 fi
417else
Brian Gaekedfbd3d42003-11-16 18:37:46 +0000418 AC_MSG_WARN([Python 2.2 or greater required for qmtest])
John Criswell6a47a972003-08-25 16:49:54 +0000419fi
John Criswell7a3334d2003-07-22 19:13:20 +0000420
421dnl Verify that the source directory is valid
422AC_CONFIG_SRCDIR(["Makefile.config.in"])
423
424dnl **************************************************************************
425dnl * Check for libraries.
426dnl **************************************************************************
427
428dnl libelf is for sparc only; we can ignore it if we don't have it
429AC_CHECK_LIB(elf, elf_begin)
430
Brian Gaeke25f2a372003-10-07 05:03:36 +0000431dnl dlopen() is required for plugin support.
Brian Gaeked7a702d2003-10-08 21:44:07 +0000432AC_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 +0000433
434dnl mallinfo is optional; the code can compile (minus features) without it
Brian Gaeked7a702d2003-10-08 21:44:07 +0000435AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],[Define if mallinfo() is available on this platform.]))
John Criswell7a3334d2003-07-22 19:13:20 +0000436
437dnl
438dnl The math libraries are used by the test code, but not by the actual LLVM
439dnl code.
440dnl
441dnl AC_CHECK_LIB(m, cos)
442
443dnl **************************************************************************
444dnl * Checks for header files.
445dnl * Chances are, if the standard C or POSIX type header files are missing,
446dnl * then LLVM just isn't going to compile. However, it is possible that
447dnl * the necessary functions/macros will be included from other
448dnl * (non-standard and non-obvious) header files.
449dnl *
450dnl * So, we'll be gracious, give it a chance, and try to go on without
451dnl * them.
452dnl **************************************************************************
453AC_HEADER_STDC
454AC_HEADER_SYS_WAIT
455
456dnl Check for ANSI C/POSIX header files
457AC_CHECK_HEADERS(assert.h fcntl.h limits.h sys/time.h unistd.h errno.h signal.h math.h)
458
459dnl Check for system specific header files
Brian Gaeke663fba32003-10-22 17:52:56 +0000460AC_CHECK_HEADERS(malloc.h sys/mman.h sys/resource.h)
John Criswell7a3334d2003-07-22 19:13:20 +0000461
462dnl Check for header files associated with dlopen and friends
463AC_CHECK_HEADERS(dlfcn.h link.h)
464
465dnl **************************************************************************
466dnl * Checks for typedefs, structures, and compiler characteristics.
467dnl **************************************************************************
468
469dnl Check for const and inline keywords
470AC_C_CONST
471AC_C_INLINE
472
473dnl Check for machine endian-ness
Brian Gaeked7a702d2003-10-08 21:44:07 +0000474AC_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 +0000475
476dnl Check for types
477AC_TYPE_PID_T
478AC_TYPE_SIZE_T
479AC_CHECK_TYPES([int64_t],,AC_MSG_ERROR([Type int64_t required but not found]))
480AC_CHECK_TYPES([uint64_t],,AC_MSG_ERROR([Type uint64_t required but not found]))
481AC_HEADER_TIME
482AC_STRUCT_TM
483
John Criswell42859552003-10-13 16:22:01 +0000484dnl Check for various C features
485AC_C_PRINTF_A
486
John Criswell7a3334d2003-07-22 19:13:20 +0000487dnl Check for C++ extensions
Brian Gaekeb6218572003-11-10 03:06:09 +0000488AC_CXX_HAVE_HASH_MAP
489AC_CXX_HAVE_HASH_SET
John Criswell7a3334d2003-07-22 19:13:20 +0000490AC_CXX_HAVE_EXT_SLIST
491AC_CXX_HAVE_STD_ITERATOR
492AC_CXX_HAVE_BI_ITERATOR
493AC_CXX_HAVE_FWD_ITERATOR
494
495dnl **************************************************************************
496dnl * Checks for library functions.
497dnl **************************************************************************
498AC_FUNC_ALLOCA
499AC_PROG_GCC_TRADITIONAL
500AC_FUNC_MEMCMP
501AC_FUNC_MMAP
502AC_FUNC_MMAP_FILE
503if test ${ac_cv_func_mmap_file} = "no"
504then
505 AC_MSG_ERROR([mmap() of files required but not found])
506fi
507AC_HEADER_MMAP_ANONYMOUS
508AC_TYPE_SIGNAL
Brian Gaekedb363a02003-10-10 17:04:43 +0000509AC_CHECK_FUNCS(getcwd gettimeofday strcspn strdup strerror strspn strstr strtod strtol strtoq strtoll)
John Criswell7a3334d2003-07-22 19:13:20 +0000510
511dnl
512dnl Need to check mmap for MAP_PRIVATE, MAP_ANONYMOUS, MAP_ANON, MAP_FIXED
513dnl MAP_FIXED is only needed for Sparc
514dnl MAP_ANON is used for Sparc and BSD
515dnl Everyone should have MAP_PRIVATE
516dnl
517
518dnl Check for certain functions (even if we've already found them) so that we
519dnl can quit with an error if they are unavailable.
520dnl
521dnl As the code is made more portable (i.e. less reliant on these functions,
522dnl these checks should go away.
523AC_CHECK_FUNC(mmap,,AC_MSG_ERROR([Function mmap() required but not found]))
524AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
525
526dnl **************************************************************************
527dnl * Enable various compile-time options
528dnl **************************************************************************
John Criswell5ec24d82003-07-22 20:59:52 +0000529
530dnl Purify Option
531AC_ARG_ENABLE(purify,AC_HELP_STRING([--enable-purify],[Compile with purify (default is NO)]),,enableval="no")
532if test ${enableval} = "no"
533then
534 AC_SUBST(ENABLE_PURIFY,[[]])
535else
536 AC_SUBST(ENABLE_PURIFY,[[ENABLE_PURIFY=1]])
537fi
538
539dnl Optimized Option
540AC_ARG_ENABLE(optimized,AC_HELP_STRING([--enable-optimized],[Compile with optimizations enabled (default is NO)]),,enableval=no)
541if test ${enableval} = "no"
542then
543 AC_SUBST(ENABLE_OPTIMIZED,[[]])
544else
545 AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
546fi
547
548dnl Spec Benchmarks
John Criswellabd3f802003-10-07 21:57:39 +0000549AC_ARG_ENABLE(spec2000,AC_HELP_STRING([--enable-spec],[Compile SPEC 2000 benchmarks (default is NO)]),,enableval=no)
John Criswell5ec24d82003-07-22 20:59:52 +0000550if test ${enableval} = "no"
551then
John Criswellabd3f802003-10-07 21:57:39 +0000552 if test -d /home/vadve/shared/benchmarks/speccpu2000/benchspec
553 then
554 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
555 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
556 else
557 AC_SUBST(USE_SPEC,[[]])
558 AC_SUBST(SPEC_ROOT,[])
559 fi
John Criswell5ec24d82003-07-22 20:59:52 +0000560else
John Criswellabd3f802003-10-07 21:57:39 +0000561 if test ${enableval} = ""
562 then
563 AC_SUBST(SPEC_ROOT,[/home/vadve/shared/benchmarks/speccpu2000/benchspec])
564 else
565 AC_SUBST(SPEC_ROOT,[${enableval}])
566 fi
John Criswell5ec24d82003-07-22 20:59:52 +0000567 AC_SUBST(USE_SPEC,[[USE_SPEC=1]])
568fi
569
570dnl Precompiled Bytecode Option
571AC_ARG_ENABLE(precompiled_bytecode,AC_HELP_STRING([--enable-precompiled_bytecode],[Use pre-compiled bytecode (default is NO)]),,enableval=no)
572if test ${enableval} = "no"
573then
574 AC_SUBST(UPB,[[]])
575else
576 AC_SUBST(UPB,[[USE_PRECOMPILED_BYTECODE=1]])
577fi
578
579
580dnl LLC Diff Option
581AC_ARG_ENABLE(llc_diffs,AC_HELP_STRING([--enable-llc_diffs],[Enable LLC Diffs when testing (default is YES)]),,enableval=yes)
582if test ${enableval} = "no"
583then
584 AC_SUBST(DISABLE_LLC_DIFFS,[DISABLE_LLC_DIFFS:=1])
585else
586 AC_SUBST(DISABLE_LLC_DIFFS,[[]])
587fi
588
589dnl JIT Option
John Criswell4f376922003-07-29 19:11:58 +0000590AC_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 +0000591
592if test ${enableval} = "no"
593then
594 AC_SUBST(JIT,[[]])
595else
John Criswell4f376922003-07-29 19:11:58 +0000596 case $target in
597 *i*86*)
598 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
599 ;;
600 *sparc*)
601 AC_SUBST(JIT,[[TARGET_HAS_JIT=1]])
602 ;;
603 *)
604 AC_SUBST(JIT,[[]])
605 ;;
606 esac
John Criswell5ec24d82003-07-22 20:59:52 +0000607fi
John Criswell7a3334d2003-07-22 19:13:20 +0000608
609dnl **************************************************************************
610dnl * Set the location of various third-party software packages
611dnl **************************************************************************
John Criswell4f376922003-07-29 19:11:58 +0000612
John Criswell4f376922003-07-29 19:11:58 +0000613dnl Location of the LLVM C front end
John Criswell7a3334d2003-07-22 19:13:20 +0000614AC_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 +0000615
Brian Gaekedfbd3d42003-11-16 18:37:46 +0000616AC_MSG_CHECKING([for llvm-gcc])
617LLVM_GCC_CHECK=no
618if test -d "$LLVMGCCDIR"
619then
620 if test -x "$LLVMGCCDIR/bin/gcc"
621 then
622 LLVM_GCC_CHECK="$LLVMGCCDIR/bin/gcc"
623 fi
624fi
625llvmgccwarn=no
626AC_MSG_RESULT($LLVM_GCC_CHECK)
627if test "$LLVM_GCC_CHECK" = "no"
628then
629 llvmgccwarn=yes
630fi
631
632AC_MSG_CHECKING([whether llvm-gcc is sane])
633LLVM_GCC_SANE=no
634if test -x "$LLVM_GCC_CHECK"
635then
636 cp /dev/null conftest.c
637 "$LLVM_GCC_CHECK" -S -o - conftest.c | grep implementation > /dev/null 2>&1
638 if test $? -eq 0
639 then
640 LLVM_GCC_SANE=yes
641 fi
642 rm conftest.c
643fi
644AC_MSG_RESULT($LLVM_GCC_SANE)
645if test "$LLVM_GCC_SANE" = "no"
646then
647 llvmgccwarn=yes
648fi
649
John Criswell4f376922003-07-29 19:11:58 +0000650dnl Location of the bytecode repository
John Criswell7a3334d2003-07-22 19:13:20 +0000651AC_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 +0000652
653dnl Location of PAPI
Chris Lattner00645502003-08-14 18:59:53 +0000654AC_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 +0000655
656dnl Location of the purify program
John Criswell7a3334d2003-07-22 19:13:20 +0000657AC_ARG_WITH(purify,AC_HELP_STRING([--with-purify],[Location of purify program]),AC_SUBST(PURIFY,[$withval]))
658
John Criswell4f376922003-07-29 19:11:58 +0000659dnl **************************************************************************
John Criswell6a47a972003-08-25 16:49:54 +0000660dnl * Configure other software packages (via AC_CONFIG_SUBDIRS)
661dnl **************************************************************************
662
663dnl **************************************************************************
John Criswell4f376922003-07-29 19:11:58 +0000664dnl * Create the output files
665dnl **************************************************************************
John Criswell7a3334d2003-07-22 19:13:20 +0000666AC_OUTPUT(Makefile.config)
Brian Gaekedfbd3d42003-11-16 18:37:46 +0000667
668if test $llvmgccwarn = yes
669then
670 AC_MSG_WARN([***** llvm C/C++ front end was not found, or does not])
671 AC_MSG_WARN([***** appear to be working.])
672 AC_MSG_WARN([***** ])
673 AC_MSG_WARN([***** Please check configure's --with-llvmgccdir option.])
674 AC_MSG_WARN([***** Runtime libraries (in llvm/runtime) will not be built,])
675 AC_MSG_WARN([***** but you should be able to build the llvm tools.])
676fi