X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.config.in;h=5e0eda596bf4b5a007fc7b65de3d9e97efecac51;hb=307e7443b8e2f4ffb126a33355f0568f07da8421;hp=0ff3286b11fa32ffc83050f7f7b17f8f1754f207;hpb=8fa2d383f526166770ff6c5c49db6a7bc1c29d84;p=oota-llvm.git diff --git a/Makefile.config.in b/Makefile.config.in index 0ff3286b11f..5e0eda596bf 100644 --- a/Makefile.config.in +++ b/Makefile.config.in @@ -12,12 +12,94 @@ # #===------------------------------------------------------------------------===# +# Define LLVM specific info and directories based on the autoconf variables +LLVMPackageName := @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. +# +########################################################################### + +# 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@ # Target hardware architecture ARCH=@ARCH@ +# Target triple (cpu-vendor-os) for which we should generate code +TARGET_TRIPLE=@target@ + # Endian-ness of the target ENDIAN=@ENDIAN@ @@ -28,9 +110,6 @@ CXX = @CXX@ # Path to the CC binary, which use used by testcases for native builds. CC := @CC@ -# Path to the Python interpreter -PYTHON := @PYTHON@ - # Linker flags. LDFLAGS+=@LDFLAGS@ @@ -40,40 +119,55 @@ TOOLLINKOPTS=@LIBS@ # Path to the library archiver program. AR_PATH = @AR@ -# The pathnames of the Flex and Bison programs, respectively. -YACC = @YACC@ -BISON = @BISON@ -FLEX = @LEX@ - -# Paths to miscellaneous programs. -RPWD = pwd -SED = sed -RM = rm -ECHO = echo -MKDIR = @abs_top_srcdir@/autoconf/mkinstalldirs -DATE = date -MV = mv -INSTALL = @INSTALL@ -DOT = @DOT@ -ETAGS = @ETAGS@ -ETAGSFLAGS = @ETAGSFLAGS@ +# The pathnames of the programs we require to build +BISON := @BISON@ +CMP := @CMP@ +CP := @CP@ +DATE := @DATE@ +FIND := @FIND@ +FLEX := @LEX@ +GREP := @GREP@ +INSTALL := @INSTALL@ +MKDIR := $(LLVM_SRC_ROOT)/autoconf/mkinstalldirs +MV := @MV@ +RANLIB := @RANLIB@ +RM := @RM@ +SED := @SED@ +TAR := @TAR@ +YACC := @YACC@ + +# Paths to miscellaneous programs we hope are present but might not be +BZIP2 := @BZIP2@ +DOT := @DOT@ +DOXYGEN := @DOXYGEN@ +ETAGS := @ETAGS@ +ETAGSFLAGS := @ETAGSFLAGS@ +GROFF := @GROFF@ +GZIP := @GZIP@ +POD2HTML := @POD2HTML@ +POD2MAN := @POD2MAN@ +RUNTEST := @RUNTEST@ +TCLSH := @TCLSH@ +ZIP := @ZIP@ + +# 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): @@ -86,6 +180,9 @@ LLVMGCCDIR := @LLVMGCCDIR@ # information to allow gprof to be used to get execution frequencies. #ENABLE_PROFILING = 1 +# When ENABLE_DOXYGEN is enabled, the doxygen documentation will be built +ENABLE_DOXYGEN = @ENABLE_DOXYGEN@ + # This option tells the Makefiles to produce verbose output. # It essentially prints the commands that make is executing #VERBOSE = 1 @@ -99,78 +196,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 - -# Handle configured libraries -HAVE_BZIP2 := @HAVE_BZIP2@ -HAVE_ZLIB := @HAVE_ZLIB@ - -# Installation directories, as provided by the configure script. -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@ -bytecode_libdir = $(LLVMGCCDIR)/bytecode-libs -includedir = @includedir@ -infodir = @infodir@ -mandir = @mandir@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_DATA = @INSTALL_DATA@ - +# Things we just assume are "there" +ECHO := echo