X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.config.in;h=2d03272fe97d5d11ef85328b2c979f183a41ec66;hb=e5cea5eb89c9e96e8c8f5318c393d573ac8662bc;hp=9f6215c5065c7ff07b9d3191e76b3286f8af9da1;hpb=8a2d4718257aa1a97dad9f9f8cce719b539c694b;p=oota-llvm.git diff --git a/Makefile.config.in b/Makefile.config.in index 9f6215c5065..2d03272fe97 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@ @@ -64,11 +128,11 @@ FIND := @FIND@ FLEX := @LEX@ GREP := @GREP@ INSTALL := @INSTALL@ -INSTALL_SH := $(BUILD_SRC_ROOT)/autoconf/install-sh +INSTALL_SH := $(LLVM_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@ @@ -91,25 +155,24 @@ RUNTEST := @RUNTEST@ TCLSH := @TCLSH@ ZIP := @ZIP@ -# Paths to miscellaneous programs we assume are present -RPWD := pwd -ECHO := echo +# 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@ # 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): @@ -138,72 +201,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