
INSTALL                        TkDesk 1.2                       13.11.1999
--------------------------------------------------------------------------

 	        Building and Installation of TkDesk 1.2


This file describes how to compile and install the source release of
TkDesk.  Linux users may find precompiled dynamic or static (not
requiring Tcl/Tk) binaries at the TkDesk homepage:

            http://people.mainz.netsurf.de/~bolik/tkdesk/


Requirements
------------

TkDesk now supports Tcl/Tk 8.0 - 8.2!  As an overview, TkDesk now supports
the following combinations of Tcl/Tk and [incr Tcl] (a.k.a. itcl):

Tcl		Tk		itcl
---------	--------	--------
Tcl 7.5		Tk 4.1		itcl 1.5   (comes with TkDesk)
Tcl 7.6		Tk 4.2		itcl 1.5   (comes with TkDesk)
Tcl 8.0 	Tk 8.0		itcl 3.0.1 (NOT part of TkDesk)
Tcl 8.1 	Tk 8.1		itcl 3.0.1 + patch in contrib/itcl_fix.diff
Tcl 8.2 	Tk 8.2		itcl 3.0.1 + patch in contrib/itcl_fix.diff

As you can see, if you plan on using Tcl/Tk 8.0, which is the recommended
version for TkDesk 1.2, or a newer version of Tcl/Tk, you'll also have to
get and install itcl 3.0.1 from http://www.tcltk.com/itcl/.  If you're
using an older version of Tcl/Tk you can continue to use the itcl release
that's included with the TkDesk distribution.

If you intend to use Tcl/Tk version 8.1 or 8.2 you'll have to apply a fix
to itcl 3.0.1.  This fix is contained in file contrib/itcl_fix.diff.
To apply the fix go into the base directory of the unpacked itcl 3.0.1
distribution, cd to itcl/generic, and issue the command:

patch <../tkdesk-1.2/contrib/itcl_fix.diff

This assumes you unpacked TkDesk into the same directory as itcl.

If you don't have a supported version of Tcl/Tk installed you can get one
from ftp://ftp.scriptics.com/pub/tcl or any mirror site.

TkDesk also requires a subset of the functions provided by the BLT library.
By default the subset of BLT 2.4j that comes with TkDesk will be compiled,
but you can also have TkDesk link against an already installed BLT by
using the configure flag '--with-blt=<path>', where <path> is the directory
that contains libBLT.a (or libBLT.so).


Compilation
-----------

To compile TkDesk you first have to create the Makefiles for your system
by running "./configure".  If you don't want to install TkDesk underneath
/usr/local, which is the default, do "./configure --prefix=<path>".

Note: TkDesk's configure looks for the file tclConfig.sh and tkConfig.sh
that are installed with Tcl/Tk, usually in the corresponding "lib"
directory.  It looks in a few "standard" places, but if you installed
Tcl/Tk in a non-standard place you need to point configure to these
directories using the "--with-tcl=DIR" and "--with-tk=DIR" options.
Similarly, if you're using Tcl/Tk 8.x and have itcl 3.x installed in a
non-standard place you can use the "--with-itcl=DIR" option to have TkDesk
pick up the right itclConfig.sh.

The "--with-tk" option can be omitted if tkConfig.sh is in the same 
directory that's given to "--with-tcl".

For example, if you installed Tcl/Tk 8.0 into /usr/local/tcl8, and
itcl 3.0 in /usr/local/itcl3, you'd say:

    ./configure --with-tcl=/usr/local/tcl8 --with-itcl=/usr/local/itcl3

SuSE Linux users (pre-6.3 versions):

 As of SuSE 6.1 the default version of Tcl/Tk is still 7.6/4.2.  If you
 have the 8.0 versions of Tcl/Tk installed (tcl_new), you'll have to add
 the option "--enable-tcltk8" to your configure command to have
 it pick up the correct config files.  The configure script will than
 look for the 8.0 config files (tclConfig8.0.sh and tkConfig8.0.sh).
 Use this option like this (this assumes you installed itcl 3.0 in
 /usr/local/itcl3):

    ./configure --with-tcl=/usr/lib --with-tk=/usr/X11R6/lib --enable-tcltk8 \
                --with-itcl=/usr/local/itcl3

TkStep:
		
 If you're compiling with version 8.0 of Tcl/Tk and you got the corresponding
 version of TkStep installed on your system (in the default paths), you
 can give the option "--enable-tkstep" to configure to have tkdesksh be
 linked with the TkStep instead of the Tk libraries.

Executing "./configure --help" displays a lot of additional options not
described here.  Not all of these apply to TkDesk and are acknowledged by
the build process; I just was too lazy to remove all of them...

When configure exits successfully, run "make".

If you get an error message saying that "ranlib" could not be found:
This error is ignored by make, and you can safely do the same. Some
systems require archives to be ranlib'ed, others don't.

Linux RedHat users:
There may be a missing symbolic link that you have to create yourself
to link TkDesk.  This is the procedure suggested by David Scott:

   1) Make sure you have /lib/libdl.so.1
   2) Run /sbin/ldconfig
   3) cd /lib
   4) ln -s libdl.so.1 libdl.so
   5) Try compiling again


Test Drive
----------

If you'd like to have a look at TkDesk when make is finished but
before installing it, do the following:

   ./testdrive

   
Installation
------------

Just issue the command "make install" to install the TkDesk binaries and
scripts, the Tcl library, and the manual pages. Note that you may have
to become the root user first to gain write access to the installation
directories.

And that's it! You now should be able to start TkDesk from the command
line by typing "tkdesk".


Where To Go From Here
---------------------

Since 1.0b4 there is a short "Quick Start Guide" available that's
automatically displayed when TkDesk is run for the first time.
It's also available from the browser window's "Help" menu.

The TkDesk User's Guide is available both as PostScript in the "doc"
subdirectory (of the directory created when you untar'ed the TkDesk
package), as well as online via the help button of the application bar
or the "Help" menu.

You may also want to take a look inside the contrib subdirectory
of the TkDesk distribution.  It contains some very interesting extensions,
patches and configuration files contributed by users of TkDesk.
Thank you if you're one of them!

I hope you enjoy TkDesk! If you have any suggestions for the further 
development of TkDesk, or in the unlikely event of finding a bug ;-), or
fancy helping with the further development of TkDesk, please send an email to 
J. Chris Coppick: jchris@znet.com, who is the maintainer of TkDesk starting
with the release of 1.2.  Additional opportunities for contributing
to TkDesk should appear soon, so you may want to keep an eye on the TkDesk
web page at

            http://people.mainz.netsurf.de/~bolik/tkdesk/

Enjoy!

     Christian


(Following is the copyright notice for TkDesk.)

#    TkDesk - a file manager for Unix and the X Window System
#    Copyright (C) 1996-1999  Christian Bolik
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#    See the file "COPYING" in the base directory of this distribution
#    for more.

