x3270 Additional Build and Install Instructions

This file describes build and install information specific to x3270. For general build information, look here.

Where Things Are Installed

If the configure script finds the X11 xmkmf utility, it will generate an Imakefile and run xmkmf on it, which will use imake to generate a Makefile. Otherwise, configure will generate a Makefile directly. These two methods will result in objects being installed in different places.

By default with xmkmf, parts of x3270 are installed under two different directories.

Files specific to X11 (the x3270 binary, x3270 manual pages, and fonts) are installed in the system X11 directory, typically /usr/X11R6. This directory is defined when your system is installed and cannot be easily changed. This is referred to as xdir in the table below.

Files shared with other non-X11 3270 applications (such as the x3270if binary and its man page, and the x3270 configuration files) are installed under the autoconf prefix directory, typically /usr/local. The autoconf prefix directory can be changed with options to the configure script. This is referred to as prefixdir in the table below.

You can force a directly-generated Makefile with the configure --without-xmkmf option. This will result in everything being installed in the autoconf prefix directory.

By contrast, if you are have xmkmf on your system and want all of the x3270 objects installed in your system X11 directory, use the configure --with-all-xinstall option.
Files Installed in
(default)
Installed in
(--without-xmkmf)
Installed in
(--with-all-xinstall)
Binary for x3270 xdir/bin predfixdir/bin xdir/bin
Manual pages for x3270 xdir/man prefixdir/man xdir/man
Fonts xdir/fonts/misc prefixdir/fonts/misc xdir/fonts/misc
Binary for x3270if prefixdir/bin prefixdir/bin xdir/bin
Manual page for x3720if prefixdir/man prefixdir/man xdir/man
Configuration files used by x3270 and other programs prefixdir/etc prefixdir/etc xdir/etc

Installing Fonts

x3270 prefers that its fonts be installed in order to run. However, a script is provided for testing a local copy of x3270 in the current directory:
   ./dryrun            # test x3270
Before running x3270, you will also need to (once):
   xset fp rehash

Vanilla X11R6

x3270 is set up to build and install without modifications under any complete X11R6 installation.

A "complete" installation means that besides the usual X and Xt libraries, the Xaw and Xmu libraries and header files are installed. Some vendors (HP, IBM, SCO) consider these optional software and do not always install them.

IBM AIX

The default installation of AIX may also not include the bdftopcf utility, which may need to be installed separately as part of the X11.fnt.util package.

HP-UX

HP's X11 distribution may not include the Xaw and Xmu libraries or their header files. As HP's X man page says,
A number of unsupported core MIT clients and miscellaneous utilities are provided in /usr/contrib/bin. In addition, the entire core MIT distribution, compiled for Hewlett-Packard platforms, can be obtained from HP's users group INTERWORKS for a nominal fee. See the release notes for details.

Sun Solaris 2.x

To run x3270, your LD_LIBRARY_PATH environment variable must include /usr/openwin/lib.

Mixed X Environments

The Makefile and Imakefile that come with x3270 assume that you plan to run the x3270 client on the same kind of workstation as your X server. If you are running a mixture of X environments, such as a Sun XNews server and standard X11R6 libraries and header files, or using an X terminal, the supplied Makefile and Imakefile may not work properly, because then assume that your server and libraries are of the same type. This generally means that you will need to build and install the fonts separately, using server-specific tools. It is impossible to give comprehensive instructions here; however, here is an outline of how to do it:

SCO Open Desktop 3

x3270 requires the Athena Widgets library, which is available from sosco.sco.com.

Using an app-defaults File

Earlier versions of x3270 required a separate app-defaults file. The app-defaults file contains definitions for options, text strings, fonts, colors, etc. The file allows x3270 to be reconfigured without recompiling by simply editing the file.

Unfortunately, using an app-defaults file is a pain. The mechanism for finding the file is so flexible as to be almost incomprehensible, and it is difficult to run the program without doing a full installation, requiring root access to your system. Also, the app-defaults file generally changes whenever the program changes, and making sure that x3270 finds the correct app-defaults file compounds the above problems.

Starting with version 3.1, x3270 no longer uses a separate app-defaults file. Instead, the file is compiled into x3270 itself. If however, you prefer to have a separate app-defaults file, you can compile x3270 to use it:

x3270-specific configure Options

The configure script accepts the following x3270-specific options:
--without-xmkmf Don't use xmkmf, even if it is found on the system.
--with-all-xinstall Install all files (even those that are common with other non-X11 3270 programs) in the system's X11 directory. This is compatible with earlier releases of x3270. It is equivalent to --prefix='$(PROJECTROOT)'.
--prefix=prefix Install common architecture-independent files under prefix (defaults to /usr/local). By default, this affects only the configuration files. In combination with --without-xmkmf, this affects all files.
--exec-prefix=eprefix Install common architecture-dependent files (executables) under eprefix (defaults to same as prefix). See the note under --prefix, above.
--bindir=dir Install common user executables in dir (defaults to eprefix/bin). See the note under --prefix, above.
--sysconfdir=dir Install configuration files (ibm_hosts, character sets) in dir/x3270 (defaults to prefix/etc). See the note under --prefix, above.
--enable-app-defaults
--enable-app-defaults=-UCOLOR
Use a separate app-defaults file, instead of compiling one into the x3270 executable. With the =-UCOLOR option, builds for a monochrome display.
--with-fontdir=/full-path
--with-fontdir=relative-path
Install fonts in an alternate directory. If the parameter starts with "/", it specifies the full pathname of a directory. If not, it specifies a subdirectory of the usual font directory. The default is misc.