- update the list of supported platforms according to current known status;

- updated URL links to all dependencies to the current known URL;

- moved the dependency on Autotools to a dedicated section, because it is
not supposed to be necessary for people compiling from the distributed
source archive, and updated the version according to current status;

- extended the chapter on getting the sources to contain all info that
could be needed;

- added a note about compiler requirement to ease understanding the actual
requirements;

- documented some long-time known dependancies (libbsd, inotify, boehm gc);

- fixed a few strings here and there;

- made an appropriate reference to the README.i18n for the troubleshooting
of NLS.

Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>
---
 doc/build/Compilation.texi | 127 ++++++++++++++++++++++++++++++++-------------
 1 file changed, 91 insertions(+), 36 deletions(-)

diff --git a/doc/build/Compilation.texi b/doc/build/Compilation.texi
index 61e1e18..79376bd 100644
--- a/doc/build/Compilation.texi
+++ b/doc/build/Compilation.texi
@@ -107,7 +107,9 @@ This manual is for Window Maker, version @value{version}.
 @section Supported Platforms
 
 @itemize -
-@item Intel GNU/Linux Systems in general
+@item Intel GNU/Linux Systems in general, @t{ix86} and @t{x86_64} but other 
architectures should work
+@item BSD systems
+@item Solaris, at least on release 10 and 11
 @end itemize
 
 Patches to make it work on other platforms are welcome.
@@ -132,38 +134,52 @@ the server.
 @item Basic obvious stuff
 
 @itemize
-@item @emph{gcc} (or some other ANSI C compiler)
+@item @emph{gcc} (or some other ANSI C compiler, supporting some C99 
extensions)
 @item @emph{glibc} development files (usually @file{glibc-devel} in Linux 
distributions)
 @item @emph{X} development files (@file{XFree86-devel} or something similar)
 @end itemize
 
-@item @emph{autoconf}, @emph{automake} and @emph{libtool}
-@itemize
-@item autoconf 2.54
-@item automake 1.4
-@item libtool 1.4.2
-@end itemize
-
 @item @emph{Xft2} and its dependencies
 
 Dependencies include @emph{freetype2} and @emph{fontconfig}.
 You will also need the development files for them (@file{xft2-devel}).
