1d9ae0b1be56d567d1cb4049472490eb3cda6212
[claws.git] / ac / aspell.m4
1 dnl Autoconf macros for libaspell
2 dnl $Id$
3
4 # Configure paths for ASPELL
5 # Shamelessly stolen from the one of GPGME by Werner Koch 
6 # Melvin Hadasht  2001-09-17, 2002
7
8 dnl AM_PATH_ASPELL([MINIMUM-VERSION,
9 dnl               [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
10 dnl Test for aspell, and define ASPELL_CFLAGS, ASPELL_LIBS and ASPELL_PATH
11 dnl
12 AC_DEFUN(AM_PATH_ASPELL,
13 [dnl
14 dnl Get the cflags and libraries from the aspell-config script
15 dnl
16    AC_ARG_WITH(aspell-prefix,
17       [  --with-aspell-prefix=PFX           Prefix where aspell is installed (optional)],
18       aspell_prefix="$withval", aspell_prefix="")
19    AC_ARG_ENABLE(aspell-test,
20       [  --disable-aspell-test   Do not try to compile and run a test GNU/aspell program],
21       , enable_aspelltest=yes)
22    AC_ARG_WITH(aspell-libs,
23       [  --with-aspell-libs=LIBS            Where GNU/aspell library reside (/usr/local/lib)],
24       aspell_libs="$withval", aspell_libs="")
25    AC_ARG_WITH(aspell-includes,
26       [  --with-aspell-includes=INCLUDES    Where GNU/aspell headers reside (/usr/local/include)],
27       aspell_includes="$withval", aspell_includes="")
28
29   if test x$aspell_prefix != x ; then
30      if test x${ASPELL+set} != xset ; then
31         ASPELL=$aspell_prefix/bin/aspell
32      fi
33      if test x$aspell_includes = x ; then
34         aspell_includes=$aspell_prefix/include
35      fi
36      if test x$aspell_libs = x ; then
37         aspell_libs=$aspell_prefix/lib
38      fi
39   fi
40   if test x$aspell_includes = x ; then
41      aspell_includes=/usr/local/include
42   fi
43   if test x$aspell_libs = x ; then
44      aspell_libs=/usr/local/lib
45   fi
46
47   AC_PATH_PROG(ASPELL, aspell, no)
48   min_aspell_version=ifelse([$1], ,.50,$1)
49   AC_MSG_CHECKING(for GNU/aspell - version >= $min_aspell_version)
50   no_aspell=""
51   if test "$ASPELL" = "no" ; then
52      echo "*** The aspell executable could not be found"
53      echo "*** If aspell was installed in PREFIX, make sure PREFIX/bin is in"
54      echo "*** your path, or set the ASPELL environment variable to the"
55      echo "*** full path to aspell or configure with --with-aspell-prefix=PREFIX."
56      ASPELL_CFLAGS=""
57      ASPELL_LIBS=""
58      ASPELL_PATH=""
59      no_aspell=yes
60      ifelse([$3], , :, [$3])
61   else
62      ASPELL_CFLAGS="-I$aspell_includes"
63      ASPELL_LIBS="-L$aspell_libs -laspell"
64      aspell_version=`$ASPELL version|sed -e "s/\(@(#) International Ispell Version 3.1.20 (but really Aspell \)\(.*\))/\2/"`
65      if test "x$enable_aspelltest" = "xyes" ; then
66         rm -f conf.aspelltest
67         AC_TRY_RUN([
68 #include <stdio.h>
69 #include <stdlib.h>
70 #include <string.h>
71
72 int
73 main ()
74 {
75  system ("touch conf.aspelltest");
76  if(strcmp("$aspell_version","$min_aspell_version")<0){
77    printf("no\n");
78    return 1;
79    }
80  return 0;
81 }
82         ],, no_aspell=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
83         if test "x$no_aspell" = x ; then
84            AC_MSG_RESULT(yes)
85            AC_MSG_CHECKING(for GNU/aspell dictionaries location)
86            aspell_path="`$ASPELL config dict-dir`"
87            AC_DEFINE_UNQUOTED(ASPELL_PATH, "${aspell_path}/", Define ASPELL's default directory)
88            AC_MSG_RESULT($aspell_path)
89            AC_MSG_CHECKING(if GNU/aspell is correctly installed)
90            ac_save_CFLAGS="$CFLAGS"
91            ac_save_LIBS="$LIBS"
92            CFLAGS="$CFLAGS $ASPELL_CFLAGS"
93            LIBS="$LIBS $ASPELL_LIBS"
94            rm -f conf.aspelltest
95            AC_TRY_RUN([
96 #include <stdio.h>
97 #include <stdlib.h>
98 #include <string.h>
99 #include <aspell.h>
100
101 int
102 main()
103 {
104  AspellConfig * aspellconfig = new_aspell_config();
105  system("touch conf.aspelltest");
106  return 0;
107 }
108            ],, aspell_failure=yes,)
109            CFLAGS="$ac_save_CFLAGS"
110            LIBS="$ac_save_LIBS"
111            if test "x$aspell_failure" = x ; then     
112               AC_MSG_RESULT(yes)
113               ifelse([$2], , :, [$2])
114            else
115               AC_MSG_RESULT(no)
116               echo "*** The GNU/aspell test program did not succeed. This usually means that "
117               echo "*** the headers and the libraries could not be found. Check config.log"
118               echo "*** for detailed error message and add the relevant options"
119               echo "*** --with-aspell-prefix, --with-aspell-includes or --with-aspell-libs"
120               echo "*** to the configure command."
121               echo "*** This can also mean that the library was not found at runtime. In that case"
122               echo "*** add its path to LD_LIBRARY_PATH environment variable or in /etc/ld.so.conf"
123               ASPELL_CFLAGS=""
124               ASPELL_LIBS=""
125               ASPELL_PATH=""
126               ifelse([$3], , :, [$3])
127            fi
128         else
129            ASPELL_CFLAGS=""
130            ASPELL_LIBS=""
131            ASPELL_PATH=""
132            ifelse([$3], , :, [$3])
133         fi   
134      fi 
135   fi
136   AC_SUBST(ASPELL_CFLAGS)
137   AC_SUBST(ASPELL_LIBS)
138   AC_SUBST(ASPELL_PATH)
139   rm -f conf.aspelltest
140 ])
141