| @@ -0,0 +1,374 @@ |
| @@ -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
| + |