blob: fcb1746e75cd95661c627efde40471bcb3cdf29e [file] [log] [blame]
John Criswell7a73b802003-06-30 21:59:07 +00001#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
2#
3# This file is included by Makefile.common. It defines paths and other
4# values specific to a particular installation of LLVM.
5#===-----------------------------------------------------------------------====
6
7#
8# Target operating system for which LLVM will be compiled.
9#
10OS=@OS@
11
John Criswell76595452003-07-01 22:07:39 +000012#
13# Target hardware architecture
14#
15ARCH=@ARCH@
16
John Criswell7a73b802003-06-30 21:59:07 +000017# Path to the C++ compiler to use. This is an optional setting, which defaults
18# to whatever your gmake defaults to.
19#
20# Under Linux, for some reason the compiler driver wants to search the PATH to
21# find the system assembler, which breaks if the LLVM assembler is in our path.
22# Hack it to use the assembler in /usr/bin directly.
23#
24CXX = @CXX@
25
26# We have the same problem with the CC binary, which use used by testcases for
27# native builds.
28#
29CC := @CC@
30
31#
32# Compilation flags for the C and C++ compilers.
33#
John Criswellb103e612003-07-02 16:53:44 +000034
35#
36# Removing the compiler flags for now. They interfere with the test suite
37# (which has its own autoconf stuff), and we don't use -DHAVE_CONFIG_H anyway.
38#
39#CPPFLAGS+=@DEFS@
40#CCFLAGS+=@DEFS@
John Criswellb812e762003-07-01 15:02:59 +000041LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000042
43#
44# Removed since it prevents the tests from working properly.
45#
John Criswellb812e762003-07-01 15:02:59 +000046#LIBS+=@LIBS@
John Criswell7a73b802003-06-30 21:59:07 +000047
48#
49# Libraries needed by tools
50#
51TOOLLINKOPTS=@LIBS@
52
53#
54# Path to the archiver program.
55#
56AR_PATH = @AR@
57
58#
59# The pathnames of the Flex and Bison programs, respectively.
60#
61BISON = @YACC@
62FLEX = @LEX@
63
64#
65# Paths to miscellaneous programs.
66#
John Criswell7f336952003-09-06 14:44:17 +000067RPWD = @RPWD@
John Criswell7a73b802003-06-30 21:59:07 +000068SED = @SED@
69RM = @RM@
70ECHO = @ECHO@
John Criswell0057e322003-07-22 19:17:35 +000071MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
John Criswell7a73b802003-06-30 21:59:07 +000072DATE = @DATE@
73MV = @MV@
74INSTALL = @INSTALL@
75DOT = @DOT@
76ETAGS = @ETAGS@
77
78#
79# Determine the target for which LLVM should generate code.
80#
81LLVMGCCARCH := @target@/3.4-llvm
82
83# Path to directory where object files should be stored during a build.
84# Set OBJ_ROOT to "." if you do not want to use a separate place for
85# object files.
86#
87#OBJ_ROOT = .
John Criswell7f336952003-09-06 14:44:17 +000088OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000089
90# Path to location for LLVM front-end this should only be specified here if you
91# want to override the value set in Makefile.$(uname)
92#
93LLVMGCCDIR := @LLVMGCCDIR@
94
95# When this setting is set to true, programs in the llvm/test/Programs hierarchy
96# are not recompiled from source code. Instead, the bytecode for the file is
97# pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
98# space is limited or when you just don't want to spend time running the C
99# frontend.
100#
101#USE_PRECOMPILED_BYTECODE := 1
102@UPB@
103
104# This path specifies the cannonical location of bytecode files for compiled
105# versions of the test/Programs/* programs. This is used as the bytecode source
106# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
107# available for the program (such as SPEC).
108#
109BYTECODE_REPOSITORY := @BCR@
110
111# Path to location for purify, this is only needed if you build with
112# ENABLE_PURIFY=1
113#
114PURIFY = @PURIFY@
115
116#
117# SPEC benchmarks:
118# Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
119# You must provide the SPEC benchmarks on your own.
120#
121@USE_SPEC@
122
123#
124# Path to the SPEC benchmarks. If you have the SPEC benchmarks, place the
125# path here.
126#
127#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
128SPEC_ROOT := @SPEC_ROOT@
129
130#
131# Path to the PAPI code. This is used by the reoptimizer only.
132#
133#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
134PAPIDIR := @PAPIDIR@
135
136# These are options that can either be enabled here, or can be enabled on the
137# make command line (ie, make ENABLE_PROFILING=1)
138#
139
140# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
141# turned on, and Debug builds are turned off.
142#
143#ENABLE_OPTIMIZED = 1
144@ENABLE_OPTIMIZED@
145
146# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
147# information to allow gprof to be used to get execution frequencies.
148#
149#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +0000150
151#
Misha Brukmane9676502003-07-02 21:20:04 +0000152# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +0000153# It essentially prints the commands that make is executing
154#
155#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000156
157# When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
158# must be locally installed) to allow for some automated memory error debugging.
159#
160#ENABLE_PURIFY = 1
161@ENABLE_PURIFY@
162
163#
164# Enable JIT for this platform
165#
166@JIT@
167
168#
169# Disable LLC diffs for testing.
170#
171@DISABLE_LLC_DIFFS@
172
John Criswell7f336952003-09-06 14:44:17 +0000173###########################################################################
174# Directory Configuration
175# This section of the Makefile determines what is where. To be
176# specific, there are several locations that need to be defined:
177#
178# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
179# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
180#
181# o BUILD_SRC_DIR : The directory containing the code to build.
182# o BUILD_SRC_ROOT : The root directory of the code to build.
183#
184# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
185# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
186#
187###########################################################################
188
189#
190# Set the object build directory. By default, it is the current directory.
191#
192ifndef BUILD_OBJ_DIR
193BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
194endif
195
196#
197# Set the root of the object directory.
198#
199ifndef BUILD_OBJ_ROOT
200BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
201endif
202
203#
204# Set the source build directory. That is almost always the current directory.
205#
206ifndef BUILD_SRC_DIR
207BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
208endif
209
210#
211# Set the source root directory.
212#
213ifndef BUILD_SRC_ROOT
214BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
215endif
216
217#
218# Set the LLVM object directory.
219#
220ifndef LLVM_OBJ_ROOT
221ifdef LLVM_SRC_ROOT
222LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
223else
224LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
225endif
226endif
227
228#
229# Set the LLVM source directory.
230# It is typically the root directory of what we're compiling now.
231#
232ifndef LLVM_SRC_ROOT
233LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
234endif
235