X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.config.in;h=4ab98bc1ec4d0963170176b61fcc5096f6c66e65;hb=9f30e22930aff7acab912bfe6be3d18a855776f9;hp=03d62903375a0a5e066435019813524dbeb10123;hpb=b756c79d125c402931d0852f34c3444e947fcc8a;p=oota-llvm.git diff --git a/Makefile.config.in b/Makefile.config.in index 03d62903375..4ab98bc1ec4 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -33,28 +33,22 @@ LLVM_CONFIGTIME := @LLVM_CONFIGTIME@ # ########################################################################### +PWD := @BINPWD@ # Set the project name to LLVM if its not defined ifndef PROJECT_NAME -PROJECT_NAME := LLVM +PROJECT_NAME := $(LLVMPackageName) endif -PROJ_OBJ_DIR := $(shell pwd) -PROJ_OBJ_ROOT := $(subst //,/,$(shell cd $(PROJ_OBJ_DIR)/$(LEVEL); pwd)) - -ifeq ($(PROJECT_NAME),LLVM) -LLVM_SRC_ROOT := @abs_top_srcdir@ -LLVM_OBJ_ROOT := @abs_top_builddir@ -PROJ_SRC_ROOT := $(LLVM_SRC_ROOT) -PROJ_SRC_DIR := $(subst //,/,$(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))) -PROJ_prefix := @prefix@ -PROJ_bindir := @prefix@/bin -PROJ_libdir := @prefix@/lib -PROJ_datadir := @prefix@/share -PROJ_docsdir := @prefix@/docs/llvm -PROJ_etcdir := @prefix@/etc/llvm -PROJ_includedir := @prefix@/include -PROJ_infodir := @prefix@/info -PROJ_mandir := @prefix@/man +PROJ_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) else ifndef PROJ_SRC_ROOT @@ -72,21 +66,25 @@ endif ifndef LLVM_OBJ_ROOT $(error Projects must define LLVM_OBJ_ROOT) endif -PROJ_SRC_DIR := $(subst //,/,$(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))) -PROJ_prefix := $(PROJ_INSTALL_ROOT) -PROJ_bindir := $(PROJ_INSTALL_ROOT)/bin -PROJ_libdir := $(PROJ_INSTALL_ROOT)/lib -PROJ_datadir := $(PROJ_INSTALL_ROOT)/share -PROJ_docsdir := $(PROJ_INSTALL_ROOT)/docs/llvm -PROJ_etcdir := $(PROJ_INSTALL_ROOT)/etc/llvm -PROJ_includedir := $(PROJ_INSTALL_ROOT)/include -PROJ_infodir := $(PROJ_INSTALL_ROOT)/info -PROJ_mandir := $(PROJ_INSTALL_ROOT)/man +PROJ_SRC_DIR := $(shell cd $(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)); $(PWD)) +prefix := $(PROJ_INSTALL_ROOT) +PROJ_prefix := $(prefix) ifndef PROJ_VERSION PROJ_VERSION := 1.0 endif endif +LLVMMAKE := $(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 system LLVM_ON_UNIX:=@LLVM_ON_UNIX@ LLVM_ON_WIN32:=@LLVM_ON_WIN32@ @@ -97,12 +95,22 @@ OS=@OS@ # Target hardware architecture ARCH=@ARCH@ +# Indicates, whether we're cross-compiling LLVM or not +LLVM_CROSS_COMPILING=@LLVM_CROSS_COMPILING@ + +# Executable file extension for build platform (mainly for +# tablegen call if we're cross-compiling). +BUILD_EXEEXT=@BUILD_EXEEXT@ + # Target triple (cpu-vendor-os) for which we should generate code TARGET_TRIPLE=@target@ # Targets that we should build TARGETS_TO_BUILD=@TARGETS_TO_BUILD@ +# Extra options to compile LLVM with +EXTRA_OPTIONS=@EXTRA_OPTIONS@ + # Endian-ness of the target ENDIAN=@ENDIAN@ @@ -119,6 +127,9 @@ LDFLAGS+=@LDFLAGS@ # Path to the library archiver program. AR_PATH = @AR@ +# Path to the nm program +NM_PATH = @NM@ + # The pathnames of the programs we require to build BISON := @BISON@ CMP := @CMP@ @@ -151,7 +162,8 @@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ -HAVE_PERL := @HAVE_PERL@ +HAVE_PERL := @HAVE_PERL@ +HAVE_PTHREAD := @HAVE_PTHREAD@ LIBS := @LIBS@ @@ -160,7 +172,14 @@ LIBS := @LIBS@ LLVMGCCDIR := @LLVMGCCDIR@ # Determine the target for which LLVM should generate code. +ifeq (@LLVMGCC_MAJVERS@,3) LLVMGCCARCH := @target@/3.4-llvm +else +LLVMGCCARCH := @target@/@LLVMGCC_VERSION@ +endif + +# Determine the path where the library executables are +LLVMGCCLIBEXEC := @LLVMGCCLIBEXEC@ # Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries: LLVMGCC := @LLVMGCC@ @@ -169,6 +188,7 @@ 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 @@ -189,6 +209,11 @@ OBJ_ROOT := . #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 @@ -204,6 +229,9 @@ ENABLE_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@ + # This option tells the Makefiles to produce verbose output. # It essentially prints the commands that make is executing #VERBOSE = 1 @@ -211,11 +239,22 @@ ENABLE_THREADS := @ENABLE_THREADS@ # Enable JIT for this platform TARGET_HAS_JIT = @TARGET_HAS_JIT@ -# Shared library extension for this platform. +# Shared library extension for host platform. SHLIBEXT = @SHLIBEXT@ -# Executable file extension for this platform. +# 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@