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