Makefile.llvm.config.in revision b2bc6e4ad6a15fd93bc256f26bcb2a05c052fb25
12532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#===-- Makefile.config - Local configuration for LLVM ------*- Makefile -*--===#
22532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
32532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#                     The LLVM Compiler Infrastructure
42532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
52532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# This file is distributed under the University of Illinois Open Source
62532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# License. See LICENSE.TXT for details.
72532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
82532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#===------------------------------------------------------------------------===#
92532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
102532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# This file is included by Makefile.common.  It defines paths and other
112532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# values specific to a particular installation of LLVM.
122532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
132532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#===------------------------------------------------------------------------===#
142532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
152532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Define LLVM specific info and directories based on the autoconf variables
162532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLLVMVersion       := @LLVM_VERSION@
172532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
182532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar###########################################################################
192532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Directory Configuration
202532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	This section of the Makefile determines what is where.  To be
212532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	specific, there are several locations that need to be defined:
222532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
232532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o LLVM_SRC_ROOT  : The root directory of the LLVM source code.
242532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o LLVM_OBJ_ROOT  : The root directory containing the built LLVM code.
252532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
262532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o PROJ_SRC_DIR  : The directory containing the code to build.
272532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o PROJ_SRC_ROOT : The root directory of the code to build.
282532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
292532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o PROJ_OBJ_DIR  : The directory in which compiled code will be placed.
302532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#	o PROJ_OBJ_ROOT : The root directory in which compiled code is placed.
312532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#
322532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar###########################################################################
332532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
342532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPWD := @BINPWD@
352532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
362532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# The macro below is expanded when 'realpath' is not built-in.
372532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Built-in 'realpath' is available on GNU Make 3.81.
382532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarrealpath = $(shell cd $(1); $(PWD))
392532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
402532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_OBJ_DIR  := $(call realpath, .)
412532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_OBJ_ROOT := $(call realpath, $(PROJ_OBJ_DIR)/$(LEVEL))
422532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
432532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef PROJ_SRC_ROOT
442532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar$(error Projects must define PROJ_SRC_ROOT)
452532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
462532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef PROJ_OBJ_ROOT
472532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar$(error Projects must define PROJ_OBJ_ROOT)
482532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
492532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef PROJ_INSTALL_ROOT
502532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar$(error Projects must define PROJ_INSTALL_ROOT)
512532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
522532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef LLVM_SRC_ROOT
532532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar$(error Projects must define LLVM_SRC_ROOT)
542532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
552532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef LLVM_OBJ_ROOT
562532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar$(error Projects must define LLVM_OBJ_ROOT)
572532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
582532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_SRC_DIR := $(call realpath, $(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)))
592532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarprefix          := $(PROJ_INSTALL_ROOT)
602532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_prefix     := $(prefix)
612532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifndef PROJ_VERSION
622532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_VERSION := 1.0
632532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
642532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
652532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_bindir     := $(PROJ_prefix)/bin
662532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_libdir     := $(PROJ_prefix)/lib
672532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_datadir    := $(PROJ_prefix)/share
682532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_docsdir    := $(PROJ_prefix)/docs/llvm
692532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_etcdir     := $(PROJ_prefix)/etc/llvm
702532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_includedir := $(PROJ_prefix)/include
712532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_infodir    := $(PROJ_prefix)/info
722532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPROJ_mandir     := $(PROJ_prefix)/share/man
732532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
742532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Determine if we're on a unix type operating system
752532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLLVM_ON_UNIX:=@LLVM_ON_UNIX@
762532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLLVM_ON_WIN32:=@LLVM_ON_WIN32@
772532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
782532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Host operating system for which LLVM will be run.
792532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOS=@OS@
802532fa21a963edf53183357edfc79a9361b44435Daniel DunbarHOST_OS=@HOST_OS@
812532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Target operating system for which LLVM will compile for.
822532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTARGET_OS=@TARGET_OS@
832532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
842532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Target hardware architecture
852532fa21a963edf53183357edfc79a9361b44435Daniel DunbarARCH=@ARCH@
862532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
872532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Indicates, whether we're cross-compiling LLVM or not
882532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@
892532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
902532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Executable file extension for build platform (mainly for
912532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# tablegen call if we're cross-compiling).
922532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBUILD_EXEEXT=@BUILD_EXEEXT@
932532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
942532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Compilers for the build platflorm (mainly for tablegen
952532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# call if we're cross-compiling).
962532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBUILD_CC=@BUILD_CC@
972532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBUILD_CXX=@BUILD_CXX@
982532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
992532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Triple for configuring build tools when cross-compiling
1002532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBUILD_TRIPLE=@build@
1012532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1022532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Target triple (cpu-vendor-os) for which we should generate code
1032532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTARGET_TRIPLE=@target@
1042532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1052532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Extra options to compile LLVM with
1062532fa21a963edf53183357edfc79a9361b44435Daniel DunbarEXTRA_OPTIONS=@EXTRA_OPTIONS@
1072532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1082532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Extra options to link LLVM with
1092532fa21a963edf53183357edfc79a9361b44435Daniel DunbarEXTRA_LD_OPTIONS=@EXTRA_LD_OPTIONS@
1102532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1112532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Endian-ness of the target
1122532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENDIAN=@ENDIAN@
1132532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1142532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Path to the C++ compiler to use.  This is an optional setting, which defaults
1152532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# to whatever your gmake defaults to.
1162532fa21a963edf53183357edfc79a9361b44435Daniel DunbarCXX = @CXX@
1172532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1182532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Path to the CC binary, which use used by testcases for native builds.
1192532fa21a963edf53183357edfc79a9361b44435Daniel DunbarCC := @CC@
1202532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1212532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Linker flags.
1222532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLDFLAGS+=@LDFLAGS@
1232532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1242532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Path to the library archiver program.
1252532fa21a963edf53183357edfc79a9361b44435Daniel DunbarAR_PATH = @AR@
1262532fa21a963edf53183357edfc79a9361b44435Daniel DunbarAR = @AR@
1272532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1282532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Path to the nm program
1292532fa21a963edf53183357edfc79a9361b44435Daniel DunbarNM_PATH = @NM@
1302532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1312532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# The pathnames of the programs we require to build
1322532fa21a963edf53183357edfc79a9361b44435Daniel DunbarCMP        := @CMP@
1332532fa21a963edf53183357edfc79a9361b44435Daniel DunbarCP         := @CP@
1342532fa21a963edf53183357edfc79a9361b44435Daniel DunbarDATE       := @DATE@
1352532fa21a963edf53183357edfc79a9361b44435Daniel DunbarFIND       := @FIND@
1362532fa21a963edf53183357edfc79a9361b44435Daniel DunbarGREP       := @GREP@
1372532fa21a963edf53183357edfc79a9361b44435Daniel DunbarINSTALL    := @INSTALL@
1382532fa21a963edf53183357edfc79a9361b44435Daniel DunbarMKDIR      := $(PROJ_SRC_ROOT)/autoconf/mkinstalldirs
1392532fa21a963edf53183357edfc79a9361b44435Daniel DunbarMV         := @MV@
1402532fa21a963edf53183357edfc79a9361b44435Daniel DunbarRANLIB     := @RANLIB@
1412532fa21a963edf53183357edfc79a9361b44435Daniel DunbarRM         := @RM@
1422532fa21a963edf53183357edfc79a9361b44435Daniel DunbarSED        := @SED@
1432532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTAR        := @TAR@
1442532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1452532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Paths to miscellaneous programs we hope are present but might not be
1462532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBZIP2      := @BZIP2@
1472532fa21a963edf53183357edfc79a9361b44435Daniel DunbarCAT        := @CAT@
1482532fa21a963edf53183357edfc79a9361b44435Daniel DunbarDOT        := @DOT@
1492532fa21a963edf53183357edfc79a9361b44435Daniel DunbarDOXYGEN    := @DOXYGEN@
1502532fa21a963edf53183357edfc79a9361b44435Daniel DunbarGROFF      := @GROFF@
1512532fa21a963edf53183357edfc79a9361b44435Daniel DunbarGZIPBIN    := @GZIPBIN@
1522532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOCAMLC     := @OCAMLC@
1532532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOCAMLOPT   := @OCAMLOPT@
1542532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOCAMLDEP   := @OCAMLDEP@
1552532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOCAMLDOC   := @OCAMLDOC@
1562532fa21a963edf53183357edfc79a9361b44435Daniel DunbarGAS        := @GAS@
1572532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPOD2HTML   := @POD2HTML@
1582532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPOD2MAN    := @POD2MAN@
1592532fa21a963edf53183357edfc79a9361b44435Daniel DunbarPDFROFF    := @PDFROFF@
1602532fa21a963edf53183357edfc79a9361b44435Daniel DunbarRUNTEST    := @RUNTEST@
1612532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTCLSH      := @TCLSH@
1622532fa21a963edf53183357edfc79a9361b44435Daniel DunbarZIP        := @ZIP@
1632532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1642532fa21a963edf53183357edfc79a9361b44435Daniel DunbarHAVE_PTHREAD := @HAVE_PTHREAD@
1652532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1662532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLIBS       := @LIBS@
1672532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1682532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Targets that we should build
1692532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTARGETS_TO_BUILD=@TARGETS_TO_BUILD@
1702532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1712532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Path to directory where object files should be stored during a build.
1722532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Set OBJ_ROOT to "." if you do not want to use a separate place for
1732532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# object files.
1742532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOBJ_ROOT := .
1752532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1762532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# What to pass as rpath flag to g++
1772532fa21a963edf53183357edfc79a9361b44435Daniel DunbarRPATH := @RPATH@
1782532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1792532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# What to pass as -rdynamic flag to g++
1802532fa21a963edf53183357edfc79a9361b44435Daniel DunbarRDYNAMIC := @RDYNAMIC@
1812532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1822532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# These are options that can either be enabled here, or can be enabled on the
1832532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# make command line (ie, make ENABLE_PROFILING=1):
1842532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
185b2bc6e4ad6a15fd93bc256f26bcb2a05c052fb25Eric Christopher# When ENABLE_LIBCPP is enabled, LLVM uses libc++ by default to build.
186b2bc6e4ad6a15fd93bc256f26bcb2a05c052fb25Eric Christopher#ENABLE_LIBCPP = 0
187b2bc6e4ad6a15fd93bc256f26bcb2a05c052fb25Eric ChristopherENABLE_LIBCPP = @ENABLE_LIBCPP@
188b2bc6e4ad6a15fd93bc256f26bcb2a05c052fb25Eric Christopher
1892532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put
1902532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# into the "Release" directories. Otherwise, LLVM code is not optimized and
1912532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# output is put in the "Debug" directories.
1922532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#ENABLE_OPTIMIZED = 1
1932532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@ENABLE_OPTIMIZED@
1942532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
1952532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_PROFILING is enabled, profile instrumentation is done
1962532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# and output is put into the "<Flavor>+Profile" directories, where
1972532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# <Flavor> is either Debug or Release depending on how other build
1982532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# flags are set. Otherwise, output is put in the <Flavor>
1992532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# directories.
2002532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#ENABLE_PROFILING = 1
2012532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@ENABLE_PROFILING@
2022532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2032532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
2042532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# exclude assertion checks, otherwise they are included.
2052532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#DISABLE_ASSERTIONS = 1
2062532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@DISABLE_ASSERTIONS@
2072532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2082532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_EXPENSIVE_CHECKS is enabled, builds of all of the LLVM
2092532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# code will include expensive checks, otherwise they are excluded.
2102532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#ENABLE_EXPENSIVE_CHECKS = 0
2112532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@ENABLE_EXPENSIVE_CHECKS@
2122532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2132532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When DEBUG_RUNTIME is enabled, the runtime libraries will retain debug
2142532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# symbols.
2152532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#DEBUG_RUNTIME = 1
2162532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@DEBUG_RUNTIME@
2172532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2182532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When DEBUG_SYMBOLS is enabled, the compiler libraries will retain debug
2192532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# symbols.
2202532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#DEBUG_SYMBOLS = 1
2212532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar@DEBUG_SYMBOLS@
2222532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2232532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# The compiler flags to use for optimized builds.
2242532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOPTIMIZE_OPTION := @OPTIMIZE_OPTION@
2252532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2262532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_PROFILING is enabled, the llvm source base is built with profile
2272532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# information to allow gprof to be used to get execution frequencies.
2282532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#ENABLE_PROFILING = 1
2292532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2302532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_DOCS is disabled, docs/ will not be built.
2312532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_DOCS = @ENABLE_DOCS@
2322532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2332532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When ENABLE_DOXYGEN is enabled, the doxygen documentation will be built
2342532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_DOXYGEN = @ENABLE_DOXYGEN@
2352532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2362532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Do we want to enable threads?
2372532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_THREADS := @ENABLE_THREADS@
2382532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2392532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Do we want to build with position independent code?
2402532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_PIC := @ENABLE_PIC@
2412532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2422532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Do we want to build a shared library and link the tools with it?
2432532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_SHARED := @ENABLE_SHARED@
2442532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2452532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Do we want to link the stdc++ into a shared library? (Cygming)
2462532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_EMBED_STDCXX := @ENABLE_EMBED_STDCXX@
2472532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2482532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Use -fvisibility-inlines-hidden?
2492532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_VISIBILITY_INLINES_HIDDEN := @ENABLE_VISIBILITY_INLINES_HIDDEN@
2502532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2512532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Do we want to allow timestamping information into builds?
2522532fa21a963edf53183357edfc79a9361b44435Daniel DunbarENABLE_TIMESTAMPS := @ENABLE_TIMESTAMPS@
2532532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2542532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# This option tells the Makefiles to produce verbose output.
2552532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# It essentially prints the commands that make is executing
2562532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar#VERBOSE = 1
2572532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2582532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Enable JIT for this platform
2592532fa21a963edf53183357edfc79a9361b44435Daniel DunbarTARGET_HAS_JIT = @TARGET_HAS_JIT@
2602532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2612532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Environment variable to set to change the runtime shared library search path.
2622532fa21a963edf53183357edfc79a9361b44435Daniel DunbarSHLIBPATH_VAR = @SHLIBPATH_VAR@
2632532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2642532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Shared library extension for host platform.
2652532fa21a963edf53183357edfc79a9361b44435Daniel DunbarSHLIBEXT = @SHLIBEXT@
2662532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2672532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Executable file extension for host platform.
2682532fa21a963edf53183357edfc79a9361b44435Daniel DunbarEXEEXT = @EXEEXT@
2692532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2702532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Things we just assume are "there"
2712532fa21a963edf53183357edfc79a9361b44435Daniel DunbarECHO := echo
2722532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2732532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Get the options for causing archives to link all their content instead of
2742532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# just missing symbols, and the inverse of that. This is used for certain LLVM
2752532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# tools that permit loadable modules. It ensures that the LLVM symbols will be
2762532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# available to those loadable modules.
2772532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLINKALL := @LINKALL@
2782532fa21a963edf53183357edfc79a9361b44435Daniel DunbarNOLINKALL := @NOLINKALL@
2792532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2802532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Get the value of HUGE_VAL_SANITY which will be either "yes" or "no" depending
2812532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# on the check.
2822532fa21a963edf53183357edfc79a9361b44435Daniel DunbarHUGE_VAL_SANITY = @HUGE_VAL_SANITY@
2832532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2842532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Bindings that we should build
2852532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBINDINGS_TO_BUILD := @BINDINGS_TO_BUILD@
2862532fa21a963edf53183357edfc79a9361b44435Daniel DunbarALL_BINDINGS      := @ALL_BINDINGS@
2872532fa21a963edf53183357edfc79a9361b44435Daniel DunbarOCAML_LIBDIR      := @OCAML_LIBDIR@
2882532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2892532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# When compiling under Mingw/Cygwin, executables such as tblgen
2902532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# expect Windows paths, whereas the build system uses Unix paths.
2912532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# The function SYSPATH transforms Unix paths into Windows paths.
2922532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarifneq (,$(findstring -mno-cygwin, $(CXX)))
2932532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar  SYSPATH = $(shell echo $(1) | cygpath -m -f -)
2942532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarelse
2952532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar  SYSPATH = $(1)
2962532fa21a963edf53183357edfc79a9361b44435Daniel Dunbarendif
2972532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
2982532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Location of the plugin header file for gold.
2992532fa21a963edf53183357edfc79a9361b44435Daniel DunbarBINUTILS_INCDIR := @BINUTILS_INCDIR@
3002532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
3012532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Optional flags supported by the compiler
3022532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# -Wno-missing-field-initializers
3032532fa21a963edf53183357edfc79a9361b44435Daniel DunbarNO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@
3042532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# -Wno-variadic-macros
3052532fa21a963edf53183357edfc79a9361b44435Daniel DunbarNO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@
3069993a3aebb27c5cac55429a23af2d2a0f129cb95Rafael Espindola# -Wcovered-switch-default
3079993a3aebb27c5cac55429a23af2d2a0f129cb95Rafael EspindolaCOVERED_SWITCH_DEFAULT = @COVERED_SWITCH_DEFAULT@
3082532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar
3092532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Was polly found in tools/polly?
3102532fa21a963edf53183357edfc79a9361b44435Daniel DunbarLLVM_HAS_POLLY = @LLVM_HAS_POLLY@
3112532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# Flags supported by the linker.
3122532fa21a963edf53183357edfc79a9361b44435Daniel Dunbar# bfd ld / gold --version-script=file
3132532fa21a963edf53183357edfc79a9361b44435Daniel DunbarHAVE_LINK_VERSION_SCRIPT = @HAVE_LINK_VERSION_SCRIPT@
314