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