Build Fix -- compatibility issue with newer autoconf
[sxemacs] / INSTALL
diff --git a/INSTALL b/INSTALL
index 0329762..e1c42cd 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,17 @@
 SXEmacs Installation Guide
-Copyright (C) 2005 - 2011 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
+| your SXEmacs source files are stored.
+`----
 
 
 Building from tarball release: 
@@ -11,7 +23,7 @@ In a nutshell:
 See ./configure --help for a description of all possible options,
 then
 
-  $ ./configure [options]
+  $ ${SRCTREE}/configure [options]
   $ 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
-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
@@ -50,8 +62,8 @@ the feature-range of SXEmacs.  See section `Optional Libraries'.
 Stripping:
 ---------
 Our advice... _DON'T_ do it.  Stripping object files doesn't buy you
-anything other than a little bit of drive space.  And in an era where
-200 Gigabyte hard disks are common, the space saved by stripping is
+anything other than a little bit of disc space.  And in an era where
+multi-Terabyte hard discs are common, the space saved by stripping is
 inconsequential at best.
 
 But that isn't the only reason why we suggest that you don't strip
@@ -82,27 +94,35 @@ actually have an adverse affect.
 
 Packages:
 --------
+As of 22.1.17 SXEmacs is distributing a set of XEmacs packages.
+However they are currently only available via HTTP so you will need
+a FFI-enabled SXEmacs to download and install package through the
+Package User Interface (PUI).
+
 Like XEmacs, SXEmacs only comes with a minimal set of lisp libraries
 to cover only basic editing and functions.  To get fuller
-functionality you need to install some extra elisp packages.  SXEmacs
-doesn't actually distribute any elisp packages, but it can and does
-use XEmacs packages.
-
-Unlike XEmacs, SXEmacs does _NOT_ need any packages pre-installed
-before its packaging tools (PUI) are usable.  To install elisp
-packages into a virgin, packageless, SXEmacs, follow these steps...
+functionality you need to install some extra elisp packages.
 
   1) Start SXEmacs
 
-  2) From the menubar, choose:
+  2) From the menubar, choose a download site:
 
          Tools -> Packages -> Set Download Site -> Official Releases
            -> ...
 
-  3) M-x pui-bootstrap RET
+     "choose" might be a bit optimistic of a word as we currently only
+     have a single packages download site.  That could change in the
+     future.  The glass is half-full, yeah? ;-)
 
-After the "bootstrapping" is finished you'll be asked if you want to
-install anymore packages.
+  3) M-x pui-list-packages RET
+
+     It will ask you if you would like to update the package-index
+     file, or, if you don't have one yet (if this is your first time
+     running SXEmacs, you won't), offer to create one for you.  In
+     either case, say "yes".
+
+At this point you can choose which packages to install.  There are
+some brief instructions at the bottom of that "Packages" buffer.
 
 
 File hierarchies:
@@ -132,17 +152,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:
 
-       ./configure --with-site-prefixes=/opt/local
+       ${SRCTREE}/configure --with-site-prefixes=/opt/local
 
   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:
        
-       ./configure --prefix=/opt/local --with-site-prefixes=/opt/local
+       ${SRCTREE}/configure --prefix=/opt/local --with-site-prefixes=/opt/local
 
 
 
@@ -160,12 +180,12 @@ install them and incorporate them into SXEmacs.
     http://www.mega-nerd.com/libsndfile/
 
   - ffmpeg:
-    http://ffmpeg.sourceforge.net/
+    http://ffmpeg.org/
 
   - mad:
     http://www.underbit.com/products/mad/
 
-  - SoX:
+  - SoX (min version 14.1.0):
     http://sox.sourceforge.net/
 
   Note: Some of the media libraries above may in turn have dependencies
@@ -186,7 +206,7 @@ install them and incorporate them into SXEmacs.
   - OSS (Open Sound System): native on Linux and BSD. DEPRECATED!
 
   - NAS (Network Audio System):
-    http://nas.codebrilliance.com/
+    http://www.radscan.com/nas.html
 
   - ESD (Enlightenment Sound Daemon):
     ftp://ftp.gnome.org/pub/gnome/sources/esound/0.2/
@@ -195,7 +215,7 @@ install them and incorporate them into SXEmacs.
     http://pulseaudio.org/
 
   - Jack (Jack Audio Connection Kit):
-    http://jackit.sourceforge.net/
+    http://jackaudio.org/
 
   - ALSA (Advanced Linux Sound Architecture): Linux-only
     http://www.alsa-project.org/
@@ -243,7 +263,7 @@ install them and incorporate them into SXEmacs.
   support.  We refer to enhanced number types as ENT.
 
   - GMP (GNU MultiPrecision arithmetics library):
-    http://swox.com/gmp
+    ftp://ftp.gnu.org/gnu/gmp/
 
   - BSD mp:
     Available natively on BSD distributions.  Also included in the
@@ -266,11 +286,9 @@ install them and incorporate them into SXEmacs.
 
     <ftp://sourceware.org/pub/libffi/>.
 
-  Or grab the latest CVS sources with:
+  Or grab the latest git sources with:
 
-    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi login
-       (password is ``anoncvs'')
-    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi co libffi
+    git clone https://github.com/libffi/libffi
 
   FFI is also available as part of GCC.  It gets turned on if you
   build the Java compiler, gcj.  Strangely enough, not very many Linux
@@ -308,23 +326,23 @@ install them and incorporate them into SXEmacs.
 
 The build failed:
 ----------------
-Advise 1:
+Suggestion 1:
 Don't panic.  Take a look at the PROBLEMS file first and see if your
 issue is listed there.
 
-Advise 2:
+Suggestion 2:
 If the build fails at the configure script, try to examine the output
 and/or the more verbose config.log.  If the culprit seems to be a
 certain test or configure option, try to circumvent it.  You can for one
 disable almost any functionality using --without-<feature>.
 
-Advise 3:
+Suggestion 3:
 If the build fails at the make stage somewhere, try to figure out which
 functionality was attempted to make.  If it appears to be at some of the
 optional features, try configuring again with that option disabled.  If
-it seems to be a compiler or linker problem read advise number 4.
+it seems to be a compiler or linker problem read suggestion number 4.
 
-Advise 4:
+Suggestion 4:
 If the build fails and you have absolutely no clue why it does, contact
 the friendly people at SXEmacs.  For almost real-time help consider the
 IRC channel 
@@ -353,20 +371,22 @@ There is a script under contrib called tar-build-failure.sh that
 will attempt to gather this information and create a tar file with
 helpful logs.
 
-Before submitting a report at http://issues.sxemacs.org/, please show
+Before submitting a report at https://issues.sxemacs.org/, please show
 up either on the mailing list or the IRC channel.  The developers can
 tell you in much greater detail what they need and how you can get the
 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
-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
-  $ ./configure [options]
+  $ ${SRCTREE}/configure [options]
   $ make
   $ make check
   $ make install
@@ -381,7 +401,7 @@ You need at least...
 
   automake 1.9.4
   autoconf 2.60
-  texinfo 4.8
+  texinfo 5.2 (preferably 6.0)
 
 Warnings from autogen.sh:
 ------------------------