aboutsummaryrefslogtreecommitdiff
path: root/Makefile.config.in
blob: fcb1746e75cd95661c627efde40471bcb3cdf29e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
#
# This file is included by Makefile.common.  It defines paths and other
# values specific to a particular installation of LLVM.
#===-----------------------------------------------------------------------====

#
# Target operating system for which LLVM will be compiled.
#
OS=@OS@

#
# Target hardware architecture
#
ARCH=@ARCH@

# Path to the C++ compiler to use.  This is an optional setting, which defaults
# to whatever your gmake defaults to.
#
# Under Linux, for some reason the compiler driver wants to search the PATH to
# find the system assembler, which breaks if the LLVM assembler is in our path.
# Hack it to use the assembler in /usr/bin directly.
#
CXX = @CXX@

# We have the same problem with the CC binary, which use used by testcases for
# native builds.
#
CC := @CC@

#
# Compilation flags for the C and C++ compilers.
#

#
# Removing the compiler flags for now.  They interfere with the test suite
# (which has its own autoconf stuff), and we don't use -DHAVE_CONFIG_H anyway.
#
#CPPFLAGS+=@DEFS@
#CCFLAGS+=@DEFS@
LDFLAGS+=@LDFLAGS@

#
# Removed since it prevents the tests from working properly.
#
#LIBS+=@LIBS@

#
# Libraries needed by tools
#
TOOLLINKOPTS=@LIBS@

#
# Path to the archiver program.
#
AR_PATH = @AR@

#
# The pathnames of the Flex and Bison programs, respectively.
#
BISON    = @YACC@
FLEX     = @LEX@

#
# Paths to miscellaneous programs.
#
RPWD    = @RPWD@
SED     = @SED@
RM      = @RM@
ECHO    = @ECHO@
MKDIR   = @abs_top_srcdir@/autoconf/mkinstalldirs
DATE    = @DATE@
MV      = @MV@
INSTALL = @INSTALL@
DOT     = @DOT@
ETAGS   = @ETAGS@

#
# Determine the target for which LLVM should generate code.
#
LLVMGCCARCH := @target@/3.4-llvm

# Path to directory where object files should be stored during a build.
# Set OBJ_ROOT to "." if you do not want to use a separate place for
# object files.
# 
#OBJ_ROOT = .
OBJ_ROOT := .

# Path to location for LLVM front-end this should only be specified here if you
# want to override the value set in Makefile.$(uname)
#
LLVMGCCDIR := @LLVMGCCDIR@

# When this setting is set to true, programs in the llvm/test/Programs hierarchy
# are not recompiled from source code.  Instead, the bytecode for the file is
# pulled from the BYTECODE_REPOSITORY directory.  This can be useful when disk
# space is limited or when you just don't want to spend time running the C
# frontend.
#
#USE_PRECOMPILED_BYTECODE := 1
@UPB@

# This path specifies the cannonical location of bytecode files for compiled
# versions of the test/Programs/* programs.  This is used as the bytecode source
# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
# available for the program (such as SPEC).
#
BYTECODE_REPOSITORY := @BCR@

# Path to location for purify, this is only needed if you build with
# ENABLE_PURIFY=1
# 
PURIFY = @PURIFY@

#
# SPEC benchmarks:
#	Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
#	You must provide the SPEC benchmarks on your own.
#
@USE_SPEC@

#
# Path to the SPEC benchmarks.  If you have the SPEC benchmarks, place the
# path here.
#
#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
SPEC_ROOT := @SPEC_ROOT@

#
# Path to the PAPI code.  This is used by the reoptimizer only.
#
#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
PAPIDIR := @PAPIDIR@

# These are options that can either be enabled here, or can be enabled on the
# make command line (ie, make ENABLE_PROFILING=1)
#

# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
# turned on, and Debug builds are turned off.
#
#ENABLE_OPTIMIZED = 1
@ENABLE_OPTIMIZED@

# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
# information to allow gprof to be used to get execution frequencies.
#
#ENABLE_PROFILING = 1

#
# This option tells the Makefiles to produce verbose output.
# It essentially prints the commands that make is executing
#
#VERBOSE = 1

# When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
# must be locally installed) to allow for some automated memory error debugging.
#
#ENABLE_PURIFY = 1
@ENABLE_PURIFY@

#
# Enable JIT for this platform
#
@JIT@

#
# Disable LLC diffs for testing.
#
@DISABLE_LLC_DIFFS@

###########################################################################
# Directory Configuration
#	This section of the Makefile determines what is where.  To be
#	specific, there are several locations that need to be defined:
#
#	o LLVM_SRC_ROOT  : The root directory of the LLVM source code.
#	o LLVM_OBJ_ROOT  : The root directory containing the built LLVM code.
#
#	o BUILD_SRC_DIR  : The directory containing the code to build.
#	o BUILD_SRC_ROOT : The root directory of the code to build.
#
#	o BUILD_OBJ_DIR  : The directory in which compiled code will be placed.
#	o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
#
###########################################################################

#
# Set the object build directory.  By default, it is the current directory.
#
ifndef BUILD_OBJ_DIR
BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
endif

#
# Set the root of the object directory.
#
ifndef BUILD_OBJ_ROOT
BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
endif

#
# Set the source build directory.  That is almost always the current directory.
#
ifndef BUILD_SRC_DIR
BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
endif

#
# Set the source root directory.
#
ifndef BUILD_SRC_ROOT
BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
endif

#
# Set the LLVM object directory.
#
ifndef LLVM_OBJ_ROOT
ifdef LLVM_SRC_ROOT
LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
else
LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
endif
endif

#
# Set the LLVM source directory.
# It is typically the root directory of what we're compiling now.
#
ifndef LLVM_SRC_ROOT
LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
endif