<HTML>
<HEAD>
<TITLE>Installing LessTif</TITLE>
<!--	<BASE HREF="/home/danny/Hungry/LESSTIF/INSTALL">	-->
</HEAD>
<BODY>
<!--                                                    	-->
<!-- Version information                                	-->
<!--                                                    	-->
<!-- $Id: INSTALL.html,v 1.12 1999/08/12 12:09:13 danny Exp $	-->
<!--                                                    	-->

<H1> Installing LessTif </H1>

by <I>The LessTif Core Team</I>

<H2> Introduction </H2>

This document details configuring, compiling,
and installing LessTif on various platforms.
<P>
The source of this document is in doc/INSTALL.html,
the LessTif build process uses lynx to convert it into plain text.
Both the HTML and the plain text formats should be in a distribution.
<P>
Readers that have (or are interested in) a binary version of LessTif
can jump to
<A HREF="#Binary_distributions_of_LessTif">section 5.2</A> immediately.
It also explains where to get the binary (pre-compiled) versions of LessTif.
<P>
Table of Contents:
<P>
<OL>
<LI><A HREF="#Before_LessTif">Before LessTif</A>(What you need to compile LessTif)
<LI><A HREF="#Supported_platforms">Supported platforms</A>
<LI><A HREF="#Configuring_LessTif">Configuring LessTif</A>
	<OL>
	<LI><A HREF="#LessTif_from_CVS">LessTif from CVS</A></LI>
	<LI><A HREF="#LessTif_source_distribution">LessTif source
			distribution</A>
	<LI><A HREF="#find_everything">Getting configure to find everything</A>
	<LI><A HREF="#tune_the_build">Using configure options
			to tune the build</A>
	</OL>
<LI><A HREF="#Compiling_LessTif">Compiling LessTif</A>
<LI><A HREF="#Installing_LessTif">Installing LessTif</A>
	<OL>
	<LI><A HREF="#LessTif_built_from_source">LessTif built from source</A>
	<LI><A HREF="#Binary_distributions_of_LessTif">Binary distributions of LessTif</A>
		<OL>
		<LI><A HREF="#Where_to_get_them">Where to get them</A>
		<LI><A HREF="#FreeBSD">FreeBSD</A>
		<LI><A HREF="#Linux">Linux</A>
		<LI><A HREF="#OS/2">OS/2</A>
		</OL>
	</OL>
<LI><A HREF="#After_LessTif">After LessTif</A>
		(Getting shared libraries to work)
<LI><A HREF="#Xlt_and_Xbae">Xlt and Xbae</A>
<LI><A HREF="#RevisionHistory">Revision History</A>
</OL>
<p>
If you have any corrections/additions/comments about this document,
please send E-mail to
<A HREF="mailto:lesstif@lesstif.org">lesstif@lesstif.org</A>.

<H2>
<A NAME="Before_LessTif">Before LessTif</A>(What you need to compile LessTif)
</H2>

<P>
Lesstif is meant as a source compatible replacement/alternative to Motif 1.2.
As such, it will have the same requirements as Motif 1.2.
As far as we know, the <B>only</B> requirement that Motif 1.2 has is that
you have X11R5 on your system.
Lesstif will _not_ compile with R4 or earlier.
If you have X11R5 or above,
you should be able to compile and run LessTif programs.
<P>
What this means is that all you folks out there with Sun's running
SunOS 4.x that haven't uprgraded your X11 release to R5 -- don't
use /usr/openwin.
That's R4 stuff, and won't work with LessTif.
Please don't send bug reports about this, because there is no way we
can write LessTif and remain source compatible with R4 or earlier.
<P>
If you're going to be doing development work with LessTif,
building the dependencies for the library files is a necessity.
You must have 'makedepend' to do this.
This should be standard on any machine with R5,
but if you can't find it, get it from
<A HREF="ftp://ftp.x.org/pub/R6untarred">ftp.x.org (try in /pub/R6untarred)</A>.
If you don't have makedepend in your path, make depend' will not work.
<P>
Lastly, you will need an ANSI-C compiler to build Lesstif.
If you have <A HREF="ftp://ftp.gnu.org/pub/gnu">GNU CC</A>, you're set.
<P>
Check later sections in this document to get platform-specific instructions
for building on 
<A HREF="#FreeBSD">FreeBSD</A>,
<A HREF="#Linux">Linux</A>,
and <A HREF="#OS/2">OS/2</A>.

