null+****@clear*****
null+****@clear*****
2011年 10月 23日 (日) 16:32:10 JST
Kouhei Sutou 2011-10-23 07:32:10 +0000 (Sun, 23 Oct 2011) New Revision: 7b6d286156c7c4bd94cb533e78429ab8b01b8a8d Log: add --disable-fast-mutexes option to force fast mutex disablesd. Added files: mrn_mysql.h Modified files: Makefile.am configure.ac ha_mroonga.cc mrn_table.cc Modified: Makefile.am (+1 -1) =================================================================== --- Makefile.am 2011-10-23 07:08:31 +0000 (f372440) +++ Makefile.am 2011-10-23 07:32:10 +0000 (3b8cc86) @@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = 1.9.7 AM_CPPFLAGS = $(MYSQL_INC) $(GROONGA_CFLAGS) $(MECAB_INCLUDES) $(MYSQL_VERSION_CFLAGS) ACLOCAL_AMFLAGS = $$ACLOCAL_ARGS -noinst_HEADERS = mrn_sys.h ha_mroonga.h mrn_table.h mrn_err.h +noinst_HEADERS = mrn_sys.h ha_mroonga.h mrn_table.h mrn_err.h mrn_mysql.h plugin_LTLIBRARIES = ha_groonga.la ha_groonga_la_LDFLAGS = -module $(GROONGA_LIBS) $(MECAB_LIBS) Modified: configure.ac (+11 -0) =================================================================== --- configure.ac 2011-10-23 07:08:31 +0000 (d6846fc) +++ configure.ac 2011-10-23 07:32:10 +0000 (7019462) @@ -187,6 +187,17 @@ if test x"$default_parser" != x"no"; then "specified default fulltext parser") fi +AC_ARG_ENABLE(fast_mutexes, + [AC_HELP_STRING([--disable-fast-mutexes], + [Force disable fast mutex. + [default: use mysql_config output]])], + [enable_fast_mutexes=$enableval], + [enable_fast_mutexes=auto]) +if test "$enable_fast_mutexes" = "no"; then + AC_DEFINE(FORCE_FAST_MUTEX_DISABLED, [1], + [Define to 1 if force fast mutext disabled]) +fi + # check Cutter with GLib support if available REQUIRED_MINIMUM_CUTTER_VERSION=1.1.3 m4_ifdef([AC_CHECK_GCUTTER], [ Modified: ha_mroonga.cc (+3 -22) =================================================================== --- ha_mroonga.cc 2011-10-23 07:08:31 +0000 (06990c5) +++ ha_mroonga.cc 2011-10-23 07:32:10 +0000 (cb27c12) @@ -19,37 +19,18 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifdef HAVE_CONFIG_H -# include "config.h" -/* We need to undefine them because my_config.h defines them. :< */ -# undef VERSION -# undef PACKAGE -# undef PACKAGE_BUGREPORT -# undef PACKAGE_NAME -# undef PACKAGE_STRING -# undef PACKAGE_TARNAME -# undef PACKAGE_VERSION -#endif +#include "mrn_mysql.h" #ifdef USE_PRAGMA_IMPLEMENTATION #pragma implementation #endif -#define MYSQL_SERVER 1 -#include "mysql_version.h" - -#if MYSQL_VERSION_ID < 50500 -# include <mysql_priv.h> -# include <mysql/plugin.h> -#else -# include <sql_priv.h> -# include <sql_class.h> -# include <probes_mysql.h> +#if MYSQL_VERSION_ID >= 50500 # include <sql_plugin.h> # include <sql_show.h> -# include <sql_partition.h> # include <key.h> #endif + #include <sql_select.h> #include <ft_global.h> #include <spatial.h> Added: mrn_mysql.h (+54 -0) 100644 =================================================================== --- /dev/null +++ mrn_mysql.h 2011-10-23 07:32:10 +0000 (2b5d98e) @@ -0,0 +1,54 @@ +/* -*- c-basic-offset: 2 -*- */ +/* + Copyright(C) 2011 Kouhei Sutou <kou****@clear*****> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef _mrn_mysql_h +#define _mrn_mysql_h + +#ifdef HAVE_CONFIG_H +# include "config.h" +/* We need to undefine them because my_config.h defines them. :< */ +# undef VERSION +# undef PACKAGE +# undef PACKAGE_BUGREPORT +# undef PACKAGE_NAME +# undef PACKAGE_STRING +# undef PACKAGE_TARNAME +# undef PACKAGE_VERSION +#endif + +#ifdef FORCE_FAST_MUTEX_DISABLED +# ifdef MY_PTHREAD_FASTMUTEX +# undef MY_PTHREAD_FASTMUTEX +# endif +#endif + +#define MYSQL_SERVER 1 +#include "mysql_version.h" + +#if MYSQL_VERSION_ID < 50500 +# include <mysql_priv.h> +# include <mysql/plugin.h> +#else +# include <sql_priv.h> +# include <sql_class.h> +# include <probes_mysql.h> +# include <sql_partition.h> +#endif + +#endif /* _mrn_mysql_h */ Modified: mrn_table.cc (+2 -22) =================================================================== --- mrn_table.cc 2011-10-23 07:08:31 +0000 (412779a) +++ mrn_table.cc 2011-10-23 07:32:10 +0000 (60a8ccf) @@ -18,29 +18,9 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifdef HAVE_CONFIG_H -# include "config.h" -/* We need to undefine them because my_config.h defines them. :< */ -# undef VERSION -# undef PACKAGE -# undef PACKAGE_BUGREPORT -# undef PACKAGE_NAME -# undef PACKAGE_STRING -# undef PACKAGE_TARNAME -# undef PACKAGE_VERSION -#endif - -#define MYSQL_SERVER 1 -#include "mysql_version.h" +#include "mrn_mysql.h" -#if MYSQL_VERSION_ID < 50500 -# include <mysql_priv.h> -# include <mysql/plugin.h> -#else -# include <sql_priv.h> -# include <sql_class.h> -# include <probes_mysql.h> -# include <sql_partition.h> +#if MYSQL_VERSION_ID >= 50500 # include <sql_servers.h> # include <sql_base.h> #endif