#===-- Makefile.config - Local configuration for LLVM ------*- Makefile -*--===### The LLVM Compiler Infrastructure## This file is distributed under the University of Illinois Open Source# License. See LICENSE.TXT for details.##===------------------------------------------------------------------------===### This file is included by Makefile.common. It defines paths and other# values specific to a particular installation of LLVM.##===------------------------------------------------------------------------===## Define LLVM specific info and directories based on the autoconf variablesLLVMPackageName:= @PACKAGE_NAME@
LLVMVersion:= @PACKAGE_VERSION@
LLVM_CONFIGTIME:= @LLVM_CONFIGTIME@
############################################################################ Directory Configuration# This section of the Makefile determines what is where. To be# specific, there are several locations that need to be defined:## o LLVM_SRC_ROOT : The root directory of the LLVM source code.# o LLVM_OBJ_ROOT : The root directory containing the built LLVM code.## o PROJ_SRC_DIR : The directory containing the code to build.# o PROJ_SRC_ROOT : The root directory of the code to build.## o PROJ_OBJ_DIR : The directory in which compiled code will be placed.# o PROJ_OBJ_ROOT : The root directory in which compiled code is placed.############################################################################PWD:= @BINPWD@
# Set the project name to LLVM if its not definedifndef PROJECT_NAMEPROJECT_NAME:=$(LLVMPackageName)endifPROJ_OBJ_DIR:=$(shell $(PWD))PROJ_OBJ_ROOT:=$(shell cd$(PROJ_OBJ_DIR)/$(LEVEL);$(PWD))ifeq ($(PROJECT_NAME),llvm)LLVM_SRC_ROOT:=$(shell cd @abs_top_srcdir@;$(PWD))LLVM_OBJ_ROOT:=$(shell cd @abs_top_builddir@;$(PWD))PROJ_SRC_ROOT:=$(shell cd$(LLVM_SRC_ROOT);$(PWD))PROJ_SRC_DIR:=$(shell cd$(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR));$(PWD))prefix:= @prefix@
PROJ_prefix:=$(prefix)PROJ_VERSION:=$(LLVMVersion)elseifndef PROJ_SRC_ROOT$(errorProjectsmustdefinePROJ_SRC_ROOT)endififndef PROJ_OBJ_ROOT$(errorProjectsmustdefinePROJ_OBJ_ROOT)endififndef PROJ_INSTALL_ROOT$(errorProjectsmustdefinePROJ_INSTALL_ROOT)endififndef LLVM_SRC_ROOT$(errorProjectsmustdefineLLVM_SRC_ROOT)endififndef LLVM_OBJ_ROOT$(errorProjectsmustdefineLLVM_OBJ_ROOT)endifPROJ_SRC_DIR:=$(shell cd$(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR));$(PWD))prefix:=$(PROJ_INSTALL_ROOT)PROJ_prefix:=$(prefix)ifndef PROJ_VERSIONPROJ_VERSION:= 1.0
endifendifLLVMMAKE:=$(LLVM_SRC_ROOT)/make
PROJ_bindir:=$(DESTDIR)$(PROJ_prefix)/bin
PROJ_libdir:=$(DESTDIR)$(PROJ_prefix)/lib
PROJ_datadir:=$(DESTDIR)$(PROJ_prefix)/share
PROJ_docsdir:=$(DESTDIR)$(PROJ_prefix)/docs/llvm
PROJ_etcdir:=$(DESTDIR)$(PROJ_prefix)/etc/llvm
PROJ_includedir:=$(DESTDIR)$(PROJ_prefix)/include
PROJ_infodir:=$(DESTDIR)$(PROJ_prefix)/info
PROJ_mandir:=$(DESTDIR)$(PROJ_prefix)/share/man
# Determine if we're on a unix type operating systemLLVM_ON_UNIX:=@LLVM_ON_UNIX@
LLVM_ON_WIN32:=@LLVM_ON_WIN32@
# Host operating system for which LLVM will be run.OS=@OS@
HOST_OS=@HOST_OS@
# Target operating system for which LLVM will compile for.TARGET_OS=@TARGET_OS@
# Target hardware architectureARCH=@ARCH@
# Indicates, whether we're cross-compiling LLVM or notLLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@
# Executable file extension for build platform (mainly for# tablegen call if we're cross-compiling).BUILD_EXEEXT=@BUILD_EXEEXT@
# Compilers for the build platflorm (mainly for tablegen# call if we're cross-compiling).BUILD_CC=@BUILD_CC@
BUILD_CXX=@BUILD_CXX@
# Triple for configuring build tools when cross-compilingBUILD_TRIPLE=@build@
# Target triple (cpu-vendor-os) for which we should generate codeTARGET_TRIPLE=@target@
# Extra options to compile LLVM withEXTRA_OPTIONS=@EXTRA_OPTIONS@
# Endian-ness of the targetENDIAN=@ENDIAN@
# Path to the C++ compiler to use. This is an optional setting, which defaults# to whatever your gmake defaults to.CXX= @CXX@
# Path to the CC binary, which use used by testcases for native builds.CC:= @CC@
# Linker flags.LDFLAGS+=@LDFLAGS@
# Path to the library archiver program.AR_PATH= @AR@
AR= @AR@
# Path to the nm programNM_PATH= @NM@
# The pathnames of the programs we require to buildCMP:= @CMP@
CP:= @CP@
DATE:= @DATE@
FIND:= @FIND@
GREP:= @GREP@
INSTALL:= @INSTALL@
MKDIR:=$(LLVM_SRC_ROOT)/autoconf/mkinstalldirs
MV:= @MV@
RANLIB:= @RANLIB@
RM:= @RM@
SED:= @SED@
TAR:= @TAR@
# Paths to miscellaneous programs we hope are present but might not bePERL:= @PERL@
BZIP2:= @BZIP2@
DOT:= @DOT@
DOXYGEN:= @DOXYGEN@
GROFF:= @GROFF@
GZIP:= @GZIP@
OCAMLC:= @OCAMLC@
OCAMLOPT:= @OCAMLOPT@
OCAMLDEP:= @OCAMLDEP@
OCAMLDOC:= @OCAMLDOC@
GAS:= @GAS@
POD2HTML:= @POD2HTML@
POD2MAN:= @POD2MAN@
RUNTEST:= @RUNTEST@
TCLSH:= @TCLSH@
ZIP:= @ZIP@
HAVE_PERL:= @HAVE_PERL@
HAVE_PTHREAD:= @HAVE_PTHREAD@
LIBS:= @LIBS@
# Targets that we should buildTARGETS_TO_BUILD=@TARGETS_TO_BUILD@
# Path to location for LLVM C/C++ front-end. You can modify this if you# want to override the value set by configure.LLVMGCCDIR:= @LLVMGCCDIR@
# Determine the target for which LLVM should generate code.ifeq (@LLVMGCC_MAJVERS@,3)LLVMGCCARCH:= @target@/3.4-llvm
elseLLVMGCCARCH:= @target@/@LLVMGCC_VERSION@
endif# Determine the path where the library executables areLLVMGCCLIBEXEC:= @LLVMGCCLIBEXEC@
# Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries:LLVMGCC:= @LLVMGCC@
LLVMGXX:= @LLVMGXX@
LLVMCC1:= @LLVMCC1@
LLVMCC1PLUS:= @LLVMCC1PLUS@
LLVMGCC_VERSION:= @LLVMGCC_VERSION@
LLVMGCC_MAJVERS:= @LLVMGCC_MAJVERS@
LLVMGCC_LANGS:= @LLVMGCC_LANGS@
# Path to directory where object files should be stored during a build.# Set OBJ_ROOT to "." if you do not want to use a separate place for# object files.OBJ_ROOT:= .
# What to pass as rpath flag to g++RPATH:= @RPATH@
# What to pass as -rdynamic flag to g++RDYNAMIC:= @RDYNAMIC@
# These are options that can either be enabled here, or can be enabled on the# make command line (ie, make ENABLE_PROFILING=1):# When ENABLE_OPTIMIZED is enabled, LLVM code is optimized and output is put# into the "Release" directories. Otherwise, LLVM code is not optimized and# output is put in the "Debug" directories.#ENABLE_OPTIMIZED = 1@ENABLE_OPTIMIZED@# When ENABLE_PROFILING is enabled, profile instrumentation is done# and output is put into the "<Flavor>+Profile" directories, where# <Flavor> is either Debug or Release depending on how other builkd# flags are set.. Otherwise, output is put in the <Flavor># directories.#ENABLE_PROFILING = 1@ENABLE_PROFILING@# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will# exclude assertion checks, otherwise they are included.#DISABLE_ASSERTIONS = 1@DISABLE_ASSERTIONS@# When ENABLE_EXPENSIVE_CHECKS is enabled, builds of all of the LLVM# code will include expensive checks, otherwise they are excluded.#ENABLE_EXPENSIVE_CHECKS = 0@ENABLE_EXPENSIVE_CHECKS@# When DEBUG_RUNTIME is enabled, the runtime libraries will retain debug# symbols.#DEBUG_RUNTIME = 1@DEBUG_RUNTIME@# When DEBUG_SYMBOLS is enabled, the compiler libraries will retain debug# symbols.#DEBUG_SYMBOLS = 1@DEBUG_SYMBOLS@# The compiler flags to use for optimized builds.OPTIMIZE_OPTION:= @OPTIMIZE_OPTION@
# When ENABLE_PROFILING is enabled, the llvm source base is built with profile# information to allow gprof to be used to get execution frequencies.#ENABLE_PROFILING = 1# When ENABLE_DOXYGEN is enabled, the doxygen documentation will be builtENABLE_DOXYGEN= @ENABLE_DOXYGEN@
# Do we want to enable threads?ENABLE_THREADS:= @ENABLE_THREADS@
# Do we want to build with position independent code?ENABLE_PIC:= @ENABLE_PIC@
# Use -fvisibility-inlines-hidden?ENABLE_VISIBILITY_INLINES_HIDDEN:= @ENABLE_VISIBILITY_INLINES_HIDDEN@
# This option tells the Makefiles to produce verbose output.# It essentially prints the commands that make is executing#VERBOSE = 1# Enable JIT for this platformTARGET_HAS_JIT= @TARGET_HAS_JIT@
# Shared library extension for host platform.SHLIBEXT= @SHLIBEXT@
# Executable file extension for host platform.EXEEXT= @EXEEXT@
# Things we just assume are "there"ECHO:=echo# Get the options for causing archives to link all their content instead of# just missing symbols, and the inverse of that. This is used for certain LLVM# tools that permit loadable modules. It ensures that the LLVM symbols will be# available to those loadable modules.LINKALL:= @LINKALL@
NOLINKALL:= @NOLINKALL@
# Get the value of HUGE_VAL_SANITY which will be either "yes" or "no" depending# on the check.HUGE_VAL_SANITY= @HUGE_VAL_SANITY@
# Bindings that we should buildBINDINGS_TO_BUILD:= @BINDINGS_TO_BUILD@
ALL_BINDINGS:= @ALL_BINDINGS@
OCAML_LIBDIR:= @OCAML_LIBDIR@
# When compiling under Mingw/Cygwin, executables such as tblgen# expect Windows paths, whereas the build system uses Unix paths.# The function SYSPATH transforms Unix paths into Windows paths.ifneq (,$(findstring -mno-cygwin, $(CXX)))SYSPATH=$(shell echo$(1)| cygpath -m -f -)elseSYSPATH=$(1)endif# Location of the plugin header file for gold.BINUTILS_INCDIR:= @BINUTILS_INCDIR@
C_INCLUDE_DIRS:= @C_INCLUDE_DIRS@
CXX_INCLUDE_ROOT:= @CXX_INCLUDE_ROOT@
CXX_INCLUDE_ARCH:= @CXX_INCLUDE_ARCH@
CXX_INCLUDE_32BIT_DIR= @CXX_INCLUDE_32BIT_DIR@
CXX_INCLUDE_64BIT_DIR= @CXX_INCLUDE_64BIT_DIR@
# When ENABLE_LLVMC_DYNAMIC is enabled, LLVMC will link libCompilerDriver# dynamically. This is needed to make dynamic plugins work on some targets# (Windows).ENABLE_LLVMC_DYNAMIC= 0
#@ENABLE_LLVMC_DYNAMIC@# When ENABLE_LLVMC_DYNAMIC_PLUGINS is enabled, LLVMC will have dynamic plugin# support (via the -load option).ENABLE_LLVMC_DYNAMIC_PLUGINS= 1
#@ENABLE_LLVMC_DYNAMIC_PLUGINS@# Optional flags supported by the compiler# -Wno-missing-field-initializersNO_MISSING_FIELD_INITIALIZERS= @NO_MISSING_FIELD_INITIALIZERS@
# -Wno-variadic-macrosNO_VARIADIC_MACROS= @NO_VARIADIC_MACROS@