1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
## -*- autoconf -*-
dnl This file was created by Lee Carpenter <[email protected]>
dnl Later modified by Martin Gruner <[email protected]>
dnl It provides macros for the autoconf package to find the CLucene library on your system.
dnl ----------------------------------------------------------------------
dnl Check for clucene installation
dnl First argument specifies whether or not to link
dnl CLucene statically
dnl ----------------------------------------------------------------------
AC_DEFUN(AC_CHECK_CLUCENE,
[
dnl AC_MSG_CHECKING([for a clucene installation])
dnl The option for the configure script
AC_ARG_WITH(clucene-dir,
[ --with-clucene-dir=DIR Path where CLucene is installed (default=/usr) ],
[
ac_clucene_dir=$withval
],ac_clucene_dir=/usr
)
AC_ARG_ENABLE(static-clucene,
[ --enable-static-clucene Link to the static CLucene library],
ac_static_clucene="YES",
[ ac_static_clucene="$1" ]
)
dnl try to find CLucene library files
AC_MSG_CHECKING([for CLucene library files])
clucene_multiarch_libs="/usr/lib/`uname -m`-linux-gnu"
ac_clucene_library_dirs="$ac_clucene_dir/lib $exec_prefix/lib $prefix/lib /usr/lib /usr/lib64 /usr/local/lib $clucene_multiarch_libs"
if test "x$ac_static_clucene" = "xYES"; then
SEARCH_LIBS="libclucene.a";
else
SEARCH_LIBS="libclucene.so libclucene.so.0 libclucene.so.0.0.0 libcluene.a";
fi
AC_CACHE_VAL(ac_cv_clucene_libdir, AC_FIND_FILE($SEARCH_LIBS, $ac_clucene_library_dirs, ac_cv_clucene_libdir))
if test "x$ac_cv_clucene_libdir" = "xNO"; then
AC_MSG_CHECKING([for CLucene 2.x library files])
SEARCH_LIBS="libclucene-shared.so libclucene-shared.so.1";
AC_CACHE_VAL(ac_cv_clucene2_libdir, AC_FIND_FILE($SEARCH_LIBS, $ac_clucene_library_dirs, ac_cv_clucene_libdir))
if test "x$ac_cv_clucene2_libdir" = "xNO"; then
AC_MSG_ERROR(CLucene library not found. Try to use configure with --with-clucene-dir=/path/to/clucene);
fi
else
ac_cv_clucene2_libdir="NO"
fi
if test "x$ac_static_clucene" = "xYES"; then
LIB_CLUCENE="$ac_cv_clucene_libdir/libclucene.a";
else
if test "x$ac_cv_clucene2_libdir" = "xNO"; then
LIB_CLUCENE="-lclucene";
else
CXXFLAGS="$CXXFLAGS -DCLUCENE_V2"
LIB_CLUCENE="-lclucene-shared";
fi
fi
AC_SUBST(CLUCENE_LIBRARY_PATH)
AC_SUBST(LIB_CLUCENE)
all_libraries="$all_libraries -L$ac_cv_clucene_libdir"
if test "x$ac_static_clucene" = "xYES"; then
MESSAGE="static library $ac_cv_clucene_libdir/libclucene.a";
else
MESSAGE="$ac_cv_clucene_libdir";
fi
AC_MSG_RESULT([$MESSAGE])
dnl -- try to find CLucene include files --
AC_MSG_CHECKING([for Clucene include files])
ac_clucene_include_dirs="$ac_clucene_dir/include $exec_prefix/include $prefix/include /usr/include /usr/local/include"
AC_CACHE_VAL(ac_cv_clucene_incdir, AC_FIND_FILE(CLucene.h, $ac_clucene_include_dirs, ac_cv_clucene_incdir))
if test "x$ac_cv_clucene_incdir" = "xNO"; then
AC_MSG_ERROR([The CLucene include file files were not found.
Please try to use configure with --with-clucene-dir=/path/to/clucene
])
fi
CLUCENE_INCLUDES="-I$ac_cv_clucene_incdir"
AC_SUBST(CLUCENE_INCLUDES)
all_includes="$all_includes -I$ac_cv_clucene_incdir -I$ac_cv_clucene_libdir -I$ac_cv_sword_incdir" #$ac_cv_clucene_libdir needed for Clucene/clucene-config.h
AC_MSG_RESULT([$ac_cv_clucene_incdir])
dnl -- CLucene installed test --
AC_MSG_CHECKING([for CLucene version])
AC_CACHE_VAL(ac_cv_installed_clucene_version,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
ac_LIBRARY_PATH="$LIBRARY_PATH"
ac_cxxflags_safe="$CXXFLAGS"
ac_ldflags_safe="$LDFLAGS"
ac_libs_safe="$LIBS"
CXXFLAGS="$CXXFLAGS -I$"
LDFLAGS="$LDFLAGS -L$ac_cv_clucene_libdir -L$ac_cv_sword_libdir"
LIBS="$LIB_CLUCENE -lz -lsword -ltqt"
LD_LIBRARY_PATH="$ac_cv_clucene_libdir"
export LD_LIBRARY_PATH
LIBRARY_PATH=
export LIBRARY_PATH
cat > conftest.$ac_ext <<EOF
#include <iostream>
#include <swversion.h>
#include <CLucene/clucene-config.h>
int main(int argc, char* argv[[]]) {
if ( sword::SWVersion( _CL_VERSION ) >= sword::SWVersion( "0.9.16" ) ){
std::cout << "ok";
}
else{
std::cout << "not-ok";
}
return 0;
}
EOF
ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
if AC_TRY_EVAL(ac_link) && test -s conftest; then
if test -x conftest; then
eval ac_cv_installed_clucene_version=`./conftest 2>&5`
fi
else
echo "configure: failed program was:" >&AC_FD_CC
AC_MSG_ERROR([Failed to compile the test program to check the CLucene version! Please have a look at config.log! Report this to the BibleTime developers!]);
cat conftest.$ac_ext >&AC_FD_CC
fi
rm -f conftest*
CXXFLAGS="$ac_cxxflags_safe"
LDFLAGS="$ac_ldflags_safe"
LIBS="$ac_libs_safe"
LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
export LD_LIBRARY_PATH
LIBRARY_PATH="$ac_LIBRARY_PATH"
export LIBRARY_PATH
AC_LANG_RESTORE
])
if test "x$ac_cv_installed_clucene_version" = "xok"; then
AC_MSG_RESULT([ok, version is recent enough]);
elif test "x$ac_cv_installed_clucene_version" = "xnot-ok"; then
AC_MSG_RESULT([installed]);
AC_MSG_ERROR([Your CLucene version is not recent enough! Please upgrade to version >= 0.9.16!]);
fi;
])
|