71 lines
3.0 KiB
Plaintext
71 lines
3.0 KiB
Plaintext
|
|
I. Building the Tcl thread extension for Unix
|
|
=============================================
|
|
|
|
Extension can be compiled on several Unix derivates including various
|
|
distributions of Linux. Build process is pretty straightforward. I've
|
|
checked some versions of Solaris, Linux and Darwin, but the extension
|
|
should compile without problems on any Unix-like operating system
|
|
with a proper pthreads library implementation.
|
|
|
|
To build on Unix-like operating systems, start with the CONFIG script
|
|
and see if there is already a combination of the "configure" options
|
|
which may satisfy your needs. If not, you can run the configure script
|
|
located in the root of the distribution directory with a choice of
|
|
supported options yourself. If yes, you can uncomment corresponding
|
|
lines from the CONFIG script and do:
|
|
|
|
% sh CONFIG
|
|
|
|
Either way, this will create a Makefile which you use to run "make" and
|
|
"make install".
|
|
You can use "make clean" to clean the directory from temporary compilation
|
|
files and/or "make distclean" to additionaly remove local config files.
|
|
You might want to do "make test" before doing the "make install" in order
|
|
to run the regression tests on the package.
|
|
|
|
To explore other building options, look into the CONFIG file for more
|
|
information.
|
|
|
|
|
|
Note for NaviServer/AOLserver users
|
|
------------------------
|
|
|
|
The extension can be compiled as a loadable module for the
|
|
NaviServer/AOLserver version 4.0 or higher. In order to do this,
|
|
use "--with-naviserver" configure option to specify the directory
|
|
containing the NaviServer/AOLserver distribution. The CONFIG script
|
|
has an example how to invoke configure in order to build the
|
|
extension as NaviServer/AOLserver module. Note, however, that
|
|
"make install" and "make test" targets are still not supported for
|
|
NaviServer/AOLserver builds. This will be corrected in one of
|
|
the future releases.
|
|
|
|
To fine-tune, you might also want to make the tsv::* commands replace
|
|
the NaviServer/AOLserver built-in nsv_* family of commands, since
|
|
they are API compatible and provide richer command set plus advanced
|
|
shared-object storage of shared data. Go to the generic/threadSvCmd.h
|
|
file and look at the beginning of the file for the:
|
|
|
|
/* #define NSV_COMPAT 1 */
|
|
|
|
So, uncomment the line, recompile and there you go.
|
|
|
|
|
|
II. Building optional support libraries
|
|
=======================================
|
|
|
|
As of 2.6 release, this extension supports persistent shared variables.
|
|
To use this functionality, you might need to download and compile some
|
|
other supporting libraries. Currently, there is a simple implementation
|
|
of shared variable persistency built atop of popular GNU Gdbm package.
|
|
You can obtain the latest version of the Gdbm package from the GNU
|
|
website at: http://www.gnu.org/software/gdbm/gdbm.html
|
|
To compile with GNU Gdbm support you must configure with --with-gdbm
|
|
switch. This option, if used, will try to locate the Gdbm library on
|
|
your system at couple of standard locations. You might override this
|
|
behaviour by giving --with-gdbm=/some/dir. Note that both library file
|
|
and the include file must then reside in this directory.
|
|
|
|
-EOF-
|