source: configure.ac @ 0ee43c8

release-1.10release-1.6release-1.7release-1.8release-1.9
Last change on this file since 0ee43c8 was 5a57386, checked in by Nelson Elhage <nelhage@mit.edu>, 14 years ago
Define DATADIR and BINDIR in the Makefile, not config.h This is the recommended way to do it, and deals with the fact that DATADIR and BINDIR themselves expand to variable references.
  • Property mode set to 100644
File size: 4.6 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2AC_INIT([BarnOwl],[1.6rc1],[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
120dnl Checks for typedefs, structures, and compiler characteristics.
121
122AX_CFLAGS_WARN_ALL
123AX_CFLAGS_STRICT_PROTOTYPES
124
125AX_C_CHECK_FLAG([-Wno-pointer-sign],[],[],
126  [LIBFAIM_CFLAGS="$LIBFAIM_CFLAGS -Wno-pointer-sign"])
127
128AM_CONDITIONAL([ENABLE_ZCRYPT], [test "$HAVE_DES_STRING_TO_KEY" && dnl
129                                 test "$HAVE_DES_KEY_SCHED" && dnl
130                                 test "$HAVE_DES_ECB_ENCRYPT"])
131
132AC_SUBST([LIBFAIM_CFLAGS])
133
134AC_SUBST(XSUBPPDIR)
135AC_SUBST(XSUBPPFLAGS)
136
137AC_PROG_INSTALL
138AC_PROG_RANLIB
139AC_CHECK_PROG([HAVE_ZIP], [zip], [yes], [no])
140if test "x${HAVE_ZIP}" = "xno"; then
141   AC_MSG_ERROR([cannot find a 'zip' binary.])
142fi
143
144AC_CONFIG_FILES([Makefile libfaim/Makefile perl/Makefile perl/modules/Makefile])
145AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.