#===-- Makefile.config - Local configuration for LLVM ------*- makefile -*--====
#
# This file is included by Makefile.common.  It defines paths and other
# values specific to a particular installation of LLVM.
#===-----------------------------------------------------------------------====

# Path to the C++ compiler to use.  This is an optional setting, which defaults
# to whatever your gmake defaults to.
#
# Under Linux, for some reason the compiler driver wants to search the PATH to
# find the system assembler, which breaks if the LLVM assembler is in our path.
# Hack it to use the assembler in /usr/bin directly.
#
CXX = PATH=/usr/bin /usr/dcs/software/evaluation/bin/g++

# We have the same problem with the CC binary, which use used by testcases for
# native builds.
#
CC := PATH=/usr/bin /usr/dcs/software/evaluation/bin/gcc

# Path to directory where object files should be stored during a build.
# Set LLVM_OBJ_DIR to "." if you do not want to use a separate place for
# object files.
# 
#LLVM_OBJ_DIR = .
LLVM_OBJ_DIR := /localhome/$(USER)

# Path to location for LLVM front-end this should only be specified here if you
# want to override the value set in Makefile.$(uname)
#
#LLVMGCCDIR := /home/vadve/lattner/cvs/gcc_install_x86

# When this setting is set to true, programs in the llvm/test/Programs hierarchy
# are not recompiled from source code.  Instead, the bytecode for the file is
# pulled from the BYTECODE_REPOSITORY directory.  This can be useful when disk
# space is limited or when you just don't want to spend time running the C
# frontend.
#
#USE_PRECOMPILED_BYTECODE := 1

# This path specifies the cannonical location of bytecode files for compiled
# versions of the test/Programs/* programs.  This is used as the bytecode source
# when USE_PRECOMPILED_BYTECODE is specified or when source code is not
# available for the program (such as SPEC).
#
BYTECODE_REPOSITORY := /home/vadve/lattner/LLVMPrograms

# Path to location for purify, this is only needed if you build with
# ENABLE_PURIFY=1
# 
PURIFY = /usr/dcs/applications/purify/bin/purify
