1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
|
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="http://www.w3.org/StyleSheets/Core/Steely" type="text/css"
rel="stylesheet">
<title>suite3270 Build and Install Instructions</title>
</head>
<body>
<h1>suite3270 Build and Install Instructions</h1>
<a name="Unix"></a>
<h2>Building on Unix or Cygwin</h2>
To build the entire 3270 emulation suite, including native Unix
programs and cross-compiled Windows programs, use:
<pre><tt> ./configure
make</tt></pre>
<p>
To install Unix binaries in the default install directory
(<tt>/usr/local</tt>), use:
<pre><tt> make install</tt></pre>
To install Unix manual pages, use:
<pre><tt> make install.man</tt></pre>
To remove intermediate files, use:
<pre><tt> make clean</tt></pre>
To remove all derived files, use:
<pre><tt> make clobber</tt></pre>
<p>
Object files will be placed in directories named
<tt>obj/<i>architecture</i></tt>. For example, 64-bit Linux object
files are placed in <tt>obj/x86_64-unknown-gnu-linux</tt>. 32-bit
Windows object files are placed in <tt>obj/win32</tt>. 64-bit Windows
object files are placed in <tt>obj/win64</tt>.
<h3>Selective configure</h3>
If you only want to build a subset of the programs, you can limit the
scope of the configure script with the following options. Note that the
options are cumulative, so you can specify exactly the set of programs
you want:
<table border="3" cellspacing="3" cellpadding="3">
<tbody>
<tr>
<td><tt>--enable-unix</tt></td>
<td>Include all of the Unix programs</td>
</tr>
<tr>
<td><tt>--enable-windows</tt></td>
<td>Include all of the Windows programs</td>
</tr>
<tr>
<td><tt>--enable-x3270</tt></td>
<td>Include x3270</td>
</tr>
<tr>
<td><tt>--enable-c3270</tt></td>
<td>Include c3270</td>
</tr>
<tr>
<td><tt>--enable-s3270</tt></td>
<td>Include s3270</td>
</tr>
<tr>
<td><tt>--enable-tcl3270</tt></td>
<td>Include tcl3270</td>
</tr>
<tr>
<td><tt>--enable-pr3287</tt></td>
<td>Include pr3287</td>
</tr>
<tr>
<td><tt>--enable-ws3270</tt></td>
<td>Include ws3270</td>
</tr>
<tr>
<td><tt>--enable-wc3270</tt></td>
<td>Include wc3270</td>
</tr>
<tr>
<td><tt>--enable-wpr3287</tt></td>
<td>Include wpr3287</td>
</tr>
</tbody>
</table>
When you limit the configuration this way, it changes the top-level
make targets, so <tt>make</tt>, <tt>make install</tt>,
<tt>make clean</tt> and <tt>make clobber</tt> will
operate only on the programs you have configured.
<h3> Summary of Common configure Options</h3>
The top-level <tt>configure</tt> script accepts the following
options. Note that these apply only to Unix; the options for Windows
programs are fixed.
<table border="3" cellspacing="3" cellpadding="3">
<tbody>
<tr>
<td><tt>--help</tt></td>
<td>Print a help message.</td>
</tr>
<tr>
<td><tt>--prefix=<i>prefix</i></tt></td>
<td>Install architecture-independent files under
<i>prefix</i> (defaults to <tt>/usr/local</tt>)</td>
</tr>
<tr>
<td><tt>--exec-prefix=<i>eprefix</i></tt></td>
<td>Install architecture-dependent files (executables) under
<i>eprefix</i> (defaults to same as <i>prefix</i>)</td>
</tr>
<tr>
<td><tt>--bindir=<i>dir</i></tt></td>
<td>Install user executables <i>dir</i> (defaults to
<tt><i>eprefix</i>/bin</tt>) </td>
</tr>
<tr>
<td><tt>--sysconfdir=<i>dir</i></tt></td>
<td>Install configuration files (<tt>ibm_hosts</tt>,
character sets) in <i>dir</i> (defaults to
<tt><i>prefix</i>/etc</tt>).</td>
</tr>
<tr>
<td><tt>--disable-apl</tt></td>
<td>Leave out APL character support.</td>
</tr>
<tr>
<td valign="top"><tt>--disable-dbcs</tt></td>
<td valign="top">Leave out DBCS (Double Byte Character Set)
support.
</td>
</tr>
<tr>
<td><tt>--disable-local-process</tt></td>
<td>Leave out local process (connecting to
"-e <i>shell_command</i>") support.
This will be automatically disabled if the local system
does not support the <i>forkpty</i>() library call.</td>
</tr>
<tr>
<td valign="top"><tt>--disable-ssl</tt></td>
<td valign="top">Leave out SSL/TLS (Secure Sockets Layer)
support.
</td>
</tr>
<tr>
<td valign="top"><tt>--with-openssl=<i>dir</i></tt></td>
<td valign="top">Specify the directory where the OpenSSL
library is installed. Note that this option was
previously called <tt>--with-ssl=</tt>.
</td>
</tr>
</tbody>
</table>
There are also <tt>configure</tt> options that are specific to
individual programs. These can be passed to the top-level
<tt>configure</tt> script. See each individual program's additional
build information for details.
<ul>
<li><a href="Build-x3270.html">x3270</a></li>
<li><a href="Build-c3270.html">c3270</a></li>
<li><a href="Build-tcl3270.html">tcl3270</a></li>
</ul>
<h3>Selective Build Targets</h3>
To build just the Unix programs, use:
<pre><tt> make unix</tt></pre>
To cross-compile just the Windows programs, use:
<pre><tt> make windows</tt></pre>
To build an individual program, such as s3270, just make it:
<pre><tt> make s3270</tt></pre>
Each of the top-level symbolic targets can be limited to a group
(unix or windows) or to a program, by adding the desired prefix:
<pre><tt> make unix-install
make unix-install.man
make <i>program</i>-install
make <i>program</i>-install.man
make <i>group</i>-clean
make <i>program</i>-clean
make <i>group</i>-clobber
make <i>program</i>-clobber</tt></pre>
<h2>Notes for Ubuntu</h2>
Base packages needed to compile any of programs in the suite are:
<ul>
<li>libssl-dev (for SSL/TLS support)</li>
<li>mingw-w64 (for Windows cross-compilation)</li>
<li>m4 (to build man pages)</li>
</ul>
Other packages are listed in the program-specific instructions.
<h3>Notes for Cygwin</h3>
The minimum set of extra Cygwin packages needed to build the 3270 suite
are:
<ul>
<li>The <b>make</b> package from the <b>Devel</b> group</li>
<li>The <b>gcc-core</b> package from the <b>Devel</b> group</li>
<li>For SSL support, the <b>openssl-devel</b> package from
the <b>Devel</b> group</li>
</ul>
To cross-compile native Windows binaries, you need this package:
<ul>
<li><b>mingw-w64-gcc</b> from the <b>Devel</b> group</li>
</ul>
Other packages are needed by the specific programs, and are listed in those
programs' build instructions.
<h3>Notes for MacOS X</h3>
Everything except x3270 is built the usual (Unix) way on MacOS X.
But to build x3270, you first need to install XQuartz (<a
href="http://xquartz.macosforge.org/">http://xquartz.macosforge.org/</a>).
Then to build all of the emulators, use the following commands:
<pre><tt> export PATH=$PATH:/opt/X11/bin
./configure --enable-unix --x-includes=/opt/X11/include
make</tt></pre>
<p>By default, the MacOS build uses Secure Transport for SSL/TLS. To
switch to OpenSSL, pass the <tt>--disable-stransport</tt> option to the
configure script.
<h3>Notes for Solaris 2.x and Sun's C Compiler</h3>
Do not use Sun's BSD-compatibility compiler, <tt>/usr/ucb/cc</tt>. This
is good advice in general, but in particular, the 3270 suite will not build
with it. You should have a directory containing <tt>gcc</tt> (recommended)
or Sun's standard compiler in your $PATH ahead of <tt>/usr/ucb</tt>.
<h3>Building on FreeBSD</h3>
FreeBSD's <b>iconv</b> library is installed in <tt>/usr/local</tt>, so
the the following options must be passed to the <tt>configure</tt> script:
<pre><tt> ./configure LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include</tt></pre>
<p>Also, the generated makefiles must be run with GNU make (gmake), not BSD
make.
<a name="Windows"></a>
<h2>Building with Visual Studio 2013</h2>
<h3>Visual Studio GUI</h3>
The Visual Studio solution is called <tt>suite3270.sln</tt> in the
<tt>VS2013</tt> folder. There are individual projects for each of the
programs and components.
<h3>Visual Studio Command Line</h3>
To build with Microsoft Visual Studio from the command prompt, first
open a command console with Visual Studio build environment variables
set. Switch to the <tt>VS2013</tt> directory, and type:
<pre><tt> msbuild</tt></pre>
The usual msbuild options are available, such as <b>/m</b>,
<b>/p:Configuration</b> (which can specify Debug or Release)
and <b>/p:Platform</b> (which can specify x86 or x64).
<a name="Windows"></a>
<h2>Building with Visual Studio 2013</h2>
<h3>Visual Studio GUI</h3>
The Visual Studio solution is called <tt>suite3270.sln</tt> in the
<tt>VS2013</tt> folder. There are individual projects for each of the
programs and components. The Debug and Release configurations build
code without OpenSSL support. The SSL-Debug and SSL-Release
configurations build code with OpenSSL support, and require standard
OpenSSL header files to be installed in the folder
<tt>C:\OpenSSL-Win64\include</tt>.
<h3>Visual Studio Command Line</h3>
To build with Microsoft Visual Studio from the command prompt, first
open a command console with Visual Studio build environment variables
set. Switch to the <tt>VS2013</tt> directory, and type:
<pre><tt> msbuild</tt></pre>
The usual msbuild options are available, such as <b>/m</b>,
<b>/p:Configuration</b> (which can specify Debug, Release, SSL-Debug
or SSL-Release) and <b>/p:Platform</b> (which can specify x86 or x64).
</body>
</html>
|