<H2>
<A NAME="Supported_platforms">Supported platforms</A>
</H2>

<P>
Currently, LessTif is known to build and execute on the following platforms:
<PRE>
OS      Version      CPU               Compiler        X Version
----------------------------------------------------------------------------
Linux   2.0.25        Pentium           GCC-2.7.2.1     X11R6.1 (XFree86-3.2)
                      486               GCC-2.7.1       X11R5
        2.0.0         486               gcc-2.7.2       X11R6 (XFree86-312)
        2.0.18        Alpha             gcc-2.7.2       X11R6
        2.0.20        68030             gcc-2.7.2       X11R6 (Xfree86-3.2)
	(other 2.0.x kernels have been tested)
MkLinux 2.0.21        PowerPC           gcc-2.7.2       X11R6.1
Solaris 2.4           SPARC             GCC-2.7.2.1     X11R5
        2.5           SPARC             GCC-2.7.2       X11R5
SunOS   4.1.4         SPARC             GCC-2.7.2       X11R6.1
FreeBSD 2.1.5-RELEASE 386, 486          gcc-2.6.3       X11R6
        2.1           Intel             GCC-2.6.3       X11R6
        2.2-SNAP      Intel             GCC-2.6.3       X11R6
        2.2-961006-SNAP Pentium         GCC-2.7.2.1     X11R6.1
OpenBSD 2.0           i486              GCC-2.7.2.1     X11R6.1
        2.0           m68k (Sun3)       GCC-2.7.2.1     X11R6
	2.1           Pentium           GCC-2.7.2.1     X11R6.3 (Xfree86-3.3)
	2.1           Sparc             GCC-2.7.2.1     X11R6.3 (w/NCD Xterm)
	2.1           mvme68k           GCC-2.7.2.1     X11R6.3 (w/NCD Xterm)
NetBSD  1.2           m68k (Amiga 3000) GCC-2.7.2       X11R6.1
        1.2(B)        SPARC             GCC-2.7.2       X11R6, X11R6.1
OS/2    Warp          Pentium           GCC-2.7.2 (EMX) X11R6.1 (XFree86-3.2)
Digital UNIX 4.0      Alpha             GCC-2.7.2       X11R6
AIX     4.1.x         ?? (assume RS6K)  gcc-2.6.?       X11R5
        3.25          ?? (assume RS6K)  gcc-2.6.?/cc    X11R5
HP-UX   9.0.4         HP PA             HP cc           X11R5
SVR4    R40V4.3       mc88100           GCC-2.5.8       X11R5
NT      4.0           Intel             Cygwin32 (gcc)  X11R6
------------------------------------------------------------------------------
</PRE>

<H2>
<A NAME="Configuring_LessTif">Configuring LessTif</A>
</H2>

<P>
Configuration of LessTif is now handled by
<A HREF="http://sourceware.cygnus.com/automake">automake</A>,
<A HREF="http://sourceware.cygnus.com/autoconf">autoconf</A>, and
<A HREF="http://www.gnu.org/software/libtool/libtool.html">libtool</A>.
<P>
Automake, libtool, and autoconf are GNU development tools
which the LessTif developers use
to generate the distribution's build scripts and makefiles.
Normally this shouldn't bother you.
The end result is that there are a bunch of Makefile.in files,
and a "configure" script.
<P>
If you obtained a copy of LessTif from CVS,
then you need to perform some additional steps
which will create the configure script and all the Makefile.in files.
<P>
Configure is a script which is meant to be run by people who compile
LessTif (you, probably).
It looks at your system and figures out how exactly to compile.
It may need a little help through command-line options, see below.

<H3><A NAME="LessTif_from_CVS">LessTif from CVS</A></H3>

