-
Notifications
You must be signed in to change notification settings - Fork 19
/
configure.in
178 lines (150 loc) · 5.68 KB
/
configure.in
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
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.53)
AC_INIT([etherape],[0.9.13])
AC_CONFIG_SRCDIR(README)
AC_CONFIG_MACRO_DIR([m4])
AM_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
# defines
AC_DEFINE([HAVE_CATGETS],[],[cmt])
AC_DEFINE([GETTEXT_PACKAGE],[],[cmt])
AC_DEFINE([HAVE_LIBSM],[],[cmt])
AC_DEFINE([HAVE_LIBPCAP],[],[cmt])
AC_DEFINE([HAVE_U_INT],[],[cmt])
# Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
#AC_PROG_INTLTOOL(0.27)
# Checks for libraries.
PKG_CHECK_MODULES(ETHERAPE, glib-2.0 libglade-2.0 libgnomeui-2.0)
AC_SUBST(ETHERAPE_CFLAGS)
AC_SUBST(ETHERAPE_LIBS)
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h math.h])
AC_CHECK_HEADERS([sys/socket.h])
AC_CHECK_HEADERS([net/if.h], [], [],
[#include <stdio.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
AC_CHECK_TYPES(u_int, ,AC_DEFINE(u_int, unsigned int, [define u_int]))
AC_CHECK_TYPES(u_short, ,AC_DEFINE(u_short, unsigned short, [define u_short]))
AC_CHECK_TYPES(u_long, ,AC_DEFINE(u_long, unsigned long, [define u_long]))
AC_CHECK_TYPES(u_char, ,AC_DEFINE(u_char, unsigned char, [define u_char]))
# checks for osx or disable-gdk-input-add
AC_ARG_ENABLE(gdk-input-add,
[AC_HELP_STRING([--disable-gdk-input-add],[Use timers for live capture instead of gdk_input_add.])],
[use_gdk_input_add=$enableval], [use_gdk_input_add=yes])
AC_COMPILE_IFELSE([int main(int argc, char *argv[]){return __APPLE__ + __MACH__;}],
use_gdk_input_add=no)
if test $use_gdk_input_add = no; then
AC_DEFINE([DISABLE_GDKINPUTADD], [1], [disables gdk_input_add])
AC_MSG_NOTICE([gtk_input_add disabled])
fi
AC_CHECK_FUNC(gethostbyaddr_r, [has_gethostbyaddr_r=yes],
AC_CHECK_LIB(bind, gethostbyaddr_r, [has_gethostbyaddr_r=yes],
AC_CHECK_LIB(resolv, gethostbyaddr_r, [has_gethostbyaddr_r=yes],
AC_CHECK_LIB(nsl, gethostbyaddr_r, [has_gethostbyaddr_r=yes],[has_gethostbyaddr_r=no]))))
if test $has_gethostbyaddr_r = no; then
AC_MSG_NOTICE([gethostbyaddr_r not found, trying with gethostbyaddr])
AC_CHECK_FUNC(gethostbyaddr, [has_gethostbyaddr=yes],
AC_CHECK_LIB(bind, gethostbyaddr, [has_gethostbyaddr=yes],
AC_CHECK_LIB(resolv, gethostbyaddr, [has_gethostbyaddr=yes],
AC_CHECK_LIB(nsl, gethostbyaddr, [has_gethostbyaddr=yes],
[AC_MSG_ERROR([Missing both gethostbyaddr and gethostbyaddr_r. Please install a resolver library.])]
))))
if test $has_gethostbyaddr = yes; then
AC_MSG_WARN([Found only gethostbyaddr, while gethostbyaddr_r does not exists, resolving is restricted to single thread.])
AC_DEFINE([FORCE_SINGLE_THREAD], [1], [found only gethostbyaddr, while gethostbyaddr_r does not exists, resolving is restricted to single thread.])
fi
fi
# Check for the pcap library.
AC_ARG_ENABLE(static-pcap,
[ --enable-static-pcap Used to build the rpm within Debian. ],
STATIC_PCAP=yes)
AC_ETHEREAL_PCAP_CHECK
# check for other libraries (needed for AC_CHECK_FUNCS)
AC_SEARCH_LIBS(pow, [m])
AC_SEARCH_LIBS(glib_check_version, [glib-2.0])
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_FUNC_VPRINTF
AC_TYPE_SIGNAL
AC_CHECK_FUNCS([snprintf floor gettimeofday localtime_r memset pow putenv socket sqrt strcasecmp strchr strerror strpbrk strstr inet_ntop])
# check for g_queue_init - if missing, this enables also the gdk_color_to_string
# replacement. Needed for CENTOS5 (and RHEL5 also)
# remove when obsolete!
AC_CHECK_FUNCS([g_queue_init])
# Create DATAFILE_DIR #define for config.h
DATAFILE_DIR=$sysconfdir
AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$DATAFILE_DIR",[data file directory])
AC_SUBST(DATAFILE_DIR)
dnl Add the languages which your application supports here.
ALL_LINGUAS="es fr nl tr sv it de"
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.11.5])
GETTEXT_PACKAGE=etherape
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
dnl Set PACKAGE_LOCALE_DIR in config.h.
if test "x${prefix}" = "xNONE"; then
AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/share/locale",[package locale directory])
else
AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/share/locale",[package locale directory])
fi
dnl Set PIXMAPS_DIR in config.h.
if test "x${prefix}" = "xNONE"; then
AC_DEFINE_UNQUOTED(PIXMAPS_DIR, "${ac_default_prefix}/share/pixmaps",[pixmaps directory])
else
AC_DEFINE_UNQUOTED(PIXMAPS_DIR, "${prefix}/share/pixmaps",[pixmaps directory])
fi
dnl initialize gnome doc macros
GNOME_DOC_INIT
dnl get mercurial version - sadly, this works only on a developer repo ...
dnl AC_CONFIG_COMMANDS_PRE([
dnl hg_id=`hg identify -i`
dnl AC_DEFINE_UNQUOTED(PACKAGE_SCM_REV, ["${hg_id}"], [mercurial revision])
dnl AC_MSG_NOTICE([mercurial id: ${hg_id}])
dnl ])
dnl check for endianess (need it for Per Packet Incapsulation)
AC_C_BIGENDIAN
dnl see if the linker allows "--export-dynamic"
AC_MSG_CHECKING([if the linker allows -Wl,--export-dynamic])
tmp_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
AC_LINK_IFELSE([int main(int argc, char *argv[]){return 0;}],
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
LDFLAGS=$tmp_LDFLAGS)
AC_CONFIG_FILES([Makefile
po/Makefile.in
etherape.spec
etherape-devel.spec
etherape.desktop
glade/Makefile
src/Makefile
m4/Makefile
doc/Makefile])
AC_OUTPUT