[PATCH] Disallow in-source builds

Philip Reames listmail at philipreames.com
Mon Jun 22 16:19:30 PDT 2015


This is very unlikely to ever be accepted.  In particular, I know of 
several long standing developers who use in tree builds.

Do you have a good *reason* (other than merely best practice) why this 
needs to be changed?

Philip

On 06/22/2015 01:46 PM, Jonathan Roelofs wrote:
> Context: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150323/268067.html
>
> http://reviews.llvm.org/D10614
>
> Files:
>    Makefile.config.in
>    autoconf/configure.ac
>    configure
>
> Index: Makefile.config.in
> ===================================================================
> --- Makefile.config.in
> +++ Makefile.config.in
> @@ -58,20 +58,9 @@
>   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 ######################################################################################)
> +  $(error In-source builds are not allowed. Please configure from a separate build directory!)
>   endif
>   
>   ifneq ($(CLANG_SRC_ROOT),)
> Index: autoconf/configure.ac
> ===================================================================
> --- autoconf/configure.ac
> +++ autoconf/configure.ac
> @@ -75,15 +75,7 @@
>   
>   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([**************************************************************************************])
> +  AC_MSG_ERROR([In-source builds are not allowed. Please configure from a separate build directory!])
>   fi
>   
>   dnl Default to empty (i.e. assigning the null string to) CFLAGS and CXXFLAGS,
> Index: configure
> ===================================================================
> --- configure
> +++ configure
> @@ -2033,24 +2033,9 @@
>   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;}
> +  { { echo "$as_me:$LINENO: error: In-source builds are not allowed. Please configure from a separate build directory!" >&5
> +echo "$as_me: error: In-source builds are not allowed. Please configure from a separate build directory!" >&2;}
> +   { (exit 1); exit 1; }; }
>   fi
>   
>   : ${CFLAGS=}
>
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150622/bc7cbf67/attachment.html>


More information about the llvm-commits mailing list