Make it build with current Claws Mail
[claws-mail-maildir-plugin.git] / configure.ac
1 AC_INIT(src/plugin.c)
2 AC_CONFIG_AUX_DIR(config)
3 AM_MAINTAINER_MODE
4
5 PACKAGE=maildir
6
7 dnl plugin version
8 if test \( -d .git \); then
9     AC_CHECK_PROG([GIT], [git], [yes], [no], [$PATH])
10     if test \( "$GIT" = "no" \); then
11         AC_MSG_ERROR([*** git not found. See http://git-scm.com/])
12     else
13         GIT_VERSION=`git describe --abbrev=6 --dirty --always`
14         echo "echo ${GIT_VERSION}" > ./version
15     fi
16 else
17     GIT_VERSION=`sh -c ". $srcdir/version"`
18 fi
19
20 if test \( -z "$GIT_VERSION" \); then
21         AC_MSG_ERROR([*** could not determine program version])
22 fi
23
24 MAJOR_VERSION=${GIT_VERSION%%.*}
25 MINOR_VERSION=${GIT_VERSION#*.}
26 MINOR_VERSION=${MINOR_VERSION%%.*}
27 MICRO_VERSION=${GIT_VERSION##*.}
28 MICRO_VERSION=${MICRO_VERSION%%-*}
29 EXTRA_VERSION=${GIT_VERSION#*-}
30 EXTRA_VERSION=${EXTRA_VERSION%%-*}
31
32 CFLAGS="$CFLAGS -Wall"
33 if test $USE_MAINTAINER_MODE = yes; then
34         CFLAGS="$CFLAGS -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED"
35 fi
36
37 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
38 AM_CONFIG_HEADER(config.h)
39 AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
40
41 AC_PROG_CC
42 AC_ISC_POSIX
43 AM_PROG_CC_STDC
44 AC_PROG_INSTALL
45 AC_PROG_CPP
46 AM_PROG_LIBTOOL
47 AC_SYS_LARGEFILE
48
49
50 #
51 # Find pkg-config
52 #
53 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
54 if test x$PKG_CONFIG = xno ; then
55   AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
56 fi
57
58 #
59 # Check for claws-mail
60 #
61 PKG_CHECK_MODULES(CLAWS_MAIL, claws-mail >= 3.7.6.53)
62 if test -z $prefix || test "${prefix}" = "NONE" ; then
63   prefix=$( $PKG_CONFIG --variable=prefix claws-mail )
64   CLAWS_MAIL_PLUGINDIR=$( $PKG_CONFIG --variable=plugindir claws-mail )
65 else
66   CLAWS_MAIL_PLUGINDIR='${libdir}/claws-mail/plugins'
67 fi
68 AC_SUBST(CLAWS_MAIL_CFLAGS)
69 AC_SUBST(CLAWS_MAIL_LIBS)
70 AC_SUBST(CLAWS_MAIL_PLUGINDIR)
71
72 AM_PATH_GLIB_2_0(2.6.0,,
73         AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
74         gthread)
75
76 AM_PATH_GTK_2_0(2.6.0,,
77         AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.))
78
79 dnl Berkeley DB
80
81 DBVERS=0
82 DBLINKED=0
83 DBLIB=""
84
85 enable_db="yes"
86 dnl Check for a presence of Berkeley DB header
87 if test "x$enable_db" != "xyes"; then
88    AC_MSG_WARN(cache support disabled)
89 else
90    AC_CHECK_HEADER(db.h, [DB_HEADER=1], [DB_HEADER=0])
91 fi
92
93 if test "x$DB_HEADER" = "x1"; then
94 dnl Check for version of Berkeley DB
95   AC_MSG_CHECKING([version of Berkeley DB])
96
97 dnl check for version 3 and above
98   AC_TRY_COMPILE(
99     [#include <db.h>],
100     [#if DB_VERSION_MAJOR < 3
101     #error DB version 3 or above needed
102     #endif],
103     [DBVERS=3]
104     [])
105
106 dnl check for version 2
107   if test "x$DBVERS" = "x0"; then
108      AC_TRY_COMPILE([#include <db.h>],
109        [#if DB_VERSION_MAJOR != 2
110        #error DB version 2 needed
111        #endif],
112        [DBVERS=2]
113        [])
114   fi
115
116   if test "x$DBVERS" = "x0"; then
117 dnl assume version 1
118     DBVERS=1
119   fi
120
121 dnl test linkage with Berkeley DB
122
123 dnl Look for db3 or superior with db_create call
124   case "$DBVERS" in
125     3)
126     AC_MSG_RESULT([version 3.x or above])
127     for lib in db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db-3.2 db-3 db3 db; do
128       if test "x$DBLINKED" = "x0"; then
129 dnl        AC_CHECK_LIB($lib, db_create, [DBLIB="-l$lib"; DBLINKED=1], [])
130 dnl installations of libdb4 function names are defined in db.h
131 dnl to other symbols
132         AC_MSG_CHECKING([for db_create() in -l$lib])
133         LIBS=-l$lib
134         AC_TRY_LINK(
135            [#include <db.h>],
136            [db_create(0,0,0)],
137            [DBLIB="-l$lib"; DBLINKED=1; AC_MSG_RESULT([found])],
138            [AC_MSG_RESULT([not found])])
139       fi
140     done
141     LIBS=""
142     ;;
143
144 dnl Look for db2 with db_open call
145     2)
146     AC_MSG_RESULT([version 2.x])
147     for lib in db2 db; do
148       if test "x$DBLINKED" = "x0"; then 
149         AC_CHECK_LIB($lib, db_open, [DBLIB="-l$lib"; DBLINKED=1], [])
150       fi
151     done
152     ;;
153
154     *)
155 dnl Look for db1 with dbopen call in -ldb or in libc (bsds)
156     AC_MSG_RESULT([version 1.x])
157     AC_CHECK_FUNC(dbopen, [DBLINKED=1], [])
158     for lib in db-1 db1 db; do
159       if test "x$DBLINKED" = "x0"; then
160         AC_CHECK_LIB($lib, dbopen, [DBLIB="-l$lib"; DBLINKED=1], [])
161       fi
162     done
163     ;;
164 dnl fi
165   esac
166 fi
167
168 if test "x$DBLINKED" = "x0"; then
169   DBVERS=0
170   if test "x$enable_db" = "xyes"; then
171     AC_MSG_ERROR(libdb missing.)
172   fi
173 fi
174
175 AC_DEFINE_UNQUOTED(DBVERS, $DBVERS,
176   [Define to detected Berkeley DB major version number])
177 AC_SUBST(DBLIB)
178
179 AC_SUBST(VERSION)
180 AC_SUBST(PLUGINVERSION)
181 AC_SUBST(MAJOR_VERSION)
182 AC_SUBST(MINOR_VERSION)
183 AC_SUBST(MICRO_VERSION)
184 AC_SUBST(EXTRA_VERSION)
185
186 AC_OUTPUT([
187 Makefile
188 src/Makefile
189 config/Makefile
190 doc/Makefile
191 ])