blob: 25c9b0a7b27c7b97a12f407be6963f52f0db7b98 [file] [log] [blame]
Misha Brukman6d5ab862004-04-24 00:10:56 +00001#===-- Makefile.config - Local configuration for LLVM ------*- Makefile -*--===#
2#
3# The LLVM Compiler Infrastructure
4#
5# This file was developed by the LLVM research group and is distributed under
6# the University of Illinois Open Source License. See LICENSE.TXT for details.
7#
8#===------------------------------------------------------------------------===#
John Criswell7a73b802003-06-30 21:59:07 +00009#
10# This file is included by Makefile.common. It defines paths and other
11# values specific to a particular installation of LLVM.
Brian Gaekef1dd2002004-01-16 21:31:34 +000012#
Misha Brukman6d5ab862004-04-24 00:10:56 +000013#===------------------------------------------------------------------------===#
John Criswell7a73b802003-06-30 21:59:07 +000014
John Criswell7a73b802003-06-30 21:59:07 +000015# Target operating system for which LLVM will be compiled.
John Criswell7a73b802003-06-30 21:59:07 +000016OS=@OS@
17
John Criswell76595452003-07-01 22:07:39 +000018# Target hardware architecture
John Criswell76595452003-07-01 22:07:39 +000019ARCH=@ARCH@
20
John Criswell0021c312004-02-13 21:57:29 +000021# Endian-ness of the target
22ENDIAN=@ENDIAN@
23
John Criswell7a73b802003-06-30 21:59:07 +000024# Path to the C++ compiler to use. This is an optional setting, which defaults
25# to whatever your gmake defaults to.
John Criswell7a73b802003-06-30 21:59:07 +000026CXX = @CXX@
27
Misha Brukmanb5a2e402004-06-17 15:39:58 +000028# Path to the CC binary, which use used by testcases for native builds.
John Criswell7a73b802003-06-30 21:59:07 +000029CC := @CC@
30
Brian Gaekef1dd2002004-01-16 21:31:34 +000031# Linker flags.
John Criswellb812e762003-07-01 15:02:59 +000032LDFLAGS+=@LDFLAGS@
John Criswell49bf8622003-06-30 22:33:53 +000033
John Criswell7a73b802003-06-30 21:59:07 +000034# Libraries needed by tools
John Criswell7a73b802003-06-30 21:59:07 +000035TOOLLINKOPTS=@LIBS@
36
Brian Gaekef1dd2002004-01-16 21:31:34 +000037# Path to the library archiver program.
John Criswell7a73b802003-06-30 21:59:07 +000038AR_PATH = @AR@
39
John Criswell7a73b802003-06-30 21:59:07 +000040# The pathnames of the Flex and Bison programs, respectively.
John Criswellb8b80c42004-01-12 16:14:54 +000041YACC = @YACC@
42BISON = @BISON@
John Criswell7a73b802003-06-30 21:59:07 +000043FLEX = @LEX@
44
John Criswell7a73b802003-06-30 21:59:07 +000045# Paths to miscellaneous programs.
Brian Gaeke26be9c52004-01-13 06:43:16 +000046RPWD = pwd
47SED = sed
48RM = rm
49ECHO = echo
John Criswell0057e322003-07-22 19:17:35 +000050MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs
Brian Gaeke26be9c52004-01-13 06:43:16 +000051DATE = date
52MV = mv
John Criswell7a73b802003-06-30 21:59:07 +000053INSTALL = @INSTALL@
54DOT = @DOT@
55ETAGS = @ETAGS@
Brian Gaekee0cec5d2004-01-22 21:55:01 +000056ETAGSFLAGS = @ETAGSFLAGS@
John Criswell7a73b802003-06-30 21:59:07 +000057
John Criswell7a73b802003-06-30 21:59:07 +000058# Determine the target for which LLVM should generate code.
John Criswell7a73b802003-06-30 21:59:07 +000059LLVMGCCARCH := @target@/3.4-llvm
60
Brian Gaekef1dd2002004-01-16 21:31:34 +000061# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:
62LCC1 = @LLVMCC1@
63LCC1XX = @LLVMCC1PLUS@
64
John Criswell7a73b802003-06-30 21:59:07 +000065# Path to directory where object files should be stored during a build.
66# Set OBJ_ROOT to "." if you do not want to use a separate place for
67# object files.
John Criswell7f336952003-09-06 14:44:17 +000068OBJ_ROOT := .
John Criswell7a73b802003-06-30 21:59:07 +000069
Brian Gaekeb798b1e2004-03-10 17:37:50 +000070# Path to location for LLVM C/C++ front-end. You can modify this if you
71# want to override the value set by configure.
John Criswell7a73b802003-06-30 21:59:07 +000072LLVMGCCDIR := @LLVMGCCDIR@
73
Brian Gaekef1dd2002004-01-16 21:31:34 +000074# When this variable is set to 1, programs in the llvm/test/Programs hierarchy
John Criswell7a73b802003-06-30 21:59:07 +000075# are not recompiled from source code. Instead, the bytecode for the file is
76# pulled from the BYTECODE_REPOSITORY directory. This can be useful when disk
77# space is limited or when you just don't want to spend time running the C
78# frontend.
John Criswell7a73b802003-06-30 21:59:07 +000079#USE_PRECOMPILED_BYTECODE := 1
80@UPB@
81
82# This path specifies the cannonical location of bytecode files for compiled
83# versions of the test/Programs/* programs. This is used as the bytecode source
84# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
85# available for the program (such as SPEC).
John Criswell7a73b802003-06-30 21:59:07 +000086BYTECODE_REPOSITORY := @BCR@
87
John Criswell7a73b802003-06-30 21:59:07 +000088# SPEC benchmarks:
Alkis Evlogimenos1e3aba12004-02-25 23:41:32 +000089# If these are set then run the SPEC benchmarks.
John Criswell7a73b802003-06-30 21:59:07 +000090# You must provide the SPEC benchmarks on your own.
Alkis Evlogimenos1e3aba12004-02-25 23:41:32 +000091@USE_SPEC2000@
John Criswellb607cc82004-02-10 22:29:06 +000092@USE_SPEC95@
John Criswell7a73b802003-06-30 21:59:07 +000093
Alkis Evlogimenos1e3aba12004-02-25 23:41:32 +000094# Path to the SPEC benchmarks.
Alkis Evlogimenosf3dd0db2004-02-25 23:47:17 +000095SPEC2000_ROOT := @SPEC2000_ROOT@
John Criswellb607cc82004-02-10 22:29:06 +000096SPEC95_ROOT := @SPEC95_ROOT@
John Criswell7a73b802003-06-30 21:59:07 +000097
John Criswellb9a131e2004-02-20 22:30:46 +000098# Path to the Povray source code.
99@USE_POVRAY@
100POVRAY_ROOT := @POVRAY_ROOT@
101
John Criswell7a73b802003-06-30 21:59:07 +0000102# Path to the PAPI code. This is used by the reoptimizer only.
John Criswell7a73b802003-06-30 21:59:07 +0000103#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
104PAPIDIR := @PAPIDIR@
105
106# These are options that can either be enabled here, or can be enabled on the
Brian Gaekef1dd2002004-01-16 21:31:34 +0000107# make command line (ie, make ENABLE_PROFILING=1):
John Criswell7a73b802003-06-30 21:59:07 +0000108
109# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
110# turned on, and Debug builds are turned off.
John Criswell7a73b802003-06-30 21:59:07 +0000111#ENABLE_OPTIMIZED = 1
112@ENABLE_OPTIMIZED@
113
114# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
115# information to allow gprof to be used to get execution frequencies.
John Criswell7a73b802003-06-30 21:59:07 +0000116#ENABLE_PROFILING = 1
John Criswell7a73b802003-06-30 21:59:07 +0000117
Misha Brukmane9676502003-07-02 21:20:04 +0000118# This option tells the Makefiles to produce verbose output.
John Criswell7a73b802003-06-30 21:59:07 +0000119# It essentially prints the commands that make is executing
John Criswell7a73b802003-06-30 21:59:07 +0000120#VERBOSE = 1
John Criswell7a73b802003-06-30 21:59:07 +0000121
John Criswell7a73b802003-06-30 21:59:07 +0000122# Enable JIT for this platform
John Criswell7a73b802003-06-30 21:59:07 +0000123@JIT@
124
John Criswell7a73b802003-06-30 21:59:07 +0000125# Disable LLC diffs for testing.
John Criswell7a73b802003-06-30 21:59:07 +0000126@DISABLE_LLC_DIFFS@
127
Brian Gaeke88aeace2004-01-21 19:39:07 +0000128# Shared library extension for this platform.
129SHLIBEXT = @SHLIBEXT@
130
John Criswelle6d468f2004-06-01 19:04:38 +0000131# Executable file extension for this platform.
132EXEEXT = @EXEEXT@
133
John Criswell7f336952003-09-06 14:44:17 +0000134###########################################################################
135# Directory Configuration
136# This section of the Makefile determines what is where. To be
137# specific, there are several locations that need to be defined:
138#
139# o LLVM_SRC_ROOT : The root directory of the LLVM source code.
140# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.
141#
142# o BUILD_SRC_DIR : The directory containing the code to build.
143# o BUILD_SRC_ROOT : The root directory of the code to build.
144#
145# o BUILD_OBJ_DIR : The directory in which compiled code will be placed.
146# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed.
147#
148###########################################################################
149
John Criswell7f336952003-09-06 14:44:17 +0000150# Set the object build directory. By default, it is the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000151ifndef BUILD_OBJ_DIR
152BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD)))
153endif
154
John Criswell7f336952003-09-06 14:44:17 +0000155# Set the root of the object directory.
John Criswell7f336952003-09-06 14:44:17 +0000156ifndef BUILD_OBJ_ROOT
157BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD)))
158endif
159
John Criswell7f336952003-09-06 14:44:17 +0000160# Set the source build directory. That is almost always the current directory.
John Criswell7f336952003-09-06 14:44:17 +0000161ifndef BUILD_SRC_DIR
162BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR)))
163endif
164
John Criswell7f336952003-09-06 14:44:17 +0000165# Set the source root directory.
John Criswell7f336952003-09-06 14:44:17 +0000166ifndef BUILD_SRC_ROOT
167BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)
168endif
169
John Criswell7f336952003-09-06 14:44:17 +0000170# Set the LLVM object directory.
John Criswell7f336952003-09-06 14:44:17 +0000171ifndef LLVM_OBJ_ROOT
172ifdef LLVM_SRC_ROOT
173LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD))
174else
175LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT)
176endif
177endif
178
John Criswell7f336952003-09-06 14:44:17 +0000179# Set the LLVM source directory.
180# It is typically the root directory of what we're compiling now.
John Criswell7f336952003-09-06 14:44:17 +0000181ifndef LLVM_SRC_ROOT
182LLVM_SRC_ROOT := $(BUILD_SRC_ROOT)
183endif
184
John Criswell613758d2003-09-11 18:03:50 +0000185# Set SourceDir for backwards compatbility.
John Criswell613758d2003-09-11 18:03:50 +0000186ifndef SourceDir
187SourceDir=$(BUILD_SRC_DIR)
188endif
189
Brian Gaeke5339ada2003-12-10 00:25:32 +0000190# Installation directories, as provided by the configure script.
Brian Gaeke5339ada2003-12-10 00:25:32 +0000191exec_prefix = @exec_prefix@
192prefix = @prefix@
193program_transform_name = @program_transform_name@
194bindir = @bindir@
195sbindir = @sbindir@
196libexecdir = @libexecdir@
197datadir = @datadir@
198sysconfdir = @sysconfdir@
199sharedstatedir = @sharedstatedir@
200localstatedir = @localstatedir@
201libdir = @libdir@
Brian Gaeke8abff792004-01-22 22:53:48 +0000202bytecode_libdir = $(LLVMGCCDIR)/bytecode-libs
Brian Gaeke5339ada2003-12-10 00:25:32 +0000203includedir = @includedir@
204infodir = @infodir@
205mandir = @mandir@
206INSTALL_PROGRAM = @INSTALL_PROGRAM@
207INSTALL_SCRIPT = @INSTALL_SCRIPT@
208INSTALL_DATA = @INSTALL_DATA@
209