X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.config.in;h=03e625be22b2ae2dbe6e58d921c2aa0610e92424;hb=ee181bc899d06c642f27e6a5157e61a5079d0acd;hp=d1efb2b437ddf192426937e2d3d893ef5cdc97c2;hpb=cf9be26e5d99c50b350aa8c5bf6ce6bc8322b213;p=oota-llvm.git diff --git a/Makefile.config.in b/Makefile.config.in index d1efb2b437d..03e625be22b 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)/man + # Determine if we're on a unix type operating system LLVM_ON_UNIX:=@LLVM_ON_UNIX@ LLVM_ON_WIN32:=@LLVM_ON_WIN32@ @@ -97,6 +95,13 @@ 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@ @@ -122,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@ @@ -154,7 +162,8 @@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ -HAVE_PERL := @HAVE_PERL@ +HAVE_PERL := @HAVE_PERL@ +HAVE_PTHREAD := @HAVE_PTHREAD@ LIBS := @LIBS@ @@ -163,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@ @@ -172,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 @@ -207,6 +224,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 @@ -214,11 +234,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@