| 1 |
dnl For Tritonn MySQL Engine |
| 2 |
AC_INIT(src/ha_tritonn.cc) |
| 3 |
AM_CONFIG_HEADER(src/tritonn_config.h) |
| 4 |
AM_INIT_AUTOMAKE("tritonn_engine", 0.0.1) |
| 5 |
|
| 6 |
if test -z "$CFLAGS"; then |
| 7 |
CFLAGS= |
| 8 |
fi |
| 9 |
if test -z "$CXXFLAGS"; then |
| 10 |
CXXFLAGS= |
| 11 |
fi |
| 12 |
|
| 13 |
AC_PROG_CC |
| 14 |
AC_PROG_CXX |
| 15 |
AC_PROG_CPP |
| 16 |
AC_PROG_GCC_TRADITIONAL |
| 17 |
AC_PROG_LIBTOOL |
| 18 |
LIBTOOL="$LIBTOOL --preserve-dup-deps" |
| 19 |
AC_SUBST(LIBTOOL) |
| 20 |
|
| 21 |
AC_DEFUN([MYSQL_SRC_TEST], [ |
| 22 |
AC_MSG_CHECKING(for mysql source code) |
| 23 |
AC_ARG_WITH(mysql, |
| 24 |
[[ --with-mysql[=mysql src directory] |
| 25 |
Source requir to build engine.]], |
| 26 |
[ |
| 27 |
if test -d "$withval/sql"; then |
| 28 |
MYSQL_SRC="$i/mysql_config" |
| 29 |
fi |
| 30 |
|
| 31 |
AC_DEFINE([MYSQL_SRC], [1], [Source directory for MySQL]) |
| 32 |
MYSQL_INC="-I$withval/sql -I$withval/include -I$withval/regex -I$withval" |
| 33 |
AC_MSG_RESULT(["$withval"]) |
| 34 |
], |
| 35 |
[ |
| 36 |
AC_MSG_ERROR(["no mysql source provided"]) |
| 37 |
]) |
| 38 |
]) |
| 39 |
MYSQL_SRC_TEST |
| 40 |
AC_SUBST(MYSQL_INC) |
| 41 |
|
| 42 |
# For senna |
| 43 |
MECAB_INCLUDES= |
| 44 |
MECAB_LIBS= |
| 45 |
|
| 46 |
AC_ARG_WITH(mecab, |
| 47 |
[ --with-mecab[=DIR] Specify install prefix of mecab], [ |
| 48 |
if test "$withval" = "yes"; then |
| 49 |
MECAB_PREFIX="" |
| 50 |
else |
| 51 |
MECAB_PREFIX="$withval" |
| 52 |
fi |
| 53 |
AC_DEFINE([ENABLE_MECAB], [1], [Define to 1 if MeCab is enabled]) |
| 54 |
|
| 55 |
if test -z "$MECAB_PREFIX"; then |
| 56 |
if eval 'mecab-config --prefix 2>&1 >/dev/null'; then |
| 57 |
MECAB_CONFIG='mecab-config' |
| 58 |
MECAB_PREFIX='mecab-config --prefix' |
| 59 |
MECAB_INCLUDES="`\"$MECAB_CONFIG\" --cflags`" |
| 60 |
MECAB_LIBS="${LDFLAGS} `\"$MECAB_CONFIG\" --libs`" |
| 61 |
fi |
| 62 |
else |
| 63 |
MECAB_CONFIG="$MECAB_PREFIX/bin/mecab-config" |
| 64 |
|
| 65 |
if test -x "$MECAB_CONFIG"; then |
| 66 |
MECAB_INCLUDES="`\"$MECAB_CONFIG\" --cflags`" |
| 67 |
MECAB_LIBS="`\"$MECAB_CONFIG\" --libs`" |
| 68 |
else |
| 69 |
MECAB_INCLUDES="-I$MECAB_PREFIX/include" |
| 70 |
MECAB_LIBS="-L$MECAB_PREFIX/lib" |
| 71 |
fi |
| 72 |
fi |
| 73 |
], [ |
| 74 |
MECAB_PREFIX="" |
| 75 |
]) |
| 76 |
|
| 77 |
|
| 78 |
_CPPFLAGS="${CPPFLAGS}" |
| 79 |
_LIBS="${LIBS}" |
| 80 |
CPPFLAGS="${CPPFLAGS} ${MECAB_INCLUDES}" |
| 81 |
LIBS="${LIBS} ${MECAB_LIBS}" |
| 82 |
|
| 83 |
AC_CHECK_FUNC(mecab_new, [ |
| 84 |
AC_DEFINE([HAVE_MECAB], [1], [Define to 1 if libmecab is available]) |
| 85 |
HAVE_MECAB=1 |
| 86 |
], [ |
| 87 |
HAVE_MECAB= |
| 88 |
MECAB_INCLUDES= |
| 89 |
MECAB_LIBS= |
| 90 |
]) |
| 91 |
|
| 92 |
CPPFLAGS="${_CPPFLAGS}" |
| 93 |
LIBS="${_LIBS}" |
| 94 |
|
| 95 |
AC_SUBST(MECAB_INCLUDES) |
| 96 |
AC_SUBST(MECAB_LIBS) |
| 97 |
|
| 98 |
SENNA_INCLUDES= |
| 99 |
SENNA_LIBS= |
| 100 |
|
| 101 |
AC_ARG_WITH(senna, |
| 102 |
[ --with-senna[=DIR] Enable Senna fulltext search support], [ |
| 103 |
case "$withval" in |
| 104 |
no) : ;; |
| 105 |
yes|*) |
| 106 |
if test "$withval" = "yes"; then |
| 107 |
if eval 'senna-cfg --cflags 2>&1 >/dev/null'; then |
| 108 |
SENNA_CFG="senna-cfg" |
| 109 |
SENNA_PREFIX="senna-cfg --prefix" |
| 110 |
SENNA_INCLUDES="`\"$SENNA_CFG\" --cflags` $MECAB_INCLUDES" |
| 111 |
SENNA_LIBS="`\"$SENNA_CFG\" --libs` -lsenna $MECAB_LIBS" |
| 112 |
else |
| 113 |
SENNA_INCLUDES="$MECAB_INCLUDES" |
| 114 |
SENNA_LIBS="-lsenna $MECAB_LIBS" |
| 115 |
fi |
| 116 |
else |
| 117 |
SENNA_PREFIX="$withval" |
| 118 |
SENNA_CFG="$SENNA_PREFIX/bin/senna-cfg" |
| 119 |
if test -x "$SENNA_CFG"; then |
| 120 |
SENNA_INCLUDES="`\"$SENNA_CFG\" --cflags` $MECAB_INCLUDES" |
| 121 |
SENNA_LIBS="`\"$SENNA_CFG\" --libs` -lsenna $MECAB_LIBS" |
| 122 |
else |
| 123 |
SENNA_INCLUDES="-I$SENNA_PREFIX/include $MECAB_INCLUDES" |
| 124 |
SENNA_LIBS="-L$SENNA_PREFIX/lib -lsenna $MECAB_LIBS" |
| 125 |
fi |
| 126 |
fi |
| 127 |
|
| 128 |
_CPPFLAGS="${CPPFLAGS}" |
| 129 |
_LIBS="${LIBS}" |
| 130 |
CPPFLAGS="${CPPFLAGS} ${SENNA_INCLUDES}" |
| 131 |
LIBS="${LIBS} ${SENNA_LIBS}" |
| 132 |
|
| 133 |
AC_CHECK_FUNC(sen_init, [ |
| 134 |
AC_DEFINE([ENABLE_SENNA], [1], [Define to 1 if Senna is enabled]) |
| 135 |
], [ |
| 136 |
AC_MSG_ERROR([Could not find libsenna. Check your Senna installation.]) |
| 137 |
]) |
| 138 |
|
| 139 |
CPPFLAGS="${_CPPFLAGS}" |
| 140 |
LIBS="${_LIBS}" |
| 141 |
;; |
| 142 |
esac |
| 143 |
]) |
| 144 |
|
| 145 |
AC_SUBST([SENNA_INCLUDES]) |
| 146 |
AC_SUBST([SENNA_LIBS]) |
| 147 |
|
| 148 |
# We only support GCC and Sun's forte at the moment |
| 149 |
if test "$GCC" = "yes" |
| 150 |
then |
| 151 |
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti" |
| 152 |
else |
| 153 |
CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -fast -m64" |
| 154 |
CXXFLAGS="$CXXFLAGS -noex -mt -D_FORTEC_ -fast -m64" |
| 155 |
DTRACEFLAGS="-64" |
| 156 |
fi |
| 157 |
|
| 158 |
AC_C_CONST |
| 159 |
AC_TYPE_SIZE_T |
| 160 |
AC_CHECK_HEADERS(limits.h syslimits.h) |
| 161 |
AC_OUTPUT(Makefile src/Makefile) |