[PATCH] Deprecate in-source autoconf builds
Nick Lewycky
nicholas at mxc.ca
Sat May 2 22:30:07 PDT 2015
Jonathan Roelofs wrote:
> Hi echristo, nlewycky,
>
> (CC-ing cfe-commits even though this is an LLVM patch... it affects both projects)
>
> This is a followup from: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150323/268067.html
>
> Upgrade instructions:
>
> $ mv llvm/include/llvm/Config/config.h ./config.h.BACKUP
>
> # copy the configure line from line 7 of llvm/config.log (for example: `$ ./configure --no-create --no-recursion`
>
> $ mkdir build
> $ cd build
>
> # run the configure line, but this time with '../llvm' at the beginning:
>
> $ ../llvm/configure --no-create --no-recursion
>
Thanks for doing this! The patch LGTM. Eric?
> http://reviews.llvm.org/D9351
>
> Files:
>
> Makefile.config.in
> autoconf/configure.ac
> configure
>
> Index: Makefile.config.in
> ===================================================================
>
> - Makefile.config.in +++ Makefile.config.in @@ -58,6 +58,22 @@ PROJ_SRC_ROOT := $(LLVM_SRC_ROOT) PROJ_SRC_DIR := $(LLVM_SRC_ROOT)$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))
>
> +# FIXME: This is temporary during the grace period where in-source builds are +# deprecated. Convert to a hard error when that period is up. +# +# See: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150323/268067.html +ifeq ($(LLVM_SRC_ROOT), $(LLVM_OBJ_ROOT)) + $(warning ######################################################################################) + $(warning # #) + $(warning # WARNING #) + $(warning # #) + $(warning # In-source builds are deprecated. #) + $(warning # #) + $(warning # Please configure from a separate build directory! #) + $(warning # #) + $(warning ######################################################################################) +endif + 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)) Index: autoconf/configure.ac ===================================================================
> - autoconf/configure.ac +++ autoconf/configure.ac @@ -73,6 +73,19 @@ fi fi
>
> +dnl Quit if it is an in-source build +if test ${srcdir} == "." ; then + AC_MSG_WARN([**************************************************************************************]) + AC_MSG_WARN([* *]) + AC_MSG_WARN([* WARNING *]) + AC_MSG_WARN([* *]) + AC_MSG_WARN([* In-source builds are deprecated. *]) + AC_MSG_WARN([* *]) + AC_MSG_WARN([* Please configure from a separate build directory! *]) + AC_MSG_WARN([* *]) + AC_MSG_WARN([**************************************************************************************]) +fi + dnl Default to empty (i.e. assigning the null string to) CFLAGS and CXXFLAGS, dnl instead of the autoconf default (for example, '-g -O2' for CC=gcc). : ${CFLAGS=} Index: configure ===================================================================
> - configure +++ configure @@ -2030,6 +2030,27 @@ fi fi
>
> +if test ${srcdir} == "." ; then + { echo "$as_me:$LINENO: WARNING: **************************************************************************************">&5 +echo "$as_me: WARNING: **************************************************************************************">&2;} + { echo "$as_me:$LINENO: WARNING: * *">&5 +echo "$as_me: WARNING: * *">&2;} + { echo "$as_me:$LINENO: WARNING: * WARNING *">&5 +echo "$as_me: WARNING: * WARNING *">&2;} + { echo "$as_me:$LINENO: WARNING: * *">&5 +echo "$as_me: WARNING: * *">&2;} + { echo "$as_me:$LINENO: WARNING: * In-source builds are deprecated. *">&5 +echo "$as_me: WARNING: * In-source builds are deprecated. *">&2;} + { echo "$as_me:$LINENO: WARNING: * *">&5 +echo "$as_me: WARNING: * *">&2;} + { echo "$as_me:$LINENO: WARNING: * Please configure from a separate build directory! *">&5 +echo "$as_me: WARNING: * Please configure from a separate build directory! *">&2;} + { echo "$as_me:$LINENO: WARNING: * *">&5 +echo "$as_me: WARNING: * *">&2;} + { echo "$as_me:$LINENO: WARNING: **************************************************************************************">&5 +echo "$as_me: WARNING: **************************************************************************************">&2;} +fi + : ${CFLAGS=} : ${CXXFLAGS=}
>
> EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
http://reviews.llvm.org/D9351
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list