+Sources are available at: @uref{http://www.freedesktop.org/wiki/Software/Xft/}
+
+@end itemize
+
+@noindent @b{Note}:
+@sc{Window Maker} is known to compile with @emph{gcc} and @emph{clang};
+the code source is mostly ANSI C (also known as C89 and C90) but is uses very 
few of the C99
+novelties;
+it also uses a few attributes introduced in the C11 standard but those are 
detected automatically,
+so most compilers should work.
+
 
+@section Special Dependencies
+@anchor{Special Dependencies}
+
+
+If you want to compile using the sources from the git repository instead of 
the distribution
+package, you will also need:
+@itemize
+@item @emph{git}
+@item @emph{autoconf} 2.69
+@item @emph{automake} 1.11
+@item @emph{libtool} 1.4.2
 @end itemize
 
 
 @section Optional Dependencies
 
 These libraries are not required to make @sc{Window Maker} work, but they are 
supported in case you
-want to use them. Version numbers are those that I have (and therefore, 
guaranteed to work), but
-other versions might work too.
+want to use them. Version numbers are indicative, but other versions might 
work too.
 
 @itemize -
 @item @emph{libXPM} 4.7 or newer
 
 Older versions may not work!
 
-Available at @uref{ftp://sunsite.unc.edu/pub/Linux/libs/X/}
+Available from @uref{http://xlibs.freedesktop.org/release/}
 
 There is built-in support for @emph{XPM} files, but it will not
 load images in some uncommon encodings.
@@ -171,28 +187,60 @@ load images in some uncommon encodings.
 @item @emph{libpng} 0.96 or newer and @emph{zlib}
 
 For @emph{PNG} image support,
-@uref{http://www.cdrom.com/pub/png/}
+@uref{http://www.libpng.org/pub/png/libpng.html}
 
 @item @emph{libtiff} 3.4 or newer
 
 For @emph{TIFF} image support,
-You can get it at @uref{ftp://ftp.sgi.com/graphics/tiff}
+@uref{http://www.libtiff.org/}
 
 @item @emph{libjpeg} 6.0.1 or newer
 
 For @emph{JPEG} image support,
 @uref{http://www.ijg.org/}
 
+Note that if you don't have it, @command{configure} will issue a big warning 
in the end,
+this is because JPEG images are often used in themes and for background images
+so you probably want this format supported.
+
 @item @emph{libgif} 2.2 or @emph{libungif}
 
 For @emph{GIF} image support,
-@uref{ftp://prtr-13.ucsc.edu/pub/libungif/}
+@uref{http://giflib.sourceforge.net/}
 
 @item @emph{GNU xgettext}
 
 If you want to use translated messages, you will need @emph{GNU gettext}.
 Other versions of @emph{gettext} are not compatible and will not work.
-Get the @emph{GNU} version from @uref{ftp://ftp.gnu.org}
+Get the @emph{GNU} version from @uref{http://www.gnu.org/software/gettext/}
+
+@item @emph{libbsd}
+
+This library can be used by the @emph{WINGs} utility library to make use of 
@command{strlcat} and
+@command{strlcpy} instead of using built-in functions if your system does not 
provide them in its
+core @emph{libc}.
+You should let @sc{Window Maker}'s @command{configure} detect this for you.
+You can get it from @uref{http://libbsd.freedesktop.org/wiki/}
+
+@item @emph{Inotify}
+
+If you have Linux's @emph{inotify} support, @sc{Window Maker} will use it to 
check for configuration
+updates instead of polling regularly the file.
+The needed header comes with the kernel, typical packages names include:
+@itemize
+@item @file{kernel-headers} for @emph{Slackware} and @emph{Fedora}
+@item @file{linux-userspace-headers} for @emph{Mageia}
+@item @file{linux-libc-dev} for @emph{Debian} and @emph{Ubuntu}
+@item @file{linux-glibc-devel} for @emph{OpenSuSE}
+@end itemize
+
+@item @emph{Boehm GC}
+
+This library can be used by the @emph{WINGs} utility toolkit to use a
+@cite{Boehm-Demers-Weiser Garbage Collector} instead of the traditional
+@command{malloc}/@command{free} functions from the @emph{libc}.
+You have to explicitly ask for its support though (@pxref{Configure Options}).
+You can get it from @uref{http://www.hboehm.info/gc/}
 
 @end itemize
 
@@ -203,14 +251,22 @@ Get the @emph{GNU} version from @uref{ftp://ftp.gnu.org}
 
 @section Getting the Sources
 
-The latest version of @sc{Window Maker} (@t{-crm}) can be found in the git 
repository at
+The latest version of @sc{Window Maker} (@t{-crm}) can be downloaded from
+@uref{http://www.windowmaker.org/}
+
+Alternatively, the development branch, called @t{#next} is in the @emph{git} 
repository at
 @uref{http://repo.or.cz/w/wmaker-crm.git}
 
-If you downloaded the git versions, type
+If you want to use the @emph{git} versions, you can get it with:
+@example
+git clone -b next git://repo.or.cz/wmaker-crm.git
+@end example
+@noindent then, assuming you have the dependencies listed in @ref{Special 
Dependencies}, you have to
+type:
 @example
 ./autogen.sh
 @end example
-@noindent to generate the config files.
+@noindent to generate the configuration script.
 
 
 @section Build and Install
@@ -229,8 +285,8 @@ make install
 ldconfig
 @end example
 
-@noindent or if you want to strip the debugging symbols from the binaries and 
make them
-smaller, you can instead type:
+@noindent or if you want to strip the debugging symbols from the binaries to 
make them smaller,
+you can type instead:
 
 @example
 make install-strip
@@ -249,7 +305,7 @@ Also run:
 ./configure --help
 @end example
 
-to get a complete listing of other options that are available.
+to get a complete list of options that are available.
 
 @item
 Run configure with the options you want.
@@ -328,7 +384,7 @@ some @sc{Window Maker} features. Example:
 will configure @sc{Window Maker} with @emph{modelock} supported and disable 
@emph{gif} support.
 Normally, you won't need any of them.
 
-To get a list of other options, run @command{./configure --help}
+To get the list of all options, run @command{./configure --help}
 
 @table @option
 @item --disable-gif
@@ -422,12 +478,12 @@ and @file{libjpeg-dev} installed.
 @item @emph{SuSE GNU/Linux}
 
 If you installed the @sc{Window Maker} package from @emph{SuSE}, uninstall it 
before trying to
-compile @emph{wmaker} or you might have problems.
+compile @emph{Window Maker} or you might have problems.
 
 @item @emph{MetroX} (unknown version)
 
 @emph{MetroX} has a bug that corrupts pixmaps that are set as window 
backgrounds.
-If you use @emph{MetroX} and has weird problems with textures, do not use 
textures in title bars.
+If you use @emph{MetroX} and have weird problems with textures, do not use 
textures in title bars.
 Or use a different X server.
 
 @end itemize
@@ -446,7 +502,7 @@ Also there is a @file{WindowMaker-extra.readme} to instruct 
you where that packa
 @section I don't have the @emph{root} password :(
 @anchor{No Root Password}
 
-If you can't get superuser privileges (can't be @i{root}) you can install 
@emph{wmaker} in your own
+If you can't get superuser privileges (can't be @i{root}) you can install 
@emph{Window Maker} in your own
 home directory.
 For that, supply the @option{--prefix} option when running configure in step 2 
of building
 @sc{Window Maker}.
@@ -461,7 +517,7 @@ Example:
 Then make @file{/home/jshmoe/bin} be included in your search @env{PATH}, add 
@file{/home/jshmoe/lib}
 to your @env{LD_LIBRARY_PATH} environment variable and run 
@command{bin/wmaker.inst}
 
-Of course, @file{/home/jshmoe} is supposed to be replaced with your actual 
home directory path.
+Of course, @file{/home/jshmoe} is supposed to be replaced by your actual home 
directory path.
 
 
 @section Upgrading
@@ -486,7 +542,12 @@ clues of the problem.
 
 @section Error with loading fonts, even if they exist
 
-Try rebuilding without NLS support.
+This is probably a problem with NLS (Native Language Support), you probably 
want to look at the
+@ref{Troubleshooting,,,wmaker_i18n,@file{README.i18n}}
+or try rebuilding without NLS support, which is done with:
+@example
+./configure LINGUAS=""
+@end example
 
 
 @section Error when configuring
@@ -498,14 +559,8 @@ configure: error: libtool configure failed
 @end example
 
 remove the @option{--no-reexec} option from @file{aclocal.m4} and reconfigure.
-Also make sure the @emph{autoconf} and @emph{automake} versions you have 
installed are:
-@itemize
-@item @emph{autoconf} 2.13
-@item @emph{automake} 1.4
-@item @emph{libtool} 1.3
-@end itemize
-
-Note that it must not be @emph{libtool} 1.2b, it must be @emph{libtool} 1.3, 
from the GNU sites.
+Also make sure the @emph{autoconf}, @emph{automake} and @emph{libtool} 
versions you have installed are in line with the versions
+listed in @ref{Special Dependencies}.
 
 
 @section configure doesn't detect @emph{libtiff}, or other graphic libraries
-- 
2.1.4


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to