blob: 73659cfb8459589cf225295a4a3310d1fc536f7c [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.
Brian Gaekef1dd2002004-01-16 21:31:34 +00005#
John Criswell7a73b802003-06-30 21:59:07 +00006#===-----------------------------------------------------------------------====
7
John Criswell7a73b802003-06-30 21:59:07 +00008# Target operating system for which LLVM will be compiled.
John Criswell7a73b802003-06-30 21:59:07 +00009OS=@OS@
10
John Criswell76595452003-07-01 22:07:39 +000011# Target hardware architecture
John Criswell76595452003-07-01 22:07:39 +000012ARCH=@ARCH@
13
John Criswell0021c312004-02-13 21:57:29 +000014# Endian-ness of the target
15ENDIAN=@ENDIAN@
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.
John Criswell7a73b802003-06-30 21:59:07 +000023CXX = @CXX@
24
25# We have the same problem with the CC binary, which use used by testcases for
26# native builds.
John Criswell7a73b802003-06-30 21:59:07 +000027CC := @CC@
28
Brian Gaekef1dd2002004-01-16 21:31:34 +000029# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000030LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000031
John Criswell7a73b802003-06-30 21:59:07 +000032# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000033TOOLLINKOPTS=@LIBS@
34
Brian Gaekef1dd2002004-01-16 21:31:34 +000035# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000036AR_PATH = @AR@
37
John Criswell7a73b802003-06-30 21:59:07 +000038# The pathnames of the Flex and Bison programs, respectively.
John Criswellb8b80c42004-01-12 16:14:54 +000039YACC = @YACC@
40BISON = @BISON@
John Criswell7a73b802003-06-30 21:59:07 +000041FLEX = @LEX@
42
John Criswell7a73b802003-06-30 21:59:07 +000043# Paths to miscellaneous programs.
Brian Gaeke26be9c52004-01-13 06:43:16 +000044RPWD = pwd
45SED = sed
46RM = rm
47ECHO = echo
John Criswell0057e322003-07-22 19:17:35 +000048MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
Brian Gaeke26be9c52004-01-13 06:43:16 +000049DATE = date
50MV = mv
John Criswell7a73b802003-06-30 21:59:07 +000051INSTALL = @INSTALL@
52DOT = @DOT@
53ETAGS = @ETAGS@
Brian Gaekee0cec5d2004-01-22 21:55:01 +000054ETAGSFLAGS = @ETAGSFLAGS@
John Criswell7a73b802003-06-30 21:59:07 +000055
John Criswell7a73b802003-06-30 21:59:07 +000056# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +000057LLVMGCCARCH := @target@/3.4-llvm
58
Brian Gaekef1dd2002004-01-16 21:31:34 +000059# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
60LCC1 = @LLVMCC1@
61LCC1XX = @LLVMCC1PLUS@
62
John Criswell7a73b802003-06-30 21:59:07 +000063# Path to directory where object files should be stored during a build.
64# Set OBJ_ROOT to "." if you do not want to use a separate place for
65# object files.
John Criswell7f336952003-09-06 14:44:17 +000066OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000067
68# Path to location for LLVM front-end this should only be specified here if you
69# want to override the value set in Makefile.$(uname)
John Criswell7a73b802003-06-30 21:59:07 +000070LLVMGCCDIR := @LLVMGCCDIR@
71
Brian Gaekef1dd2002004-01-16 21:31:34 +000072# When this variable is set to 1, programs in the llvm/test/Programs hierarchy
John Criswell7a73b802003-06-30 21:59:07 +000073# are not recompiled from source code. Instead, the bytecode for the file is
74# pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
75# space is limited or when you just don't want to spend time running the C
76# frontend.
John Criswell7a73b802003-06-30 21:59:07 +000077#USE_PRECOMPILED_BYTECODE := 1
78@UPB@
79
80# This path specifies the cannonical location of bytecode files for compiled
81# versions of the test/Programs/* programs. This is used as the bytecode source
82# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
83# available for the program (such as SPEC).
John Criswell7a73b802003-06-30 21:59:07 +000084BYTECODE_REPOSITORY := @BCR@
85
John Criswell7a73b802003-06-30 21:59:07 +000086# SPEC benchmarks:
87# Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
88# You must provide the SPEC benchmarks on your own.
John Criswell7a73b802003-06-30 21:59:07 +000089@USE_SPEC@
John Criswellb607cc82004-02-10 22:29:06 +000090@USE_SPEC95@
John Criswell7a73b802003-06-30 21:59:07 +000091
John Criswell7a73b802003-06-30 21:59:07 +000092# Path to the SPEC benchmarks. If you have the SPEC benchmarks, place the
93# path here.
John Criswell7a73b802003-06-30 21:59:07 +000094#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
95SPEC_ROOT := @SPEC_ROOT@
John Criswellb607cc82004-02-10 22:29:06 +000096SPEC95_ROOT := @SPEC95_ROOT@
John Criswell7a73b802003-06-30 21:59:07 +000097
John Criswell7a73b802003-06-30 21:59:07 +000098# Path to the PAPI code. This is used by the reoptimizer only.
John Criswell7a73b802003-06-30 21:59:07 +000099#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
100PAPIDIR := @PAPIDIR@
101
102# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +0000103# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +0000104
105# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
106# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +0000107#ENABLE_OPTIMIZED = 1
108@ENABLE_OPTIMIZED@
109
110# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
111# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +0000112#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +0000113
Misha Brukmane9676502003-07-02 21:20:04 +0000114# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +0000115# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +0000116#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000117
John Criswell7a73b802003-06-30 21:59:07 +0000118# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +0000119@JIT@
120
John Criswell7a73b802003-06-30 21:59:07 +0000121# Disable LLC diffs for testing.
John Criswell7a73b802003-06-30 21:59:07 +0000122@DISABLE_LLC_DIFFS@
123
Brian Gaeke88aeace2004-01-21 19:39:07 +0000124# Shared library extension for this platform.
125SHLIBEXT = @SHLIBEXT@
126
John Criswell7f336952003-09-06 14:44:17 +0000127###########################################################################
128# Directory Configuration
129# This section of the Makefile determines what is where. To be
130# specific, there are several locations that need to be defined:
131#
132# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
133# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
134#
135# o BUILD_SRC_DIR : The directory containing the code to build.
136# o BUILD_SRC_ROOT : The root directory of the code to build.
137#
138# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
139# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
140#
141###########################################################################
142
John Criswell7f336952003-09-06 14:44:17 +0000143# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000144ifndef BUILD_OBJ_DIR
145BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
146endif
147
John Criswell7f336952003-09-06 14:44:17 +0000148# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000149ifndef BUILD_OBJ_ROOT
150BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
151endif
152
John Criswell7f336952003-09-06 14:44:17 +0000153# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000154ifndef BUILD_SRC_DIR
155BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
156endif
157
John Criswell7f336952003-09-06 14:44:17 +0000158# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000159ifndef BUILD_SRC_ROOT
160BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
161endif
162
John Criswell7f336952003-09-06 14:44:17 +0000163# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000164ifndef LLVM_OBJ_ROOT
165ifdef LLVM_SRC_ROOT
166LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
167else
168LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
169endif
170endif
171
John Criswell7f336952003-09-06 14:44:17 +0000172# Set the LLVM source directory.
173# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000174ifndef LLVM_SRC_ROOT
175LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
176endif
177
John Criswell613758d2003-09-11 18:03:50 +0000178# Set SourceDir for backwards compatbility.
John Criswell613758d2003-09-11 18:03:50 +0000179ifndef SourceDir
180SourceDir=$(BUILD_SRC_DIR)
181endif
182
Brian Gaeke5339ada2003-12-10 00:25:32 +0000183# Installation directories, as provided by the configure script.
Brian Gaeke5339ada2003-12-10 00:25:32 +0000184exec_prefix = @exec_prefix@
185prefix = @prefix@
186program_transform_name = @program_transform_name@
187bindir = @bindir@
188sbindir = @sbindir@
189libexecdir = @libexecdir@
190datadir = @datadir@
191sysconfdir = @sysconfdir@
192sharedstatedir = @sharedstatedir@
193localstatedir = @localstatedir@
194libdir = @libdir@
Brian Gaeke8abff792004-01-22 22:53:48 +0000195bytecode_libdir = $(LLVMGCCDIR)/bytecode-libs
Brian Gaeke5339ada2003-12-10 00:25:32 +0000196includedir = @includedir@
197infodir = @infodir@
198mandir = @mandir@
199INSTALL_PROGRAM = @INSTALL_PROGRAM@
200INSTALL_SCRIPT = @INSTALL_SCRIPT@
201INSTALL_DATA = @INSTALL_DATA@
202