1 #===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
3 # This file is included by Makefile.common. It defines paths and other
4 # values specific to a particular installation of LLVM.
5 #===-----------------------------------------------------------------------====
8 # Target operating system for which LLVM will be compiled.
13 # Target hardware architecture
17 # Path to the C++ compiler to use. This is an optional setting, which defaults
18 # to whatever your gmake defaults to.
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.
26 # We have the same problem with the CC binary, which use used by testcases for
32 # Compilation flags for the C and C++ compilers.
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.
44 # Removed since it prevents the tests from working properly.
49 # Libraries needed by tools
54 # Path to the archiver program.
59 # The pathnames of the Flex and Bison programs, respectively.
66 # Paths to miscellaneous programs.
72 MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
80 # Determine the target for which LLVM should generate code.
82 LLVMGCCARCH := @target@/3.4-llvm
84 # Path to directory where object files should be stored during a build.
85 # Set OBJ_ROOT to "." if you do not want to use a separate place for
91 # Path to location for LLVM front-end this should only be specified here if you
92 # want to override the value set in Makefile.$(uname)
94 LLVMGCCDIR := @LLVMGCCDIR@
96 # When this setting is set to true, programs in the llvm/test/Programs hierarchy
97 # are not recompiled from source code. Instead, the bytecode for the file is
98 # pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
99 # space is limited or when you just don't want to spend time running the C
102 #USE_PRECOMPILED_BYTECODE := 1
105 # This path specifies the cannonical location of bytecode files for compiled
106 # versions of the test/Programs/* programs. This is used as the bytecode source
107 # when USE_PRECOMPILED_BYTECODE is specified or when source code is not
108 # available for the program (such as SPEC).
110 BYTECODE_REPOSITORY := @BCR@
112 # Path to location for purify, this is only needed if you build with
119 # Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
120 # You must provide the SPEC benchmarks on your own.
125 # Path to the SPEC benchmarks. If you have the SPEC benchmarks, place the
128 #SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
129 SPEC_ROOT := @SPEC_ROOT@
132 # Path to the PAPI code. This is used by the reoptimizer only.
134 #PAPIDIR := /home/vadve/shared/papi-2.3.4.1
137 # These are options that can either be enabled here, or can be enabled on the
138 # make command line (ie, make ENABLE_PROFILING=1)
141 # When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
142 # turned on, and Debug builds are turned off.
144 #ENABLE_OPTIMIZED = 1
147 # When ENABLE_PROFILING is enabled, the llvm source base is built with profile
148 # information to allow gprof to be used to get execution frequencies.
150 #ENABLE_PROFILING = 1
153 # This option tells the Makefiles to produce verbose output.
154 # It essentially prints the commands that make is executing
158 # When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
159 # must be locally installed) to allow for some automated memory error debugging.
165 # Enable JIT for this platform
170 # Disable LLC diffs for testing.
174 ###########################################################################
175 # Directory Configuration
176 # This section of the Makefile determines what is where. To be
177 # specific, there are several locations that need to be defined:
179 # o LLVM_SRC_ROOT : The root directory of the LLVM source code.
180 # o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
182 # o BUILD_SRC_DIR : The directory containing the code to build.
183 # o BUILD_SRC_ROOT : The root directory of the code to build.
185 # o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
186 # o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
188 ###########################################################################
191 # Set the object build directory. By default, it is the current directory.
194 BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
198 # Set the root of the object directory.
200 ifndef BUILD_OBJ_ROOT
201 BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
205 # Set the source build directory. That is almost always the current directory.
208 BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
212 # Set the source root directory.
214 ifndef BUILD_SRC_ROOT
215 BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
219 # Set the LLVM object directory.
223 LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
225 LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
230 # Set the LLVM source directory.
231 # It is typically the root directory of what we're compiling now.
234 LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
238 # Set SourceDir for backwards compatbility.
241 SourceDir=$(BUILD_SRC_DIR)
244 # Installation directories, as provided by the configure script.
246 exec_prefix = @exec_prefix@
248 program_transform_name = @program_transform_name@
251 libexecdir = @libexecdir@
253 sysconfdir = @sysconfdir@
254 sharedstatedir = @sharedstatedir@
255 localstatedir = @localstatedir@
257 includedir = @includedir@
260 INSTALL_PROGRAM = @INSTALL_PROGRAM@
261 INSTALL_SCRIPT = @INSTALL_SCRIPT@
262 INSTALL_DATA = @INSTALL_DATA@