configure.ac
6.32 KB
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
dnl
dnl Software pw3270, desenvolvido com base nos códigos fontes do C3270 e X3270
dnl (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
dnl aplicativos mainframe. Registro no INPI sob o nome G3270.
dnl
dnl Copyright (C) <2008> <Banco do Brasil S.A.>
dnl
dnl Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
dnl os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
dnl Free Software Foundation.
dnl
dnl Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
dnl GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
dnl A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
dnl obter mais detalhes.
dnl
dnl Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
dnl programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
dnl Place, Suite 330, Boston, MA, 02111-1307, USA
dnl
dnl Contatos:
dnl
dnl perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
dnl erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
dnl licinio@bb.com.br (Licínio Luis Branco)
dnl kraucer@bb.com.br (Kraucer Fernandes Mazuco)
dnl macmiranda@bb.com.br (Marco Aurélio Caldas Miranda)
dnl
dnl Process this file with autoconf to produce a configure script.
dnl The minimum version of autoconf required.
AC_PREREQ(2.59)
dnl Load svn revision file info
m4_include([revision.m4])
dnl Initialise automake with the package name, version and
dnl bug-reporting address.
AC_INIT([pw3270], [5.0], [perry.werneck@gmail.com])
dnl Place auxilliary scripts here.
AC_CONFIG_AUX_DIR([scripts])
dnl Compute the canonical host-system type
AC_CANONICAL_HOST
dnl Put macro definitions here (though they aren't used).
AC_CONFIG_HEADER([src/include/lib3270/config.h])
dnl Initialise automake stuff.
AM_INIT_AUTOMAKE
#--[ Check for tools & Libraries ]----------------------------------------------------------------------------------------------------------------------------
AC_PROG_CXX
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MKDIR_P
AC_PROG_LN_S
AC_PATH_TOOL([STRIP], [strip])
AC_SUBST(STRIP)
AC_PATH_TOOL([REXXC], [rexxc], [cp])
AC_SUBST(REXXC)
AC_PATH_TOOL([VALGRIND], [valgrind], [no])
AC_PATH_TOOL([REXXCONFIG], [oorexx-config], [no])
#--[ Version & Revision ]-------------------------------------------------------------------------------------------------------------------------------------
AC_DEFINE(PACKAGE_REVISION,"SVN_REV")
AC_SUBST(PACKAGE_REVISION, "SVN_REV")
#--[ Set host based options ]---------------------------------------------------------------------------------------------------------------------------------
DLL_LIBS="-shared -Wl,-soname,\$(@F)"
DLLEXT=".so"
OBJEXT=".o"
EXEEXT=""
DLLPREFIX="lib"
if test $host != $build; then
AC_CHECK_PROGS(HOST_CC, gcc cc)
else
HOST_CC=$CC
fi
AC_SUBST(HOST_CC)
AC_SUBST(EXEEXT)
#--[ Debug/Release ]------------------------------------------------------------------------------------------------------------------------------------------
DBG_LDFLAGS="-L.bin/Debug/lib"
RLS_LDFLAGS="-L.bin/Release/lib -Wl,--strip-all"
#--[ Check for ELF symbol visibility support ]----------------------------------------------------------------------------------------------------------------
# Try to compile PROGRAM, check for warnings
m4_define([GLIB_CHECK_COMPILE_WARNINGS],
[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
rm -f conftest.$ac_objext
glib_ac_compile_save="$ac_compile"
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext'
AS_IF([_AC_EVAL_STDERR($ac_compile) &&
AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])],
[$2],
[echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD
cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
m4_ifvaln([$3],[$3])dnl])
ac_compile="$glib_ac_compile_save"
rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl
])# GLIB_CHECK_COMPILE_WARNINGS
AC_MSG_CHECKING(for GNUC visibility attribute)
GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([
void
__attribute__ ((visibility ("hidden")))
f_hidden (void)
{
}
void
__attribute__ ((visibility ("default")))
f_default (void)
{
}
int main (int argc, char **argv)
{
f_hidden();
f_internal();
return 0;
}
])],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
AC_MSG_RESULT($g_have_gnuc_visibility)
if test x$g_have_gnuc_visibility = xyes; then
AC_DEFINE(HAVE_GNUC_VISIBILITY, 1, [supports GCC visibility attributes])
fi
# Check for compiler visibility flag
AC_MSG_CHECKING(whether $CC accepts -fvisibility=hidden)
AC_CACHE_VAL(app_cv_fvisibility_ok,
[ac_save_cc="$CC"
CC="$CC -fvisibility=hidden"
AC_TRY_RUN([int main() { return 0; }],
app_cv_fvisibility_ok=yes,
app_cv_fvisibility_ok=no,
app_cv_fvisibility_ok=no)
CC="$ac_save_cc"])
AC_MSG_RESULT($app_cv_fvisibility_ok)
if test $app_cv_fvisibility_ok = yes; then
CFLAGS="$CFLAGS -fvisibility=hidden"
fi
#--[ Headers ]------------------------------------------------------------------------------------------------------------------------------------------------
AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?]))
#--[ GTK 2/3 check ]------------------------------------------------------------------------------------------------------------------------------------------
PKG_CHECK_EXISTS
PKG_CHECK_MODULES( [GTK], [gtk+-3.0], [ ], [ PKG_CHECK_MODULES( [GTK], [gtk+-2.0 >= 2.8]) ], [ ] )
AC_SUBST(GTK_LIBS)
AC_SUBST(GTK_CFLAGS)
#--[ SSL ]----------------------------------------------------------------------------------------------------------------------------------------------------
PKG_CHECK_MODULES( [SSL], [libssl], AC_DEFINE(HAVE_SSL), AC_MSG_NOTICE([libssl not present.]) )
AC_SUBST(SSL_LIBS)
AC_SUBST(SSL_CFLAGS)
#--[ Libraries ]----------------------------------------------------------------------------------------------------------------------------------------------
AC_SEARCH_LIBS( [sin], [m], AC_DEFINE(HAVE_LIBM), AC_MSG_NOTICE([libm not present.]))
#--[ Output files ]-------------------------------------------------------------------------------------------------------------------------------------------
AC_CONFIG_FILES([
Makefile
src/include/rules.mak
src/lib3270/Makefile
src/lib3270/mkversion.sh
src/gtk/Makefile
src/gtk/uiparser/Makefile
])
dnl Output the generated config.status script.
AC_OUTPUT