<P>
If you obtained your LessTif sources directly from CVS,
you'll have to perform some of the steps which
the LessTif developers normally perform when creating a distribution.
(So, if you did get a real distribution you don't need to do this
and you can go on to the next section.)
<P>
You'll need recent copies of
<A HREF="http://sourceware.cygnus.com/automake">automake</A>, and
<A HREF="http://sourceware.cygnus.com/autoconf">autoconf</A>,
<A HREF="http://ftp.gnu.org/pub/gnu/libtool">libtool</A>.
At the time of this writing, the current versions are
automake 1.4, autoconf 2.13, and libtool 1.3.
<P>
We have four different places where you need to run the auto* commands.
These are
<UL>
<LI>$LESSTIF (the main directory)
<LI>$LESSTIF/lib/Xlt (a directory tree containing a set of add-on widgets)
<LI>$LESSTIF/lib/Xbae (a directory tree containing the Xbae add-on widgets)
<LI>$LESSTIF/test
</UL>
<P>
In each of these places, you need to run the following commands
in the right order :
<UL>
<LI>libtoolize --force <I>not required in test directory</I>
<LI>aclocal
<LI>autoheader
<LI>automake -a -i
<LI>autoconf
</UL>
The autoconf manual tells you exactly what's happening when you do this.
You can find it at
<A HREF="http://sourceware.cygnus.com/automake">the automake web page</A>.
<P>
The whole process of running the auto tools and make
is automated by the <I>CVSMake</I> script
which is present in LessTif's top directory.
Use of CVSMake is recommended.
<P>
CVSMake needs to be run in the top source directory of LessTif,
it figures out which directories need its attention
(information from the configure.in),
and then does its thing.
After running CVSMake, the source tree should be ready for running
the configure command.
<P>
Note that you may get a warning about the INSTALL file missing in some cases.
Don't worry, it is now a generated file.
If you have Lynx on your system,
it'll convert doc/INSTALL.html (this document) into INSTALL.
This only happens during the build process
(and we're now in the configuration phase which is before the build);
that's why you can get this message.
By the way: it's harmless.
<P>
The commands above are also the commands that you need to run
if you have modified some of the makefiles yourself.
<P>
Once you've done all the above,
you can continue with the next section.

<H3><A NAME="LessTif_source_distribution">LessTif source distribution</A></H3>

<P>
To configure LessTif for your system, just type 'configure'.
This should do a reasonable job of locating the stuff it needs,
and gives rather verbose output should something fail.
<P>
The configure script has a lot of command line options
which you might need or want to use for two main reasons :
<UL>
<LI>the configure program doesn't work (well) for you
<LI>you want to tune the LessTif build process
</UL>
<P>
You can type
<PRE>
        configure --help
</PRE>
to get the list of all options, with a short description of each.
We'll cover most if not all of the options in the next sections
of this document.

<H3><A NAME="find_everything">Getting configure to find everything</A></H3>

<P>
Configure identifies a large number of aspects of your computer system
and it influences the compilation of LessTif based on that.
Autoconf and automake are tools which allow the LessTif developers
to specify all of that in a fairly simple manner.
Some of the things identified by configure are :
<UL>
<LI>where is the X distribution (include files, libraries)
<LI>do you have X11R5 or X11R6
<LI>do you have ANSI C compatible include files
<LI>do you have the lynx, man2html, yacc, lex programs
<LI>what is the type of the return value of the signal system call
<LI>...
</UL>
<P>
Two things that configure looks for on your machine are:
<UL>
<LI>X11R5/R6/R6.1 headers and libaries
<LI>Motif 1.2 headers and libraries (optional)
</UL>
<P>
Now many people who have Motif on their system don't use LessTif.
Hmm. Wonder why that is.
Anyway, it wouldn't make much sense if you needed Motif in order to
build LessTif.
The good news is : you don't need it.
The only reason why you can tell configure where to find Motif
is so it can configure the Makefiles under test/
to be capable of building LessTif as well as Motif tests.
<P>
Configure will tell you where it has found them if it found them.
If it didn't find X,
you'll have to specify the path on configure's command line.
Use these two options:
<PRE>
--x-includes
--x-libraries
</PRE>
<P>
And to specify the Motif stuff, use these:
<PRE>
--with-motif-includes
--with-motif-libraries
</PRE>
To specify the location of the various bits,
you have to set these flags equal to something.
An example on how to do this is:
<PRE>
configure --x-includes=/usr/local/X11R5/include
</PRE>
The other flags behave identically.  
<P>
NOTE: On an HP/UX system that we have access to,
the commands that we used to configure LessTif are :
<PRE>
    CC="cc -Ae"
    export CC
    configure --disable-static
</PRE>

<H3><A NAME="tune_the_build">Using configure options to tune the build</A></H3>

<P>
As of LessTif 0.87.2,
the build system is capable of building multiple LessTif libraries.
The purpose of this is to have several libraries that are compatible with
several releases of OSF/Motif.
<P>
This was introduced because an increasing number of people are using
Motif 2.* functions, and the binary releases of LessTif only supported
the 1.2 version of Motif.
<P>
Note that the 2.0 compatible parts of LessTif are far less stable than
the 1.2 parts.
In particular, binary incompatibilities in the 2.0 implementation
are known to occur between releases of LessTif.
<P>

<H4><A NAME="tune_a">Choosing which version to compile</A></H4>
<DL>
<DT>--enable-build-12
<DD>build Motif-1.2 compatible version (enabled by default)
<DT>--enable-build-20
<DD>build Motif-2.0 compatible version (enabled by default)
</DL>
<H4><A NAME="tune_a">Choosing which version to install as default</A></H4>
<DL>
<DT>--enable-default-12
<DD>install Motif-1.2 compatible version as default
<DT>--enable-default-20
<DD>install Motif-2.0 compatible version as default
</DL>
<H4><A NAME="tune_a">Other options</A></H4>
<DL>
<DT>--enable-shared
<DD>build shared libraries [default=yes]
<DT>--enable-static
<DD>build static libraries [default=no]
<DT>--with-dmalloc
<DD>use <A HREF="ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz">dmalloc</A>
<DT>--enable-maintainer-mode
<DD>enable make rules and dependencies not useful
    (and sometimes confusing) to the casual installer
<DT>--enable-debug
<DD>build LessTif with debugging options (-g)(default)
<DT>--enable-verbose
<DD>configure LessTif to be verbose (default)
<DT>--enable-nonstandard-conversions
<DD>include nonstandard conversions
<DT>--enable-production
<DD>build a production version (doesn't include XdbDebug calls which print
    all kinds of debugging info depending on some environment variables)
<DT>--prefix=XXX
<DD>tell configure where LessTif should be installed by "make install"
</DL>
<P>
There were also two options to allow building Motif 2.1 or CDE compatible
versions of LessTif; these were removed because they didn't work.

<H2>
<A NAME="Compiling_LessTif">Compiling LessTif</A>
</H2>

<P>
After configuring LessTif,
just typing 'make' should build all the libraries, clients,
and (optionally) tests for LessTif.
To build libraries or other things only,
just cd to the directory in which you want to build things, and type 'make'.
Dependencies have been set up so that the libraries 
will be recompiled if they are old (or haven't been compiled yet),
so typing make from within a test directory
will rebuild what needs to be rebuilt.
<P>
Some combinations of compilers and libraries may have code generation bugs.
For example, gcc-2.7.0 on a Solaris platform has known problems if
the library is compiled with an optimization greater than -O (-O1).
If you see weird problems when you debug library code,
try a lower (or no) optimization.
For the vast majority who compile with the default flags
(-g for GNU-C), this is not an issue.


<H2> <A NAME="Installing_LessTif">Installing LessTif</A> </H2>

<H3> <A NAME="LessTif_built_from_source">LessTif built from source</A> </H3>

<P>
Installing LessTif is as easy as typing 'make install'.
Getting shared libraries to work on your machine after installation
depends on your OS.
Fortunately we're using <A HREF="ftp://ftp.gnu.org/pub/gnu">libtool</A>
to solve the platform-dependencies problems for us.

<H3>
<A NAME="Binary_distributions_of_LessTif">Binary distributions of LessTif</A>
</H3>

Binary versions of LessTif are built and made available as a service to
people who want to use LessTif without having to compile it themselves.
As we're concentrating on developping and improving LessTif itself,
we consider binary releases to be a side product,
which we only generate once in a while - generally at each minor release.
Our release policy is detailed in <A HREF="RELEASE-POLICY">RELEASE-POLICY</A>.
<P>
Binary versions currently exist for Linux, FreeBSD, OS/2.
<H4>
<A NAME="Where_to_get_them">Where to get them</A>
</H4>
<P>
The primary source for LessTif
(<A HREF="ftp://ftp.lesstif.org/pub/hungry/lesstif">
ftp://ftp.lesstif.org/pub/hungry/lesstif</A>)
contains three different things :
<UL>
<LI>
<A HREF="ftp://ftp.lesstif.org/pub/hungry/lesstif/srcdist">source</A>
distributions (and a daily snapshot of CVS called lesstif-current)
<LI>daily diffs of the sources
<LI>
<A HREF="ftp://ftp.lesstif.org/pub/hungry/lesstif/bindist">binary</A>
distributions.
</UL>
<p>
You can also use CVS;
anonymous CVS has been set up so you can keep up to date very easily.
Instructions are on <A HREF="http://www.lesstif.org/cvs.html">the CVS page</A>
of the <A HREF="http://www.lesstif.org">LessTif web site</A>.
<H4>
<A NAME="FreeBSD">FreeBSD</A>
</H4>
<P>
Starting with the 0.80a (0.80 pre-release),
the FreeBSD binary distribution is provided as a pkg_add installable file.
<P>
Pkg_add(8) is FreeBSD's installation tool.
<P>
Installation of LessTif with pkg_add creates a directory /usr/lesstif,
under which all of LessTif is placed.
As the file /usr/lesstif/README explains,
you should put /usr/lesstif/bin in your $path,
add /usr/lesstif/lib to your LD_LIBRARY_PATH or
to the options of ldconfig in /etc/rc,
and point your compiler to include files and libraries by adding
<PRE>
    -I/usr/lesstif/include -L/usr/lesstif/lib
</PRE>
to its command line. See also <A HREF="#After_LessTif">below</A>.
<H4>
<A NAME="Linux">Linux</A>
</H4>
<P>
From <A HREF="mailto:msimpson@wans.net">Matthew Simpson&lt;msimpson@wans.net&gt;</A>:
<P>
Lesstif Binary Installation
<P>
The following procedure worked for installing the binary version 0.82 
Lesstif onto my Redhat 4.2 Linux system. I did not have a previous 
installation of either the source or binary Lesstif, so this works from 
scratch. I am documenting this days later, so please correct as needed. 
The binary installation is simple:
<OL>
<LI>After downloading the binary distribution, log in as root and place 
the file in /usr
<LI>gunzip it:
gunzip lesstif-0.82-linux.tar.gz
<LI>untar it:
tar -xvf lesstif-0.82-linux.tar
The result will be this directory:
/usr/lesstif
<LI>Remove the tar file if desired:
rm lesstif-0.82-linux.tar 
<LI>Edit /etc/ld.so.conf and add the following line for the untarred 
LessTif library:
/usr/lesstif/lib
<LI>Run this:
ldconfig
<P>
Lesstif Window Manager:
<P>
To ignore your default window manager and instead load mwm, make or copy 
these files as yourself or root (whichever you use) to your home directory:
<P>
<LI>Put a .xinitrc file in your home directory. Add this to the last line, 
replacing the call to any other window manager:
eval "exec /usr/lesstif/bin/mwm" 
Or for better tracking, use this line instead:
eval "exec /usr/lesstif/bin/mwm" -debug >"$HOME"/.MWM-errors 2>&amp;1
(The redirections rules for > and 2>&amp;1 syntax are specific to sh, which 
is what my startx script uses. The rules are slightly different for 
tcsh.) This will dump any errors to a file in your home directory called
.MWM-errors. If no errors occur, this file will not get created. If this 
file already exists, new errors will be appended to it. To get a new 
file each time you log in or start x windows, add this to your .login or
startx file:
rm -f $HOME/.MWM-errors 
To automatically execute your window manager upon login, add this to the
end of your .login file (this is using tcsh syntax):
if ( ! -e /tmp/.X0-lock ) then
echo "Starting X Windows..."
rm -f $HOME/.MWM-errors
startx
endif
<P>
<LI>Copy this:
cp /usr/lesstif/lib/X11/app-defaults/Mwm . 
This is where you set your personal app-defaults. Uncomment the lines 
mentioned at the end of this file to get some pretty borders. Here are 
some other things I changed:
Double clicking an icon was set too fast. To slow it down:
Mwm*doubleClickTime:            1000 
To allow automatic window focus whenever the mouse pointer hits it:
Mwm*keyboardFocusPolicy:        pointer
<P>
<LI>Copy this to your home directory:
cp /usr/lesstif/lib/X11/mwm/system.mwmrc .mwmrc 
Note that you should rename it from system.mwmrc to .mwmrc
This is where you set up your personal root menues. If you use XFree86, 
look in /usr/X11R6/bin for most of the already-installed applications 
you like to execute through the root window pull-down menues. More menues 
and sub-menues can be added as desired. Since /usr/X11R6/bin is in your 
path, you need not type the full path names into .mwmrc. Applications in 
other directories will need paths or soft links set up. 
<P>
When setting up these two files I did not have a Lesstif mwm manual page 
available. However, if you have Unix and Motif available at work (such as on 
SGI products), just do a man on mwm and print it out for reference. Most will 
apply to Lesstif mwm. (Even though SGI uses their own version called 4Dwm, 
they still provide the mwm manual pages with the IRIX 6.2 release.)
<P>
<LI>run startx
</OL>
Hope this helps someone. These directions may be over simplified, but I 
wanted to be specific. Thanks for Lesstif. I am learning M*tif but have 
a long way to go.
<P>
<I>Matt Simpson</I>

<H4>
<A NAME="OS/2">OS/2</A>
</H4>
<P>
The OS/2 binary distribution is provided as an InfoZip file.
Go to your X11ROOT and unzip the archive. 
<P>
If you want to build LessTif for XFree86/2 you have to use OS/2 specific
Makefiles. They are available from
<A HREF="http://www.ime.rwth-aachen.de/~michael/os2/lt/lesstif.html">
http://www.ime.rwth-aachen.de/~michael/os2/lt/lesstif.html</A>.

<H2>
<A NAME="After_LessTif">After LessTif (Getting shared libraries to work)</A>
</H2>

<P>
Shared library configuration differs from system to system.  Here is the
lowdown on getting them to work on the systems that support them.
<P>
<OL>
<LI>Linux
<BR>
There are two ways to have shared libraries available under linux:
	<UL>
	<LI>Use the LD_LIBRARY_PATH environment variable.
	<LI>Use ldconfig.
	</UL>
The second option is only available to those with superuser access, so
if you don't, or you specifically want to use the library that was just
built (for running the tests), use the LD_LIBRARY_PATH variable.  
<P>
The LD_LIBRARY_PATH variable is to contain a colon separated list of 
paths to be searched for shared libraries.  This variable is consulted 
before the information compiled by ldconfig, so even if you have LessTif 
already installed on your system you can use this variable to force the 
use of the newly built library.
<P>
An example setting for LD_LIBRARY_PATH:
<PRE>
$ LD_LIBRARY_PATH=/home/toshok/lesstif/libXm:/home/toshok/lesstif/libMrm
$ export LD_LIBRARY_PATH
</PRE>
If you have superuser access and want LessTif to be installed for system-
wide use,  make sure the directory to which the libraries were installed 
is listed in /etc/ld.so.conf.  Then (as root) type 'ldconfig -v' to make 
them available.
<P>
If you're not sure which library is being used (either the system-wide
installed one, or one you've just compiled), use the 'ldd' command.  After
generating an executable linked dynamically with LessTif, type 
'ldd &lt;executable-name&gt;'.  This will output a list of the paths to all 
the shared libraries this executable depends on.
<LI>HPUX 9</LI>
Nothing additional needs to be done.  Just make sure the linker can
find the libraries when generating the executable (the -L flag).

<LI>NetBSD/FreeBSD/OpenBSD</LI>
Same as for Linux.
</OL>
Send corrections or additions to this document to
<A HREF="mailto:lesstif@lesstif.org">&lt;lesstif@lesstif.org&gt;</A>

<H2>
<A NAME="Xlt_and_Xbae">Xlt and Xbae</A>
</H2>
<P>
The Xlt and Xbae widget sets are two widget sets that come with
LessTif distributions but that aren't part of the Motif&reg; clone.
This chapter describes briefly what they are,
and how to build and install them.
<H3>With and without LessTif</H3>
They can be built both inside a LessTif source tree or
independently, e.g. on a system that has commercial Motif.
<P>
Both Xlt and Xbae are built in exactly the same way,
so there's no need to make a distinction between them here.
<P>
The LessTif distribution is created such that the basic distribution
(the LessTif libraries, and the standard clients) are always part of
the distribution.
The other parts - the tests, Xlt, and Xbae - are all optional,
<b>and</b> they can be used without LessTif around.
<P>
What does this mean ? Well, quite simply it means you can use
the Xbae widget set without having to use LessTif.
Or the Xlt widget set.
<P>
Or, the other way around: if you want to use the LessTif library
but have no interest in any of the three optional pieces,
then you can just not install them.
<i>This is true for source distributions,
binary distributions may combine one or more of the optional bits
as a convenience to users who are not application developers</i>.
<P>
The following short chapters will describe both Xlt and Xbae,
then we'll describe how to build and/or install them.
<H3>Xlt</H3>
The Xlt widget set is mostly written by Rick Scott as a collection
of utilities that come in handy when writing Motif/LessTif programs.
<H3>Xbae</H3>
Xbae however is a small widget set that originates at Bellcore,
and that was part of the Bellcore Application Environment.
It was maintained for years outside of Bellcore by Andrew Lister,
but this became too much for him.
<P>
The primary source for Xbae is now in the Hungry CVS,
Xbae will be released at the same dates as LessTif even though
it is not part of LessTif.
<H3>How to build them</H3>
<P>
There's no magic involved in compiling or installing Xbae or Xlt.
Compilation is driven by the GNU auto* tools,
as such it should be similar to the compilation of many other freely
available software packages.
<P>
The Hungry CVS repository contains only sources however,
we try to avoid storing generated files in it.
This means that files that can be generated by either libtool,
automake, or autoconf, are not part of the CVS.
<P>
If you grab a development snapshot either by downloading a -current
image, or obtain a copy through anonymous CVS,
then you'll have to use these tools to generate some files which
would normally be present in a LessTif distribution.
<P>
<b>CVSMake</b> makes all this a lot easier though.
<H3>Quirks in the build</H3>
<PRE>
libtool: link: warning: cannot determine absolute directory name of `../../../../lib/Xm/.libs'
libtool: link: passing it literally to the linker, although it might fail
</PRE>

This means you've built Xbae outside of a LessTif source tree.
Don't worry about it.
<H3>Binary distributions</H3>
<H2>
<A NAME="RevisionHistory">Revision History</A>
</H2>

<P>
Document revision history :
<UL>
<LI>original writing : November 21, 1996
<LI>binary distributions added : June 14, 1997
<LI>add new configuration stuff: December 26, 1997
<LI>convert to HTML: January 20, 1998
<LI>provide text version based on lynx HTML -> text conversion,
    January 1999
<LI>update the links to GNU build tools, January 1999
<LI>update document to reflect build for more than one environment,
    February 1999
<LI>Add information about Xlt and Xbae.
</UL>
<P>
The LessTif CVS identifier for this document is
<br>
$Header: /cvsroot/hungry/lesstif/doc/INSTALL.html,v 1.12 1999/08/12 12:09:13 danny Exp $
.
</BODY>
</HTML>
