...
|
...
|
@@ -0,0 +1,374 @@ |
|
1
|
+dnl |
|
2
|
+dnl Software pw3270, desenvolvido com base nos códigos fontes do C3270 e X3270 |
|
3
|
+dnl (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a |
|
4
|
+dnl aplicativos mainframe. Registro no INPI sob o nome G3270. |
|
5
|
+dnl |
|
6
|
+dnl Copyright (C) <2008> <Banco do Brasil S.A.> |
|
7
|
+dnl |
|
8
|
+dnl Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob |
|
9
|
+dnl os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela |
|
10
|
+dnl Free Software Foundation. |
|
11
|
+dnl |
|
12
|
+dnl Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER |
|
13
|
+dnl GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO |
|
14
|
+dnl A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para |
|
15
|
+dnl obter mais detalhes. |
|
16
|
+dnl |
|
17
|
+dnl Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este |
|
18
|
+dnl programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple |
|
19
|
+dnl Place, Suite 330, Boston, MA, 02111-1307, USA |
|
20
|
+dnl |
|
21
|
+dnl Contatos: |
|
22
|
+dnl |
|
23
|
+dnl perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) |
|
24
|
+dnl erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) |
|
25
|
+dnl |
|
26
|
+ |
|
27
|
+dnl Process this file with autoconf to produce a configure script. |
|
28
|
+ |
|
29
|
+dnl The minimum version of autoconf required. |
|
30
|
+AC_PREREQ(2.61) |
|
31
|
+ |
|
32
|
+dnl Initialise automake with the package name, version and |
|
33
|
+dnl bug-reporting address. |
|
34
|
+AC_INIT([lib3270], [5.2], [perry.werneck@gmail.com]) |
|
35
|
+ |
|
36
|
+dnl Place auxilliary scripts here. |
|
37
|
+AC_CONFIG_AUX_DIR([scripts]) |
|
38
|
+ |
|
39
|
+dnl Compute the canonical host-system type |
|
40
|
+AC_CANONICAL_HOST |
|
41
|
+ |
|
42
|
+dnl Put macro definitions here (though they aren't used). |
|
43
|
+AC_CONFIG_HEADER([src/include/config.h]) |
|
44
|
+ |
|
45
|
+dnl Initialise automake stuff. |
|
46
|
+AM_INIT_AUTOMAKE |
|
47
|
+ |
|
48
|
+dnl Check for iconv |
|
49
|
+AM_ICONV |
|
50
|
+ |
|
51
|
+dnl Checks for programs. |
|
52
|
+AC_PROG_CC |
|
53
|
+AC_PROG_SED |
|
54
|
+AC_PROG_LN_S |
|
55
|
+AC_PATH_TOOL([AR], [ar], [ar]) |
|
56
|
+ |
|
57
|
+AC_LANG([C]) |
|
58
|
+ |
|
59
|
+dnl --------------------------------------------------------------------------- |
|
60
|
+dnl Initialize defaults |
|
61
|
+dnl --------------------------------------------------------------------------- |
|
62
|
+ |
|
63
|
+DBG_CFLAGS="-g -fstack-check -DDEBUG=1" |
|
64
|
+RLS_CFLAGS="-DNDEBUG=1" |
|
65
|
+PLUGINS="" |
|
66
|
+APP_RESOURCES="" |
|
67
|
+APP_LDFLAGS="" |
|
68
|
+DLL_LDFLAGS="-shared" |
|
69
|
+STATIC_LDFLAGS="" |
|
70
|
+ |
|
71
|
+dnl --------------------------------------------------------------------------- |
|
72
|
+dnl Check for OS specifics |
|
73
|
+dnl --------------------------------------------------------------------------- |
|
74
|
+ |
|
75
|
+case "$host" in |
|
76
|
+ *-mingw32) |
|
77
|
+ CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600" |
|
78
|
+ LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++" |
|
79
|
+ DLLEXT=".dll" |
|
80
|
+ ;; |
|
81
|
+ |
|
82
|
+ s390x-*) |
|
83
|
+ CFLAGS="$CFLAGS -pthread" |
|
84
|
+ LDFLAGS="$LDFLAGS -pthread" |
|
85
|
+ app_cv_datadir="/usr/share" |
|
86
|
+ app_cv_confdir="/etc" |
|
87
|
+ LOGDIR="/var/log" |
|
88
|
+ ;; |
|
89
|
+ |
|
90
|
+ *) |
|
91
|
+ CFLAGS="$CFLAGS -pthread" |
|
92
|
+ LDFLAGS="$LDFLAGS -pthread" |
|
93
|
+ app_cv_datadir="/usr/share" |
|
94
|
+ app_cv_confdir="/etc" |
|
95
|
+ LOGDIR="/var/log" |
|
96
|
+ DLLEXT=".so" |
|
97
|
+ DLLPREFIX="lib" |
|
98
|
+ |
|
99
|
+esac |
|
100
|
+ |
|
101
|
+AC_SUBST(DATADIR,$app_cv_datadir) |
|
102
|
+AC_SUBST(CONFDIR,$app_cv_confdir) |
|
103
|
+AC_SUBST(LIBS) |
|
104
|
+AC_SUBST(LOGDIR) |
|
105
|
+AC_SUBST(DLLEXT) |
|
106
|
+AC_SUBST(DLLPREFIX) |
|
107
|
+ |
|
108
|
+dnl --------------------------------------------------------------------------- |
|
109
|
+dnl Check for other programs |
|
110
|
+dnl --------------------------------------------------------------------------- |
|
111
|
+ |
|
112
|
+AC_PATH_TOOL([AR], [ar], [ar]) |
|
113
|
+AC_PATH_TOOL([WINDRES], [windres], [no]) |
|
114
|
+ |
|
115
|
+PKG_CHECK_EXISTS |
|
116
|
+ |
|
117
|
+dnl --------------------------------------------------------------------------- |
|
118
|
+dnl Version info |
|
119
|
+dnl --------------------------------------------------------------------------- |
|
120
|
+ |
|
121
|
+AC_SUBST(PACKAGE_DESCRIPTION,"3270 C Access Library") |
|
122
|
+ |
|
123
|
+app_vrs_major=$(echo $VERSION | cut -d. -f1) |
|
124
|
+app_vrs_minor=$(echo $VERSION | cut -d. -f2) |
|
125
|
+ |
|
126
|
+AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_VERSION, $app_vrs_major) |
|
127
|
+AC_DEFINE_UNQUOTED(PACKAGE_MINOR_VERSION, $app_vrs_minor) |
|
128
|
+ |
|
129
|
+AC_SUBST(PACKAGE_MAJOR_VERSION,$app_vrs_major) |
|
130
|
+AC_SUBST(PACKAGE_MINOR_VERSION,$app_vrs_minor) |
|
131
|
+ |
|
132
|
+AC_ARG_WITH([release], [AS_HELP_STRING([--with-release], [Set release])], [ app_cv_release="$withval" ],[ app_cv_release="`date +%y`.`date +%m`.`date +%d`" ]) |
|
133
|
+ |
|
134
|
+app_rls_major=$(echo $app_cv_release.0.0 | cut -d. -f1) |
|
135
|
+app_rls_minor=$(echo $app_cv_release.0.0 | cut -d. -f2) |
|
136
|
+ |
|
137
|
+AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, $app_cv_release) |
|
138
|
+AC_DEFINE_UNQUOTED(PACKAGE_MAJOR_RELEASE, $app_rls_major) |
|
139
|
+AC_DEFINE_UNQUOTED(PACKAGE_MINOR_RELEASE, $app_rls_minor) |
|
140
|
+ |
|
141
|
+AC_SUBST(PACKAGE_RELEASE,$app_cv_release) |
|
142
|
+AC_SUBST(PACKAGE_MAJOR_RELEASE,$app_rls_major) |
|
143
|
+AC_SUBST(PACKAGE_MINOR_RELEASE,$app_rls_minor) |
|
144
|
+ |
|
145
|
+dnl --------------------------------------------------------------------------- |
|
146
|
+dnl Check for libintl |
|
147
|
+dnl --------------------------------------------------------------------------- |
|
148
|
+ |
|
149
|
+INTL_LIBS="" |
|
150
|
+ |
|
151
|
+AC_PATH_TOOL([XGETTEXT], [xgettext], [no]) |
|
152
|
+AC_PATH_TOOL([MSGCAT], [msgcat], [no]) |
|
153
|
+AC_PATH_TOOL([MSGINIT], [msginit], [no]) |
|
154
|
+AC_PATH_TOOL([MSGMERGE], [msgmerge], [no]) |
|
155
|
+AC_PATH_TOOL([MSGFMT], [msgfmt], [no]) |
|
156
|
+AC_PATH_TOOL([VALGRIND], [valgrind], [no]) |
|
157
|
+AC_PATH_TOOL([SVG2PNG],[rsvg-convert],[no]) |
|
158
|
+AC_PATH_TOOL([CONVERT], [convert], [no]) |
|
159
|
+AC_PATH_TOOL([OPTIPNG],[optipng],[no]) |
|
160
|
+ |
|
161
|
+AC_CHECK_HEADER(libintl.h, [ |
|
162
|
+ AC_DEFINE(HAVE_LIBINTL, 1) |
|
163
|
+ |
|
164
|
+ case "$host" in |
|
165
|
+ *-mingw32) |
|
166
|
+ INTL_LIBS="-lintl" |
|
167
|
+ ;; |
|
168
|
+ |
|
169
|
+ *) |
|
170
|
+ INTL_LIBS="" |
|
171
|
+ |
|
172
|
+ esac |
|
173
|
+ |
|
174
|
+]) |
|
175
|
+ |
|
176
|
+AC_SUBST(INTL_LIBS) |
|
177
|
+ |
|
178
|
+dnl --------------------------------------------------------------------------- |
|
179
|
+dnl Check for ELF symbol visibility support |
|
180
|
+dnl --------------------------------------------------------------------------- |
|
181
|
+m4_define([GLIB_CHECK_COMPILE_WARNINGS], |
|
182
|
+[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl |
|
183
|
+rm -f conftest.$ac_objext |
|
184
|
+glib_ac_compile_save="$ac_compile" |
|
185
|
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext' |
|
186
|
+AS_IF([_AC_EVAL_STDERR($ac_compile) && |
|
187
|
+ AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])], |
|
188
|
+ [$2], |
|
189
|
+ [echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD |
|
190
|
+cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD |
|
191
|
+m4_ifvaln([$3],[$3])dnl]) |
|
192
|
+ac_compile="$glib_ac_compile_save" |
|
193
|
+rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl |
|
194
|
+])# GLIB_CHECK_COMPILE_WARNINGS |
|
195
|
+ |
|
196
|
+AC_MSG_CHECKING(for GNUC visibility attribute) |
|
197
|
+GLIB_CHECK_COMPILE_WARNINGS([ |
|
198
|
+void |
|
199
|
+__attribute__ ((visibility ("hidden"))) |
|
200
|
+ f_hidden (void) |
|
201
|
+{ |
|
202
|
+} |
|
203
|
+void |
|
204
|
+__attribute__ ((visibility ("internal"))) |
|
205
|
+ f_internal (void) |
|
206
|
+{ |
|
207
|
+} |
|
208
|
+void |
|
209
|
+__attribute__ ((visibility ("protected"))) |
|
210
|
+ f_protected (void) |
|
211
|
+{ |
|
212
|
+} |
|
213
|
+void |
|
214
|
+__attribute__ ((visibility ("default"))) |
|
215
|
+ f_default (void) |
|
216
|
+{ |
|
217
|
+} |
|
218
|
+int main (int argc, char **argv) |
|
219
|
+{ |
|
220
|
+ f_hidden(); |
|
221
|
+ f_internal(); |
|
222
|
+ f_protected(); |
|
223
|
+ f_default(); |
|
224
|
+ return 0; |
|
225
|
+} |
|
226
|
+],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no) |
|
227
|
+AC_MSG_RESULT($g_have_gnuc_visibility) |
|
228
|
+if test x$g_have_gnuc_visibility = xyes; then |
|
229
|
+ AC_DEFINE(HAVE_GNUC_VISIBILITY, 1, [supports GCC visibility attributes]) |
|
230
|
+fi |
|
231
|
+ |
|
232
|
+dnl --------------------------------------------------------------------------- |
|
233
|
+dnl Check for compiler visibility flag |
|
234
|
+dnl --------------------------------------------------------------------------- |
|
235
|
+AC_MSG_CHECKING(whether $CC accepts -fvisibility=hidden) |
|
236
|
+AC_CACHE_VAL(app_cv_fvisibility_ok, |
|
237
|
+[ac_save_cc="$CC" |
|
238
|
+CC="$CC -fvisibility=hidden" |
|
239
|
+AC_TRY_RUN([int main() { return 0; }], |
|
240
|
+ app_cv_fvisibility_ok=yes, |
|
241
|
+ app_cv_fvisibility_ok=no, |
|
242
|
+ app_cv_fvisibility_ok=no) |
|
243
|
+CC="$ac_save_cc"]) |
|
244
|
+AC_MSG_RESULT($app_cv_fvisibility_ok) |
|
245
|
+if test $app_cv_fvisibility_ok = yes; then |
|
246
|
+ CFLAGS="$CFLAGS -fvisibility=hidden" |
|
247
|
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden" |
|
248
|
+fi |
|
249
|
+ |
|
250
|
+dnl --------------------------------------------------------------------------- |
|
251
|
+dnl SSL Security options |
|
252
|
+dnl --------------------------------------------------------------------------- |
|
253
|
+ |
|
254
|
+AC_ARG_ENABLE([self-signed-certs], |
|
255
|
+ [AS_HELP_STRING([--disable-self-signed-certs], [disable SSL connection when host presents a self signed certificate])], |
|
256
|
+[ |
|
257
|
+ app_cv_self_signed_certs="$enableval" |
|
258
|
+],[ |
|
259
|
+ app_cv_self_signed_certs="yes" |
|
260
|
+]) |
|
261
|
+ |
|
262
|
+if test "$app_cv_self_signed_certs" == "yes"; then |
|
263
|
+ AC_DEFINE(SSL_ALLOW_SELF_SIGNED_CERT) |
|
264
|
+fi |
|
265
|
+ |
|
266
|
+dnl AC_ARG_WITH([ssl-crl-check], |
|
267
|
+dnl [AS_HELP_STRING([--with-ssl-crl-check], [enable validation of the certificate revogation list in TN3270S connections])], |
|
268
|
+dnl [ |
|
269
|
+dnl app_cv_enable_crl_check="$withval" |
|
270
|
+dnl ],[ |
|
271
|
+dnl app_cv_enable_crl_check="no" |
|
272
|
+dnl ]) |
|
273
|
+dnl |
|
274
|
+dnl if test "$app_cv_enable_crl_check" == "yes"; then |
|
275
|
+dnl AC_DEFINE(SSL_ENABLE_CRL_CHECK) |
|
276
|
+dnl fi |
|
277
|
+ |
|
278
|
+dnl --------------------------------------------------------------------------- |
|
279
|
+dnl Check for pic |
|
280
|
+dnl --------------------------------------------------------------------------- |
|
281
|
+AC_ARG_ENABLE([pic], |
|
282
|
+ [AS_HELP_STRING([--disable-pic], [disable support for PIC libraries (required to compile on 64bits)])], |
|
283
|
+[ |
|
284
|
+ app_cv_pic="$enableval" |
|
285
|
+],[ |
|
286
|
+ |
|
287
|
+ case "$host_cpu" in |
|
288
|
+ x86_64) |
|
289
|
+ app_cv_pic="yes" |
|
290
|
+ ;; |
|
291
|
+ |
|
292
|
+ aarch64) |
|
293
|
+ app_cv_pic="yes" |
|
294
|
+ ;; |
|
295
|
+ |
|
296
|
+ *) |
|
297
|
+ app_cv_pic="no" |
|
298
|
+ esac |
|
299
|
+ |
|
300
|
+]) |
|
301
|
+ |
|
302
|
+if test "$app_cv_pic" == "yes"; then |
|
303
|
+ CFLAGS="$CFLAGS -fPIC" |
|
304
|
+ CXXFLAGS="$CXXFLAGS -fPIC" |
|
305
|
+fi |
|
306
|
+ |
|
307
|
+dnl --------------------------------------------------------------------------- |
|
308
|
+dnl Lib3270 flags |
|
309
|
+dnl --------------------------------------------------------------------------- |
|
310
|
+ |
|
311
|
+AC_ARG_WITH([libname], [AS_HELP_STRING([--with-libname], [Setup library name])], [ app_cv_libname="$withval" ],[ app_cv_libname="3270" ]) |
|
312
|
+ |
|
313
|
+AC_DEFINE(LIB3270_NAME,$app_cv_libname) |
|
314
|
+AC_SUBST(LIB3270_NAME,$app_cv_libname) |
|
315
|
+ |
|
316
|
+dnl --------------------------------------------------------------------------- |
|
317
|
+dnl Check for headers |
|
318
|
+dnl --------------------------------------------------------------------------- |
|
319
|
+ |
|
320
|
+AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?])) |
|
321
|
+ |
|
322
|
+AC_CHECK_FUNCS(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO) ) |
|
323
|
+AC_CHECK_FUNC(vasprintf, AC_DEFINE(HAVE_VASPRINTF) ) |
|
324
|
+AC_CHECK_FUNC(strtok_r, AC_DEFINE(HAVE_STRTOK_R) ) |
|
325
|
+ |
|
326
|
+AC_ARG_WITH([inet-ntop], [AS_HELP_STRING([--with-inet-ntop], [Assume that inet_nto() is available])], [ app_cv_inet_ntop="$withval" ],[ app_cv_inet_ntop="auto" ]) |
|
327
|
+ |
|
328
|
+if test "$app_cv_inet_ntop" == "auto"; then |
|
329
|
+ |
|
330
|
+ case "$host" in |
|
331
|
+ *-mingw32) |
|
332
|
+ app_cv_inet_ntop="yes" |
|
333
|
+ ;; |
|
334
|
+ |
|
335
|
+ *) |
|
336
|
+ AC_CHECK_FUNC(inet_ntop, app_cv_inet_ntop="yes" ) |
|
337
|
+ |
|
338
|
+ esac |
|
339
|
+ |
|
340
|
+fi |
|
341
|
+ |
|
342
|
+if test "$app_cv_inet_ntop" == "yes"; then |
|
343
|
+ AC_DEFINE(HAVE_INET_NTOP) |
|
344
|
+fi |
|
345
|
+ |
|
346
|
+dnl --------------------------------------------------------------------------- |
|
347
|
+dnl Check for Libraries |
|
348
|
+dnl --------------------------------------------------------------------------- |
|
349
|
+ |
|
350
|
+PKG_CHECK_MODULES( [LIBSSL], [libssl libcrypto], AC_DEFINE(HAVE_LIBSSL), AC_MSG_NOTICE([libssl not present.]) ) |
|
351
|
+ |
|
352
|
+AC_SUBST(LIBSSL_LIBS) |
|
353
|
+AC_SUBST(LIBSSL_CFLAGS) |
|
354
|
+ |
|
355
|
+dnl --------------------------------------------------------------------------- |
|
356
|
+dnl Output config |
|
357
|
+dnl --------------------------------------------------------------------------- |
|
358
|
+ |
|
359
|
+AC_SUBST(BASEDIR,$ac_pwd) |
|
360
|
+AC_SUBST(PLUGINS) |
|
361
|
+ |
|
362
|
+dnl --------------------------------------------------------------------------- |
|
363
|
+dnl Configure which files to generate. |
|
364
|
+dnl --------------------------------------------------------------------------- |
|
365
|
+ |
|
366
|
+AC_CONFIG_FILES(sdk/lib3270.pc) |
|
367
|
+dnl AC_CONFIG_FILES(Makefile) |
|
368
|
+ |
|
369
|
+dnl --------------------------------------------------------------------------- |
|
370
|
+dnl Output the generated config.status script. |
|
371
|
+dnl --------------------------------------------------------------------------- |
|
372
|
+AC_OUTPUT |
|
373
|
+ |
|
374
|
+ |
...
|
...
|
|