Makefile.config.in revision 49bf862719c5ac24ddc9eafa35e51dd68904b1be
17a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
27a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
37a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# This file is included by Makefile.common.  It defines paths and other
47a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# values specific to a particular installation of LLVM.
57a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#===-----------------------------------------------------------------------====
67a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
77a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
87a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Target operating system for which LLVM will be compiled.
97a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
107a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellOS=@OS@
117a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
127a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to the C++ compiler to use.  This is an optional setting, which defaults
137a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# to whatever your gmake defaults to.
147a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
157a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Under Linux, for some reason the compiler driver wants to search the PATH to
167a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# find the system assembler, which breaks if the LLVM assembler is in our path.
177a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Hack it to use the assembler in /usr/bin directly.
187a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
197a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellCXX = @CXX@
207a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
217a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# We have the same problem with the CC binary, which use used by testcases for
227a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# native builds.
237a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
247a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellCC := @CC@
257a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
267a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
277a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Compilation flags for the C and C++ compilers.
287a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
297a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellCPPFLAGS=@DEFS@
307a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellCCFLAGS=@DEFS@
317a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellLDFLAGS=@LDFLAGS@
3249bf862719c5ac24ddc9eafa35e51dd68904b1beJohn Criswell
3349bf862719c5ac24ddc9eafa35e51dd68904b1beJohn Criswell#
3449bf862719c5ac24ddc9eafa35e51dd68904b1beJohn Criswell# Removed since it prevents the tests from working properly.
3549bf862719c5ac24ddc9eafa35e51dd68904b1beJohn Criswell#
3649bf862719c5ac24ddc9eafa35e51dd68904b1beJohn Criswell#LIBS=@LIBS@
377a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
387a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
397a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Libraries needed by tools
407a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
417a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellTOOLLINKOPTS=@LIBS@
427a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
437a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
447a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to the archiver program.
457a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
467a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellAR_PATH = @AR@
477a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
487a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
497a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# The pathnames of the Flex and Bison programs, respectively.
507a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
517a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellBISON    = @YACC@
527a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellFLEX     = @LEX@
537a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
547a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
557a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Paths to miscellaneous programs.
567a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
577a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellSED     = @SED@
587a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellRM      = @RM@
597a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellECHO    = @ECHO@
607a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellMKDIR   = @abs_top_srcdir@/mkinstalldirs
617a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellDATE    = @DATE@
627a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellMV      = @MV@
637a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellINSTALL = @INSTALL@
647a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellDOT     = @DOT@
657a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellETAGS   = @ETAGS@
667a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
677a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
687a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Determine the target for which LLVM should generate code.
697a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
707a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellLLVMGCCARCH := @target@/3.4-llvm
717a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
727a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to directory where object files should be stored during a build.
737a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Set OBJ_ROOT to "." if you do not want to use a separate place for
747a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# object files.
757a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# 
767a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#OBJ_ROOT = .
777a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellOBJ_ROOT := @OBJROOT@
787a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
797a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to location for LLVM front-end this should only be specified here if you
807a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# want to override the value set in Makefile.$(uname)
817a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
827a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellLLVMGCCDIR := @LLVMGCCDIR@
837a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
847a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# When this setting is set to true, programs in the llvm/test/Programs hierarchy
857a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# are not recompiled from source code.  Instead, the bytecode for the file is
867a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# pulled from the BYTECODE_REPOSITORY directory.  This can be useful when disk
877a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# space is limited or when you just don't want to spend time running the C
887a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# frontend.
897a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
907a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#USE_PRECOMPILED_BYTECODE := 1
917a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@UPB@
927a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
937a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# This path specifies the cannonical location of bytecode files for compiled
947a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# versions of the test/Programs/* programs.  This is used as the bytecode source
957a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
967a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# available for the program (such as SPEC).
977a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
987a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellBYTECODE_REPOSITORY := @BCR@
997a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1007a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to location for purify, this is only needed if you build with
1017a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# ENABLE_PURIFY=1
1027a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# 
1037a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellPURIFY = @PURIFY@
1047a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1057a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1067a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# SPEC benchmarks:
1077a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#	Set the USE_SPEC variable to enable the use of the SPEC benchmarks.
1087a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#	You must provide the SPEC benchmarks on your own.
1097a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1107a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@USE_SPEC@
1117a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1127a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1137a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to the SPEC benchmarks.  If you have the SPEC benchmarks, place the
1147a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# path here.
1157a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1167a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#SPEC_ROOT := /home/vadve/shared/benchmarks/speccpu2000/benchspec
1177a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellSPEC_ROOT := @SPEC_ROOT@
1187a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1197a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1207a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Path to the PAPI code.  This is used by the reoptimizer only.
1217a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1227a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#PAPIDIR := /home/vadve/shared/papi-2.3.4.1
1237a73b80b9052136c8cd2234eb3433a07df7cf38eJohn CriswellPAPIDIR := @PAPIDIR@
1247a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1257a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# These are options that can either be enabled here, or can be enabled on the
1267a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# make command line (ie, make ENABLE_PROFILING=1)
1277a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1287a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1297a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are
1307a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# turned on, and Debug builds are turned off.
1317a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1327a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#ENABLE_OPTIMIZED = 1
1337a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@ENABLE_OPTIMIZED@
1347a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1357a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
1367a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# information to allow gprof to be used to get execution frequencies.
1377a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1387a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#ENABLE_PROFILING = 1
1397a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@ENABLE_PROFILING@
1407a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1417a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1427a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# This open tells the Makefiles to produce verbose output.
1437a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# It essentially prints the commands that make is executing
1447a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1457a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#VERBOSE = 1
1467a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@ENABLE_VERBOSE@
1477a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1487a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# When ENABLE_PURIFY is set to 1, the LLVM tools are linked with purify (which
1497a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# must be locally installed) to allow for some automated memory error debugging.
1507a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1517a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#ENABLE_PURIFY = 1
1527a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@ENABLE_PURIFY@
1537a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1547a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1557a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Enable JIT for this platform
1567a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1577a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@JIT@
1587a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
1597a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1607a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell# Disable LLC diffs for testing.
1617a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#
1627a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell@DISABLE_LLC_DIFFS@
1637a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell
164