source: configure.ac @ 0fd5bd5

release-1.10release-1.6release-1.7release-1.8release-1.9
Last change on this file since 0fd5bd5 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
RevLine 
[7d4fbcd]1dnl Process this file with autoconf to produce a configure script.
[9d2a105]2AC_INIT([BarnOwl],[1.6rc1],[bug-barnowl@mit.edu])
[cecb125]3AM_INIT_AUTOMAKE([1.7.0 -Wall -Wno-portability foreign])
[636de2a]4m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
[7d4fbcd]5
[8073852]6AC_CONFIG_MACRO_DIR([m4])
[37f27bc]7AC_CONFIG_HEADER([config.h])
[7d4fbcd]8
9AC_PROG_CC
10
[4097723]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],
[ce27cc1]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    ])])
[87afe92]24
[d54035d]25AC_CHECK_LIB(ncursesw, initscr,, AC_MSG_ERROR(No libncursesw found.))
[59077f9]26AC_CHECK_LIB(panelw, update_panels,, AC_MSG_ERROR(No libpanelw found.))
[363eb9d]27AC_SEARCH_LIBS([gethostbyname], [nsl])
28AC_SEARCH_LIBS([socket], [socket])
29AC_SEARCH_LIBS([res_search], [resolv])
[2c270e6]30
31AC_ARG_WITH([zephyr],
[438009c]32  [AS_HELP_STRING([--with-zephyr],
[ec21c62]33    [Enable Zephyr support])],
[2c270e6]34  [],
35  [with_zephyr=check])
36
37AS_IF([test "x$with_zephyr" != xno],
[806f769]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],
[16c0416]51   [LIBS="$LIBS -lzephyr"
52    AC_DEFINE([HAVE_LIBZEPHYR], [1],
[2c270e6]53                [Define if you have libzephyr])
54    AC_CHECK_LIB([zephyr], [ZInitLocationInfo],
55      AC_DEFINE([HAVE_LIBZEPHYR_ZINITLOCATIONINFO], [1],
56                [Have ZInitLocationInfo]),)
[cc1eeac]57    AC_CHECK_LIB([com_err], [com_err])
58    AC_CHECK_HEADERS([com_err.h])
[2c270e6]59   ],
60   [if test "x$with_zephyr" != xcheck; then
61      AC_MSG_FAILURE(
[438009c]62        [--with-zephyr was given, but libzephyr does not seem to be available.])
[2c270e6]63    fi
64   ])])
[ac70242]65
[d193e28]66AC_CHECK_FUNCS([use_default_colors resizeterm])
[7d03c8d]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])
[e51b410]70
[7d4fbcd]71dnl Checks for header files.
72AC_HEADER_STDC
73AC_HEADER_SYS_WAIT
[75b0adb]74AC_HEADER_STDBOOL
[cc1eeac]75AC_CHECK_HEADERS(strings.h sys/ioctl.h sys/filio.h unistd.h)
[7d4fbcd]76
77dnl Add CFLAGS for embeded perl
[1c89df8]78PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
79AC_MSG_NOTICE([Adding perl CFLAGS ${PERL_CFLAGS}])
80CFLAGS="${CFLAGS} ${PERL_CFLAGS}"
[7d4fbcd]81
[e51b410]82dnl Find the location of perl XSUBPP
[8ee73f8d]83AC_MSG_CHECKING(for the perl xsubpp precompiler)
[6794f72]84XSUBPPDIR="`(perl -MExtUtils::MakeMaker -e 'print ExtUtils::MakeMaker->new({NAME => qw(owl)})->tool_xsubpp;') | grep \^XSUBPPDIR | sed -e 's/XSUBPPDIR = //g;'`"
[8ee73f8d]85if test -n "${XSUBPPDIR}"; then
86   AC_MSG_RESULT(${XSUBPPDIR})
87else
88   AC_MSG_ERROR(not found)
89fi
90
[4ad3480]91if test -f "${XSUBPPDIR}/typemap"; then
92   XSUBPPFLAGS="-typemap ${XSUBPPDIR}/typemap"
93else
94   XSUBPPFLAGS=""
95fi
96
[18e28a4]97dnl Add LDFLAGS for embedded perl
[3f21b8e]98FOO=`perl -MExtUtils::Embed -e ldopts`
[c08a725]99AC_MSG_NOTICE([Adding perl LIBS ${FOO}])
100LIBS=${LIBS}\ ${FOO}
[4c97193]101AC_CHECK_LIB([perl], [perl_alloc],, AC_MSG_ERROR([No libperl found]))
[7d4fbcd]102
[2d3ed95]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
[34509d5]108dnl Add CFLAGS and LDFLAGS for glib-2.0
109PKG_CHECK_MODULES(GLIB,glib-2.0)
110
[7c09b21]111AC_MSG_NOTICE([Adding glib-2.0 CFLAGS ${GLIB_CFLAGS}])
[d9337637]112CFLAGS="${GLIB_CFLAGS} ${CFLAGS}"
[7c09b21]113AC_MSG_NOTICE([Adding glib-2.0 LDFLAGS ${GLIB_LIBS}])
[d9337637]114LDFLAGS="${GLIB_LIBS} ${LDFLAGS}"
[34509d5]115
[37f27bc]116if test "x${prefix}" = "xNONE"; then
117   prefix="${ac_default_prefix}"
118fi
[7d4fbcd]119
[37f27bc]120dnl Checks for typedefs, structures, and compiler characteristics.
[c50f589]121
[79245bc]122AX_CFLAGS_WARN_ALL
[de8945b]123AX_CFLAGS_STRICT_PROTOTYPES
[79245bc]124
[215c119]125AX_C_CHECK_FLAG([-Wno-pointer-sign],[],[],
126  [LIBFAIM_CFLAGS="$LIBFAIM_CFLAGS -Wno-pointer-sign"])
127
[7d03c8d]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
[215c119]132AC_SUBST([LIBFAIM_CFLAGS])
133
[15bd5ef]134AC_SUBST(XSUBPPDIR)
[4ad3480]135AC_SUBST(XSUBPPFLAGS)
[8ee73f8d]136
[ac70242]137AC_PROG_INSTALL
[37f27bc]138AC_PROG_RANLIB
[db4b293]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
[ac70242]143
[10557e6]144AC_CONFIG_FILES([Makefile libfaim/Makefile perl/Makefile perl/modules/Makefile])
[b9c8d28]145AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.