File: Build.html

package info (click to toggle)
ibm-3270 4.0ga12-3
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 17,740 kB
  • sloc: ansic: 120,111; sh: 4,284; makefile: 822; pascal: 798; perl: 344; exp: 184; tcl: 94
file content (270 lines) | stat: -rw-r--r-- 9,786 bytes parent folder | download | duplicates (4)
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>)&nbsp;</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>