autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142102 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
NAKAMURA Takumi 2011-10-16 02:54:26 +00:00
parent a87a7dba53
commit e5ab51d51f
4 changed files with 49 additions and 7 deletions

View File

@ -46,11 +46,19 @@ realpath = $(shell cd $(1); $(PWD))
PROJ_OBJ_DIR := $(call realpath, .)
PROJ_OBJ_ROOT := $(call realpath, $(PROJ_OBJ_DIR)/$(LEVEL))
CLANG_SRC_ROOT := @CLANG_SRC_ROOT@
ifeq ($(PROJECT_NAME),llvm)
LLVM_SRC_ROOT := $(call realpath, @abs_top_srcdir@)
LLVM_OBJ_ROOT := $(call realpath, @abs_top_builddir@)
PROJ_SRC_ROOT := $(LLVM_SRC_ROOT)
PROJ_SRC_DIR := $(call realpath, $(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)))
PROJ_SRC_DIR := $(LLVM_SRC_ROOT)$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))
ifneq ($(CLANG_SRC_ROOT),)
CLANG_SRC_ROOT:= $(call realpath, $(CLANG_SRC_ROOT))
PROJ_SRC_DIR := $(patsubst $(LLVM_SRC_ROOT)/tools/clang%,$(CLANG_SRC_ROOT)%,$(PROJ_SRC_DIR))
endif
prefix := @prefix@
PROJ_prefix := $(prefix)
PROJ_VERSION := $(LLVMVersion)

View File

@ -795,6 +795,17 @@ case "$withval" in
*) AC_MSG_ERROR([Invalid path for --with-ocaml-libdir. Provide full path]) ;;
esac
AC_ARG_WITH(clang-srcdir,
AS_HELP_STRING([--with-clang-srcdir],
[Directory to the out-of-tree Clang source]),,
withval="-")
case "$withval" in
-) clang_src_root="" ;;
/* | [[A-Za-z]]:[[\\/]]*) clang_src_root="$withval" ;;
*) clang_src_root="$ac_pwd/$withval" ;;
esac
AC_SUBST(CLANG_SRC_ROOT,[$clang_src_root])
AC_ARG_WITH(clang-resource-dir,
AS_HELP_STRING([--with-clang-resource-dir],
[Relative directory from the Clang binary for resource files]),,

23
configure vendored
View File

@ -708,6 +708,7 @@ ENABLE_CBE_PRINTF_A
OPTIMIZE_OPTION
EXTRA_OPTIONS
EXTRA_LD_OPTIONS
CLANG_SRC_ROOT
BINUTILS_INCDIR
NM
ifGNUmake
@ -1433,6 +1434,7 @@ Optional Packages:
--with-extra-ld-options Specify additional options to link LLVM with
--with-ocaml-libdir Specify install location for ocaml bindings (default
is stdlib)
--with-clang-srcdir Directory to the out-of-tree Clang source
--with-clang-resource-dir
Relative directory from the Clang binary for
resource files
@ -5510,6 +5512,22 @@ echo "$as_me: error: Invalid path for --with-ocaml-libdir. Provide full path" >&
esac
# Check whether --with-clang-srcdir was given.
if test "${with_clang_srcdir+set}" = set; then
withval=$with_clang_srcdir;
else
withval="-"
fi
case "$withval" in
-) clang_src_root="" ;;
/* | [A-Za-z]:[\\/]*) clang_src_root="$withval" ;;
*) clang_src_root="$ac_pwd/$withval" ;;
esac
CLANG_SRC_ROOT=$clang_src_root
# Check whether --with-clang-resource-dir was given.
if test "${with_clang_resource_dir+set}" = set; then
withval=$with_clang_resource_dir;
@ -10453,7 +10471,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 10456 "configure"
#line 10474 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -21906,6 +21924,7 @@ ENABLE_CBE_PRINTF_A!$ENABLE_CBE_PRINTF_A$ac_delim
OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
EXTRA_LD_OPTIONS!$EXTRA_LD_OPTIONS$ac_delim
CLANG_SRC_ROOT!$CLANG_SRC_ROOT$ac_delim
BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
NM!$NM$ac_delim
ifGNUmake!$ifGNUmake$ac_delim
@ -21987,7 +22006,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View File

@ -9,8 +9,15 @@
LEVEL := ..
include $(LEVEL)/Makefile.config
# Build clang if present.
OPTIONAL_PARALLEL_DIRS := clang
ifneq ($(CLANG_SRC_ROOT),)
OPTIONAL_PARALLEL_DIRS := $(CLANG_SRC_ROOT)
else
OPTIONAL_PARALLEL_DIRS := clang
endif
# Build LLDB if present. Note LLDB must be built last as it depends on the
# wider LLVM infrastructure (including Clang).
@ -36,9 +43,6 @@ ifdef ONLY_TOOLS
PARALLEL_DIRS := $(filter-out lldb,$(ONLY_TOOLS))
endif
include $(LEVEL)/Makefile.config
# These libraries build as dynamic libraries (.dylib /.so), they can only be
# built if ENABLE_PIC is set.
ifndef ONLY_TOOLS