source: configure.ac @ 63de71c

release-1.6release-1.7release-1.8release-1.9
Last change on this file since 63de71c was 75b0adb, checked in by Nelson Elhage <nelhage@mit.edu>, 12 years ago
Check for stdbool.h in configure. Athena 9 Solaris doesn't have a working stdbool.h. The chain of defines and ifdefs is slightly modified from the "Particular Headers" section of autoconf's info pages.
  • Property mode set to 100644
File size: 4.8 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2AC_INIT([BarnOwl],[1.6dev],[bug-barnowl@mit.edu])
3AM_INIT_AUTOMAKE([1.7.0 -Wall -Wno-portability foreign])
4m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
5
6AC_CONFIG_MACRO_DIR([m4])
7AC_CONFIG_HEADER([config.h])
8
9AC_PROG_CC
10
11AC_ARG_WITH([stack-protector],
12  [AS_HELP_STRING([--with-stack-protector],
13    [Enable gcc -fstack-protector])],
14  [],
15  [with_stack_protector=check])
16
17AS_IF([test "x$with_stack_protector" != xno],
18  [AX_C_CHECK_FLAG([-fstack-protector],[],[],
19    [CFLAGS="$CFLAGS -fstack-protector"],
20    [if test "x$with_stack_protector" != xcheck; then
21       AC_MSG_FAILURE([--with-stack-protector selected, but gcc does support it.])
22     fi
23    ])])
24
25AC_CHECK_LIB(ncursesw, initscr,, AC_MSG_ERROR(No libncursesw found.))
26AC_CHECK_LIB(panelw, update_panels,, AC_MSG_ERROR(No libpanelw found.))
27AC_SEARCH_LIBS([gethostbyname], [nsl])
28AC_SEARCH_LIBS([socket], [socket])
29AC_SEARCH_LIBS([res_search], [resolv])
30
31AC_ARG_WITH([zephyr],
32  [AS_HELP_STRING([--with-zephyr],
33    [Enable Zephyr support])],
34  [],
35  [with_zephyr=check])
36
37AS_IF([test "x$with_zephyr" != xno],
38  [AC_MSG_CHECKING([for Kerberos IV])
39   AS_IF([krb5-config krb4 --libs >/dev/null 2>&1],
40     [AC_MSG_RESULT([yes])
41      AC_DEFINE([HAVE_KERBEROS_IV], [1], [Define if you have kerberos IV])
42      CFLAGS="${CFLAGS} `krb5-config krb4 --cflags`"
43      LIBS="${LIBS} `krb5-config krb4 --libs`"
44     ],
45     [AC_MSG_RESULT([no])
46      PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto])
47      CFLAGS="${CFLAGS} ${LIBCRYPTO_CFLAGS}"
48      LIBS="${LIBS} ${LIBCRYPTO_LIBS}"
49     ])
50   AC_CHECK_LIB([zephyr], [ZGetSender],
51   [LIBS="$LIBS -lzephyr"
52    AC_DEFINE([HAVE_LIBZEPHYR], [1],
53                [Define if you have libzephyr])
54    AC_CHECK_LIB([zephyr], [ZInitLocationInfo],
55      AC_DEFINE([HAVE_LIBZEPHYR_ZINITLOCATIONINFO], [1],
56                [Have ZInitLocationInfo]),)
57    AC_CHECK_LIB([com_err], [com_err])
58    AC_CHECK_HEADERS([com_err.h])
59   ],
60   [if test "x$with_zephyr" != xcheck; then
61      AC_MSG_FAILURE(
62        [--with-zephyr was given, but libzephyr does not seem to be available.])
63    fi
64   ])])
65
66AC_CHECK_FUNCS([use_default_colors resizeterm])
67AC_CHECK_FUNCS([des_string_to_key DES_string_to_key], [HAVE_DES_STRING_TO_KEY=1])
68AC_CHECK_FUNCS([des_ecb_encrypt DES_ecb_encrypt], [HAVE_DES_ECB_ENCRYPT=1])
69AC_CHECK_FUNCS([des_key_sched DES_key_sched], [HAVE_DES_KEY_SCHED=1])
70
71dnl Checks for header files.
72AC_HEADER_STDC
73AC_HEADER_SYS_WAIT
74AC_HEADER_STDBOOL
75AC_CHECK_HEADERS(strings.h sys/ioctl.h sys/filio.h unistd.h)
76
77dnl Add CFLAGS for embeded perl
78PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
79AC_MSG_NOTICE([Adding perl CFLAGS ${PERL_CFLAGS}])
80CFLAGS="${CFLAGS} ${PERL_CFLAGS}"
81
82dnl Find the location of perl XSUBPP
83AC_MSG_CHECKING(for the perl xsubpp precompiler)
84XSUBPPDIR="`(perl -MExtUtils::MakeMaker -e 'print ExtUtils::MakeMaker->new({NAME => qw(owl)})->tool_xsubpp;') | grep \^XSUBPPDIR | sed -e 's/XSUBPPDIR = //g;'`"
85if test -n "${XSUBPPDIR}"; then
86   AC_MSG_RESULT(${XSUBPPDIR})
87else
88   AC_MSG_ERROR(not found)
89fi
90
91if test -f "${XSUBPPDIR}/typemap"; then
92   XSUBPPFLAGS="-typemap ${XSUBPPDIR}/typemap"
93else
94   XSUBPPFLAGS=""
95fi
96
97dnl Add LDFLAGS for embedded perl
98FOO=`perl -MExtUtils::Embed -e ldopts`
99AC_MSG_NOTICE([Adding perl LIBS ${FOO}])
100LIBS=${LIBS}\ ${FOO}
101AC_CHECK_LIB([perl], [perl_alloc],, AC_MSG_ERROR([No libperl found]))
102
103AX_PROG_PERL_MODULES([Class::Accessor::Fast],,
104                     [AC_MSG_ERROR([cannot find perl module Class::Accessor::Fast.])])
105AX_PROG_PERL_MODULES([PAR],,
106                     [AC_MSG_WARN([PAR.pm not found. Loadable modules will be disabled.])])
107
108dnl Add CFLAGS and LDFLAGS for glib-2.0
109PKG_CHECK_MODULES(GLIB,glib-2.0)
110
111AC_MSG_NOTICE([Adding glib-2.0 CFLAGS ${GLIB_CFLAGS}])
112CFLAGS="${GLIB_CFLAGS} ${CFLAGS}"
113AC_MSG_NOTICE([Adding glib-2.0 LDFLAGS ${GLIB_LIBS}])
114LDFLAGS="${GLIB_LIBS} ${LDFLAGS}"
115
116if test "x${prefix}" = "xNONE"; then
117   prefix="${ac_default_prefix}"
118fi
119
120AC_DEFINE_UNQUOTED([DATADIR],["${prefix}/share/${PACKAGE}"],
121                   [Package data directory])
122AC_DEFINE_UNQUOTED([BINDIR],["${prefix}/bin"],
123                   [Binary directory])
124
125dnl Checks for typedefs, structures, and compiler characteristics.
126
127AX_CFLAGS_WARN_ALL
128AX_CFLAGS_STRICT_PROTOTYPES
129
130AX_C_CHECK_FLAG([-Wno-pointer-sign],[],[],
131  [LIBFAIM_CFLAGS="$LIBFAIM_CFLAGS -Wno-pointer-sign"])
132
133AM_CONDITIONAL([ENABLE_ZCRYPT], [test "$HAVE_DES_STRING_TO_KEY" && dnl
134                                 test "$HAVE_DES_KEY_SCHED" && dnl
135                                 test "$HAVE_DES_ECB_ENCRYPT"])
136
137AC_SUBST([LIBFAIM_CFLAGS])
138
139AC_SUBST(XSUBPPDIR)
140AC_SUBST(XSUBPPFLAGS)
141
142AC_PROG_INSTALL
143AC_PROG_RANLIB
144AC_CHECK_PROG([HAVE_ZIP], [zip], [yes], [no])
145if test "x${HAVE_ZIP}" = "xno"; then
146   AC_MSG_ERROR([cannot find a 'zip' binary.])
147fi
148
149AC_CONFIG_FILES([Makefile libfaim/Makefile perl/Makefile perl/modules/Makefile])
150AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.