Disable "in-tree" builds.
authorSteve Youngs <steve@sxemacs.org>
Mon, 24 Aug 2015 08:14:59 +0000 (18:14 +1000)
committerSteve Youngs <steve@sxemacs.org>
Mon, 24 Aug 2015 08:14:59 +0000 (18:14 +1000)
* m4/sxe-srctree.m4 (SXE_CHECK_SRCDIR_HEALTH): Error if $blddir =
$srcdir.

* INSTALL: Add some blurb about in-tree builds no longer being
supported.
Minimum texinfo version is now 5.2.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
INSTALL
m4/sxe-srctree.m4

diff --git a/INSTALL b/INSTALL
index 0f3f5f3..6935456 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,17 @@
 SXEmacs Installation Guide
 SXEmacs Installation Guide
-Copyright (C) 2005 - 2012 Steve Youngs
+Copyright (C) 2005 - 2015 Steve Youngs
+
+
+,----[ In-Tree Builds Lead To Madness ]
+| Please note that because of the complexity of SXEmacs and its build
+| chain, we do not support building from within the source tree itself.
+|
+| So please, ALWAYS run `configure' and `make' from a separate directory,
+| completely outside of the source tree.
+|
+| In the code examples below, "${SRCTREE}" refers to the path where
+| you wish to build SXEmacs.
+`----
 
 
 Building from tarball release: 
 
 
 Building from tarball release: 
@@ -11,7 +23,7 @@ In a nutshell:
 See ./configure --help for a description of all possible options,
 then
 
 See ./configure --help for a description of all possible options,
 then
 
-  $ ./configure [options]
+  $ ${SRCTREE}/configure [options]
   $ make
   $ make check
   $ make install
   $ make
   $ make check
   $ make install
@@ -37,7 +49,7 @@ Please note that SXEmacs _CANNOT_ be built with a C++ compiler.
 
 Also, some configuration options may need external libraries that are
 not shipped with SXEmacs.  SXEmacs will determine which libraries it
 
 Also, some configuration options may need external libraries that are
 not shipped with SXEmacs.  SXEmacs will determine which libraries it
-needs at configuration time (when you run `./configure').
+needs at configuration time (when you run `${SRCTREE}/configure').
 
 If configure can't find a particular library and you _do_ have it
 installed, you can usually get configure to find it by adding to the
 
 If configure can't find a particular library and you _do_ have it
 installed, you can usually get configure to find it by adding to the
@@ -132,17 +144,17 @@ install them and incorporate them into SXEmacs.
   If the optional libraries are in a non-standard location, use
   --with-site-prefixes option of configure. Ex:
 
   If the optional libraries are in a non-standard location, use
   --with-site-prefixes option of configure. Ex:
 
-       ./configure --with-site-prefixes=/opt/local
+       ${SRCTREE}/configure --with-site-prefixes=/opt/local
 
   You can specify a list of paths with --with-site-prefixes:
 
 
   You can specify a list of paths with --with-site-prefixes:
 
-       ./configure --with-site-prefixes=/opt/local:/sw
+       ${SRCTREE}/configure --with-site-prefixes=/opt/local:/sw
 
   NOTE: Usage of --prefix does NOT imply that it is added to
   site prefixes, so if you may need to add --with-site-prefixes
   even with --prefix:
        
 
   NOTE: Usage of --prefix does NOT imply that it is added to
   site prefixes, so if you may need to add --with-site-prefixes
   even with --prefix:
        
-       ./configure --prefix=/opt/local --with-site-prefixes=/opt/local
+       ${SRCTREE}/configure --prefix=/opt/local --with-site-prefixes=/opt/local
 
 
 
 
 
 
@@ -359,14 +371,16 @@ tell you in much greater detail what they need and how you can get the
 files and information you need.
 
 
 files and information you need.
 
 
-Building from git source:
-------------------------
+Building from git source: 
+------------------------ 
 This is identical to building from the tarball sources, with the
 addition of an extra step, and some extra requirements (that are most
 This is identical to building from the tarball sources, with the
 addition of an extra step, and some extra requirements (that are most
-likely already on your system).
+likely already on your system).  Remember that "in-tree" builds are
+not supported, so configure and make from a directory outside the
+tree.
 
   $ ./autogen.sh
 
   $ ./autogen.sh
-  $ ./configure [options]
+  $ ${SRCTREE}/configure [options]
   $ make
   $ make check
   $ make install
   $ make
   $ make check
   $ make install
@@ -381,7 +395,7 @@ You need at least...
 
   automake 1.9.4
   autoconf 2.60
 
   automake 1.9.4
   autoconf 2.60
-  texinfo 4.8
+  texinfo 5.2 (preferably 6.0)
 
 Warnings from autogen.sh:
 ------------------------
 
 Warnings from autogen.sh:
 ------------------------
index 019eeed..d8befbd 100644 (file)
@@ -51,6 +51,9 @@ AC_DEFUN([SXE_CHECK_SRCDIR_HEALTH], [dnl
                -f "$sxe_blddir/sxemacs_version.m4"; then
                AC_MSG_RESULT([yes])
                srcdir_equals_blddir_p=yes
                -f "$sxe_blddir/sxemacs_version.m4"; then
                AC_MSG_RESULT([yes])
                srcdir_equals_blddir_p=yes
+               AC_MSG_ERROR([Building "in-tree" is not supported]
+                   [Please create a new directory completely outside of the]
+                   [source tree, and run $progbasename from there.])
        else
                AC_MSG_RESULT([no. Good Boy!])
                srcdir_equals_blddir_p=no
        else
                AC_MSG_RESULT([no. Good Boy!])
                srcdir_equals_blddir_p=no