source: configure.ac

Last change on this file was 9a0d25d, checked in by Anders Kaseorg <andersk@mit.edu>, 5 years ago
Migrate to “new” OpenSSL DES API The new API was added in OpenSSL 0.9.7. The old API was removed in OpenSSL 1.1.0. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
  • Property mode set to 100644
File size: 6.6 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2AC_INIT([BarnOwl],[1.11dev],[bug-barnowl@mit.edu])
3AM_INIT_AUTOMAKE([1.7.0 foreign std-options -Wall -Wno-portability])
4AM_MAINTAINER_MODE([enable])
5m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
6
7AC_CONFIG_MACRO_DIR([m4])
8AC_CONFIG_HEADER([config.h])
9
10AC_PROG_CC
11AC_PROG_CC_C99
12AC_PROG_LN_S
13
14AC_ARG_WITH([zephyr-default-format],
15    [AS_HELP_STRING([--with-zephyr-default-format],
16                    [value for the default format zephyrgram field])],
17    [
18        case $withval in
19            yes) withval='Config error: see http://mit.edu/df';;
20            no) withval='';;
21        esac
22        zephyr_default_format=$withval
23    ],
24    [zephyr_default_format='Config error: see http://mit.edu/df'])
25AC_DEFINE_UNQUOTED(
26    [ZEPHYR_DEFAULT_FORMAT], ["$zephyr_default_format"],
27    [Value for the default format zephyrgram field]
28)
29
30AC_ARG_WITH([stack-protector],
31  [AS_HELP_STRING([--with-stack-protector],
32    [Enable gcc -fstack-protector])],
33  [],
34  [with_stack_protector=check])
35
36AS_IF([test "x$with_stack_protector" != xno],
37  [AX_CHECK_COMPILE_FLAG([-fstack-protector],
38    [AM_CFLAGS="$AM_CFLAGS -fstack-protector"],
39    [if test "x$with_stack_protector" != xcheck; then
40       AC_MSG_FAILURE([--with-stack-protector selected, but gcc does support it.])
41     fi
42    ])])
43
44AC_CHECK_LIB(ncursesw, initscr,, AC_MSG_ERROR(No libncursesw found.))
45AC_CHECK_LIB(panelw, update_panels,, AC_MSG_ERROR(No libpanelw found.))
46AC_SEARCH_LIBS([gethostbyname], [nsl])
47AC_SEARCH_LIBS([socket], [socket])
48AC_SEARCH_LIBS([res_search], [resolv])
49
50AC_ARG_WITH([zephyr],
51  [AS_HELP_STRING([--with-zephyr],
52    [Enable Zephyr support])],
53  [],
54  [with_zephyr=check])
55
56AS_IF([test "x$with_zephyr" != xno],
57  [PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto],
58     [AM_CFLAGS="${AM_CFLAGS} ${LIBCRYPTO_CFLAGS}"
59      LIBS="${LIBS} ${LIBCRYPTO_LIBS}"
60     ],
61     [PKG_CHECK_MODULES([OPENSSL], [openssl],
62        [AM_CFLAGS="${AM_CFLAGS} ${OPENSSL_CFLAGS}"
63         LIBS="${LIBS} ${OPENSSL_LIBS}"
64        ])])
65
66   AC_CHECK_LIB([zephyr], [ZGetSender],
67   [LIBS="$LIBS -lzephyr"
68    AC_DEFINE([HAVE_LIBZEPHYR], [1],
69                [Define if you have libzephyr])
70    AC_CHECK_LIB([zephyr], [ZInitLocationInfo],
71      AC_DEFINE([HAVE_LIBZEPHYR_ZINITLOCATIONINFO], [1],
72                [Have ZInitLocationInfo]),)
73    AC_CHECK_LIB([com_err], [com_err])
74    AC_CHECK_HEADERS([com_err.h])
75   ],
76   [if test "x$with_zephyr" != xcheck; then
77      AC_MSG_FAILURE(
78        [--with-zephyr was given, but libzephyr does not seem to be available.])
79    fi
80   ])])
81
82AC_CHECK_FUNCS([use_default_colors])
83AC_CHECK_FUNCS([resizeterm], [], [AC_MSG_ERROR([No resizeterm found])])
84AC_CHECK_FUNCS([DES_string_to_key], [HAVE_DES_STRING_TO_KEY=1])
85AC_CHECK_FUNCS([DES_ecb_encrypt], [HAVE_DES_ECB_ENCRYPT=1])
86AC_CHECK_FUNCS([DES_key_sched], [HAVE_DES_KEY_SCHED=1])
87
88dnl Checks for header files.
89AC_HEADER_STDC
90AC_HEADER_SYS_WAIT
91AC_CHECK_HEADERS(stdbool.h strings.h sys/ioctl.h sys/filio.h unistd.h)
92
93dnl Add CFLAGS for embeded perl
94PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
95AC_MSG_NOTICE([Adding perl CFLAGS ${PERL_CFLAGS}])
96AM_CFLAGS="${AM_CFLAGS} ${PERL_CFLAGS}"
97
98dnl Find the location of perl XSUBPP
99AC_MSG_CHECKING(for the perl xsubpp precompiler)
100XSUBPPDIR="`cd "$srcdir" && perl -MExtUtils::MakeMaker -e 'print ExtUtils::MakeMaker->new({NAME => qw(owl)})->tool_xsubpp;' | grep \^XSUBPPDIR | sed -e 's/XSUBPPDIR = //g;'`"
101if test -n "${XSUBPPDIR}"; then
102   AC_MSG_RESULT(${XSUBPPDIR})
103else
104   AC_MSG_ERROR(not found)
105fi
106
107if test -f "${XSUBPPDIR}/typemap"; then
108   XSUBPPFLAGS="-typemap ${XSUBPPDIR}/typemap"
109else
110   XSUBPPFLAGS=""
111fi
112
113dnl Add LIBS for embedded perl
114FOO=`perl -MExtUtils::Embed -e ldopts`
115AC_MSG_NOTICE([Adding perl LIBS ${FOO}])
116LIBS=${LIBS}\ ${FOO}
117AC_CHECK_LIB([perl], [perl_alloc],, AC_MSG_ERROR([No libperl found]))
118
119AX_PROG_PERL_MODULES([AnyEvent],,
120                     [AC_MSG_ERROR([cannot find perl module AnyEvent.])])
121AX_PROG_PERL_MODULES([Class::Accessor::Fast],,
122                     [AC_MSG_ERROR([cannot find perl module Class::Accessor::Fast.])])
123AX_PROG_PERL_MODULES([ExtUtils::Depends],,
124                     [AC_MSG_ERROR([cannot find perl module ExtUtils::Depends])])
125AX_PROG_PERL_MODULES([Glib],,
126                     [AC_MSG_ERROR([cannot find perl module Glib.])])
127AX_PROG_PERL_MODULES([Module::Install::Base],,
128                     [AC_MSG_ERROR([cannot find perl module Module::Install::Base])])
129AX_PROG_PERL_MODULES([PAR],,
130                     [AC_MSG_WARN([PAR.pm not found. Loadable modules will be disabled.])])
131
132dnl Add CFLAGS and LIBS for glib-2.0
133PKG_CHECK_MODULES(GLIB,[glib-2.0 >= 2.16 gobject-2.0 gthread-2.0])
134
135AC_MSG_NOTICE([Adding glib-2.0 CFLAGS ${GLIB_CFLAGS}])
136AM_CFLAGS="${GLIB_CFLAGS} ${AM_CFLAGS}"
137AC_MSG_NOTICE([Adding glib-2.0 LIBS ${GLIB_LIBS}])
138LIBS="${GLIB_LIBS} ${LIBS}"
139
140if test "x${prefix}" = "xNONE"; then
141   prefix="${ac_default_prefix}"
142fi
143
144dnl Add CFLAGS for glib-perl
145GLIB_PERL_CFLAGS=`perl -MExtUtils::Depends -e 'my $e = ExtUtils::Depends->new("BarnOwl","Glib"); my %h = $e->get_makefile_vars; print $h{"INC"}'`
146AC_MSG_NOTICE([Adding glib-perl CFLAGS ${GLIB_PERL_CFLAGS}])
147AM_CFLAGS="${GLIB_PERL_CFLAGS} ${AM_CFLAGS}"
148
149dnl Checks for typedefs, structures, and compiler characteristics.
150
151AX_CFLAGS_WARN_ALL([AM_CFLAGS])
152AX_APPEND_COMPILE_FLAGS([-Wstrict-prototypes -Wwrite-strings],[AM_CFLAGS])
153
154dnl Shut gcc up about zero-length format strings; the warning's apparently for
155dnl efficiency reasons, which is bogus for custom functions.
156AX_APPEND_COMPILE_FLAGS([-Wno-format-zero-length],[AM_CFLAGS])
157
158AM_CONDITIONAL([ENABLE_ZCRYPT], [test "$HAVE_DES_STRING_TO_KEY" && dnl
159                                 test "$HAVE_DES_KEY_SCHED" && dnl
160                                 test "$HAVE_DES_ECB_ENCRYPT"])
161
162AM_CFLAGS="$AM_CFLAGS -D_XOPEN_SOURCE=600"
163dnl Define _BSD_SOURCE/_DEFAULT_SOURCE because zephyr needs caddr_t.
164AM_CFLAGS="$AM_CFLAGS -D_BSD_SOURCE -D_DEFAULT_SOURCE"
165dnl Define __EXTENSIONS__ for strcasecmp on Solaris.
166AM_CFLAGS="$AM_CFLAGS -D__EXTENSIONS__"
167dnl Define _XOPEN_SOURCE_EXTENDED for some features in ncurses,
168dnl including cchar_t.  This should not be necessary with
169dnl _XOPEN_SOURCE=600, but some versions of ncurses
170dnl apparently still need it.
171AM_CFLAGS="$AM_CFLAGS -D_XOPEN_SOURCE_EXTENDED"
172
173AC_SUBST([AM_CFLAGS])
174
175AC_SUBST(XSUBPPDIR)
176AC_SUBST(XSUBPPFLAGS)
177
178AC_PROG_INSTALL
179AC_PROG_RANLIB
180AC_CHECK_PROG([HAVE_ZIP], [zip], [yes], [no])
181if test "x${HAVE_ZIP}" = "xno"; then
182   AC_MSG_ERROR([cannot find a 'zip' binary.])
183fi
184
185AC_CONFIG_LIBOBJ_DIR([compat])
186AC_CHECK_DECLS([memrchr])
187AC_REPLACE_FUNCS([memrchr])
188
189AC_SUBST([abs_builddir])
190AC_SUBST([abs_srcdir])
191
192AC_CONFIG_FILES([Makefile compat/Makefile perl/Makefile perl/modules/Makefile])
193AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.