Mark plugin as GTK3 type
[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 -DGDK_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED"
35 fi
36
37 if test \( $EXTRA_VERSION = "" \); then
38   VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
39 else
40   VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}git${EXTRA_VERSION}
41 fi
42 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
43 AM_CONFIG_HEADER(config.h)
44 AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])
45
46 AC_PROG_CC
47 AC_ISC_POSIX
48 AM_PROG_CC_STDC
49 AC_PROG_INSTALL
50 AC_PROG_CPP
51 AM_PROG_LIBTOOL
52 AC_SYS_LARGEFILE
53
54 dnl Require pkg-config
55 m4_ifndef([PKG_PROG_PKG_CONFIG],
56     [m4_fatal([Could not locate the pkg-config autoconf macros. These
57 are usually located in /usr/share/aclocal/pkg.m4. If your macros
58 are in a different location, try setting the environment variable
59 ACLOCAL_FLAGS before running ./autogen.sh or autoreconf again. E.g.:
60 export ACLOCAL_FLAGS="-I/other/macro/dir"])
61 ])
62 PKG_PROG_PKG_CONFIG
63
64 #
65 # Check for claws-mail
66 #
67 PKG_CHECK_MODULES(CLAWS_MAIL, claws-mail >= 4.0.0.405)
68 if test -z $prefix || test "${prefix}" = "NONE" ; then
69   prefix=$( $PKG_CONFIG --variable=prefix claws-mail )
70   CLAWS_MAIL_PLUGINDIR=$( $PKG_CONFIG --variable=plugindir claws-mail )
71 else
72   CLAWS_MAIL_PLUGINDIR='${libdir}/claws-mail/plugins'
73 fi
74 AC_SUBST(CLAWS_MAIL_CFLAGS)
75 AC_SUBST(CLAWS_MAIL_LIBS)
76 AC_SUBST(CLAWS_MAIL_PLUGINDIR)
77
78 AM_PATH_GLIB_2_0(2.6.0,,
79         AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
80         gthread)
81
82 AM_PATH_GTK_3_0(3.24.0,,
83         AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.))
84
85 dnl Berkeley DB
86
87 DBVERS=0
88 DBLINKED=0
89 DBLIB=""
90
91 enable_db="yes"
92 dnl Check for a presence of Berkeley DB header
93 if test "x$enable_db" != "xyes"; then
94    AC_MSG_WARN(cache support disabled)
95 else
96    AC_CHECK_HEADER(db.h, [DB_HEADER=1], [DB_HEADER=0])
97 fi
98
99 if test "x$DB_HEADER" = "x1"; then
100 dnl Check for version of Berkeley DB
101   AC_MSG_CHECKING([version of Berkeley DB])
102
103 dnl check for version 3 and above
104   AC_TRY_COMPILE(
105     [#include <db.h>],
106     [#if DB_VERSION_MAJOR < 3
107     #error DB version 3 or above needed
108     #endif],
109     [DBVERS=3]
110     [])
111
112 dnl check for version 2
113   if test "x$DBVERS" = "x0"; then
114      AC_TRY_COMPILE([#include <db.h>],
115        [#if DB_VERSION_MAJOR != 2
116        #error DB version 2 needed
117        #endif],
118        [DBVERS=2]
119        [])
120   fi
121
122   if test "x$DBVERS" = "x0"; then
123 dnl assume version 1
124     DBVERS=1
125   fi
126
127 dnl test linkage with Berkeley DB
128
129 dnl Look for db3 or superior with db_create call
130   case "$DBVERS" in
131     3)
132     AC_MSG_RESULT([version 3.x or above])
133     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
134       if test "x$DBLINKED" = "x0"; then
135 dnl        AC_CHECK_LIB($lib, db_create, [DBLIB="-l$lib"; DBLINKED=1], [])
136 dnl installations of libdb4 function names are defined in db.h
137 dnl to other symbols
138         AC_MSG_CHECKING([for db_create() in -l$lib])
139         LIBS=-l$lib
140         AC_TRY_LINK(
141            [#include <db.h>],
142            [db_create(0,0,0)],
143            [DBLIB="-l$lib"; DBLINKED=1; AC_MSG_RESULT([found])],
144            [AC_MSG_RESULT([not found])])
145       fi
146     done
147     LIBS=""
148     ;;
149
150 dnl Look for db2 with db_open call
151     2)
152     AC_MSG_RESULT([version 2.x])
153     for lib in db2 db; do
154       if test "x$DBLINKED" = "x0"; then 
155         AC_CHECK_LIB($lib, db_open, [DBLIB="-l$lib"; DBLINKED=1], [])
156       fi
157     done
158     ;;
159
160     *)
161 dnl Look for db1 with dbopen call in -ldb or in libc (bsds)
162     AC_MSG_RESULT([version 1.x])
163     AC_CHECK_FUNC(dbopen, [DBLINKED=1], [])
164     for lib in db-1 db1 db; do
165       if test "x$DBLINKED" = "x0"; then
166         AC_CHECK_LIB($lib, dbopen, [DBLIB="-l$lib"; DBLINKED=1], [])
167       fi
168     done
169     ;;
170 dnl fi
171   esac
172 fi
173
174 if test "x$DBLINKED" = "x0"; then
175   DBVERS=0
176   if test "x$enable_db" = "xyes"; then
177     AC_MSG_ERROR(libdb missing.)
178   fi
179 fi
180
181 AC_DEFINE_UNQUOTED(DBVERS, $DBVERS,
182   [Define to detected Berkeley DB major version number])
183 AC_SUBST(DBLIB)
184
185 AC_SUBST(VERSION)
186 AC_SUBST(PLUGINVERSION)
187 AC_SUBST(MAJOR_VERSION)
188 AC_SUBST(MINOR_VERSION)
189 AC_SUBST(MICRO_VERSION)
190 AC_SUBST(EXTRA_VERSION)
191
192 AC_OUTPUT([
193 Makefile
194 src/Makefile
195 config/Makefile
196 doc/Makefile
197 ])