# tcl3270 Build and Install Instructions

To build tcl3270, type:

        ./configure
        make

To install tcl3270 in the default install directory (`/usr/local/bin`), type:

        make install

## Notes on the Tcl Library

tcl3270 uses the tclsh command to determine the version of the Tcl library to use. When you run the `configure` script, make sure that your `$PATH` points to the version of tclsh that corresponds to the version of the Tcl library you want tcl3270 to use.

## Notes for Solaris 2.x and Sun's C Compiler

Do not use Sun's BSD-compatibility compiler, `/usr/ucb/cc`. This is good advice in general, but in particular, tcl3270 will not build with it. You must have a directory containing `gcc` (preferred) or Sun's standard compiler in your $PATH ahead of `/usr/ucb`.

## Building on FreeBSD

FreeBSD's iconv library is installed in `/usr/local`, so the the following options must be passed to the `configure` script:

           ./configure LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include

## Summary of `configure` Options

The tcl3270 `configure` script accepts the following options:

`--help` | Print a help message.
`--prefix=prefix` | Install architecture-independent files under prefix (defaults to `/usr/local`)
`--exec-prefix=eprefix` | Install architecture-dependent files (executables) under eprefix (defaults to same as prefix)
`--bindir=dir` | Install user executables (tcl3270) in dir (defaults to eprefix`/bin`)
`--sysconfdir=dir` | Install configuration files (character sets) in dir`/x3270` (defaults to prefix`/etc`).
`--with-tcl=version` | Use a different version of the Tcl library. The default is `8.4`.
`--with-tclx` `--with-tclx=version` | Use the Extended Tcl library. The TclX library must be the same version as the Tcl library. If an explicit version is specified, this changes the Tcl library version as well.
`--disable-ansi` | Leave out NVT (ANSI) support. Note that NVT support is required for TN3270E support.
`--disable-apl` | Leave out APL character support.
`--enable-dbcs` | Build in DBCS (Double Byte Character Set) support.
`--disable-ft` | Leave out IND$FILE file transfer support.
`--disable-local-process` | Leave out local process (connecting to "-e shell_command") support. This will be automatically disabled if the local system does not support the forkpty() library call.
`--disable-printer` | Leave out printer session (pr3287) support.
`--disable-ssl` | Leave out SSL (Secure Sockets Layer) support. SSL support requires the OpenSSL library.
`--with-ssl=dir` | Specify the directory where the OpenSSL library is installed.
`--disable-tn3270e` | Leave out TN3270E support.
`--disable-trace` | Leave out tracing support.

Leaving out all of the optional features will result in a smaller binary.