X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.config.in;h=47d0d81cbf1d8a5276d8e8f0eab0d123b5433d12;hb=28421d0a805e0069b8647e11b0e09064b940623a;hp=9f6215c5065c7ff07b9d3191e76b3286f8af9da1;hpb=8a2d4718257aa1a97dad9f9f8cce719b539c694b;p=oota-llvm.git diff --git a/Makefile.config.in b/Makefile.config.in index 9f6215c5065..47d0d81cbf1 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -12,20 +12,84 @@ # #===------------------------------------------------------------------------===# -# Define LLVM speific info and directories -PACKAGE_NAME := @PACKAGE_NAME@ -PACKAGE_VERSION := @PACKAGE_VERSION@ -LLVM_PREFIX := @LLVM_PREFIX@ -LLVM_BINDIR := @LLVM_BINDIR@ -LLVM_LIBDIR := @LLVM_LIBDIR@ -LLVM_DATADIR := @LLVM_DATADIR@ -LLVM_DOCSDIR := @LLVM_DOCSDIR@ -LLVM_ETCDIR := @LLVM_ETCDIR@ -LLVM_INCLUDEDIR := @LLVM_INCLUDEDIR@ -LLVM_INFODIR := @LLVM_INFODIR@ -LLVM_MANDIR := @LLVM_MANDIR@ +# Define LLVM specific info and directories based on the autoconf variables +LLVMPackageName := @PACKAGE_NAME@ +LLVMVersion := @PACKAGE_VERSION@ LLVM_CONFIGTIME := @LLVM_CONFIGTIME@ -LLVM_TARBALL_NAME := @PACKAGE_NAME@-@PACKAGE_VERSION@ + +########################################################################### +# 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. +# +########################################################################### + +# Set the project name to LLVM if its not defined +ifndef PROJECT_NAME +PROJECT_NAME := LLVM +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_VERSION := $(LLVMVersion) +else +ifndef PROJ_SRC_ROOT +$(error Projects must define PROJ_SRC_ROOT) +endif +ifndef PROJ_OBJ_ROOT +$(error Projects must define PROJ_OBJ_ROOT) +endif +ifndef PROJ_INSTALL_ROOT +$(error Projects must define PROJ_INSTALL_ROOT) +endif +ifndef LLVM_SRC_ROOT +$(error Projects must define LLVM_SRC_ROOT) +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 +ifndef PROJ_VERSION +PROJ_VERSION := 1.0 +endif +endif + +# Determine if we're on a unix type operating system +LLVM_ON_UNIX:=@LLVM_ON_UNIX@ +LLVM_ON_WIN32:=@LLVM_ON_WIN32@ # Target operating system for which LLVM will be compiled. OS=@OS@ @@ -36,6 +100,9 @@ ARCH=@ARCH@ # 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@ + # Endian-ness of the target ENDIAN=@ENDIAN@ @@ -49,9 +116,6 @@ CC := @CC@ # Linker flags. LDFLAGS+=@LDFLAGS@ -# Libraries needed by tools -TOOLLINKOPTS=@LIBS@ - # Path to the library archiver program. AR_PATH = @AR@ @@ -64,13 +128,8 @@ FIND := @FIND@ FLEX := @LEX@ GREP := @GREP@ INSTALL := @INSTALL@ -INSTALL_SH := $(BUILD_SRC_ROOT)/autoconf/install-sh -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_DATA = @INSTALL_DATA@ -MKDIR := @abs_top_srcdir@/autoconf/mkinstalldirs +MKDIR := $(LLVM_SRC_ROOT)/autoconf/mkinstalldirs MV := @MV@ -PAX := @PAX@ RANLIB := @RANLIB@ RM := @RM@ SED := @SED@ @@ -78,6 +137,7 @@ TAR := @TAR@ YACC := @YACC@ # Paths to miscellaneous programs we hope are present but might not be +PERL := @PERL@ BZIP2 := @BZIP2@ DOT := @DOT@ DOXYGEN := @DOXYGEN@ @@ -91,33 +151,49 @@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ -# Paths to miscellaneous programs we assume are present -RPWD := pwd -ECHO := echo +HAVE_PERL := @HAVE_PERL@ + +LIBS := @LIBS@ + +# 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. LLVMGCCARCH := @target@/3.4-llvm # Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries: -LCC1 = @LLVMCC1@ -LCC1XX = @LLVMCC1PLUS@ +LLVMGCC := @LLVMGCC@ +LLVMGXX := @LLVMGXX@ +LLVMCC1 := @LLVMCC1@ +LLVMCC1PLUS := @LLVMCC1PLUS@ +LLVMGCC_VERSION := @LLVMGCC_VERSION@ +LLVMGCC_MAJVERS := @LLVMGCC_MAJVERS@ # 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 := . -# 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@ - # 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, Release builds of all of the LLVM code are -# turned on, and Debug builds are turned off. +# 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 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 DEBUG_RUNTIME is enabled, the runtime libraries will retain debug +# symbols. +#DEBUG_RUNTIME = 1 +@DEBUG_RUNTIME@ + # 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 @@ -130,7 +206,7 @@ ENABLE_DOXYGEN = @ENABLE_DOXYGEN@ #VERBOSE = 1 # Enable JIT for this platform -@JIT@ +TARGET_HAS_JIT = @TARGET_HAS_JIT@ # Shared library extension for this platform. SHLIBEXT = @SHLIBEXT@ @@ -138,72 +214,5 @@ SHLIBEXT = @SHLIBEXT@ # Executable file extension for this platform. EXEEXT = @EXEEXT@ -########################################################################### -# 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 BUILD_SRC_DIR : The directory containing the code to build. -# o BUILD_SRC_ROOT : The root directory of the code to build. -# -# o BUILD_OBJ_DIR : The directory in which compiled code will be placed. -# o BUILD_OBJ_ROOT : The root directory in which compiled code is placed. -# -########################################################################### - -# Set the object build directory. By default, it is the current directory. -ifndef BUILD_OBJ_DIR -BUILD_OBJ_DIR := $(subst //,/,$(shell $(RPWD))) -endif - -# Set the root of the object directory. -ifndef BUILD_OBJ_ROOT -BUILD_OBJ_ROOT := $(subst //,/,$(shell cd $(BUILD_OBJ_DIR)/$(LEVEL); $(RPWD))) -endif - -# Set the source build directory. That is almost always the current directory. -ifndef BUILD_SRC_DIR -BUILD_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(BUILD_OBJ_ROOT)%,%,$(BUILD_OBJ_DIR))) -endif - -# Set the source root directory. -ifndef BUILD_SRC_ROOT -BUILD_SRC_ROOT := $(subst //,/,@abs_top_srcdir@) -endif - -# Set the LLVM object directory. -ifndef LLVM_OBJ_ROOT -ifdef LLVM_SRC_ROOT -LLVM_OBJ_ROOT := $(shell cd $(LLVM_SRC_ROOT); $(RPWD)) -else -LLVM_OBJ_ROOT := $(BUILD_OBJ_ROOT) -endif -endif - -# Set the LLVM source directory. -# It is typically the root directory of what we're compiling now. -ifndef LLVM_SRC_ROOT -LLVM_SRC_ROOT := $(BUILD_SRC_ROOT) -endif - -# Installation directories, as provided by the configure script. -abs_top_srcdir = @abs_top_srcdir@ -abs_top_builddir = @abs_top_builddir@ -exec_prefix = @exec_prefix@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -cferuntime_libdir = $(LLVMGCCDIR)/lib -includedir = @includedir@ -infodir = @infodir@ -mandir = @mandir@ +# Things we just assume are "there" +ECHO := echo