diff -Nru mroonga-5.7-9.03/aclocal.m4 mroonga-5.7-9.08/aclocal.m4 --- mroonga-5.7-9.03/aclocal.m4 2019-05-27 06:07:29.000000000 +0000 +++ mroonga-5.7-9.08/aclocal.m4 2019-09-26 13:57:31.000000000 +0000 @@ -20,6 +20,1030 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) +# or '14' (for the C++14 standard). +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# Copyright (c) 2016, 2018 Krzesimir Nowak +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], + [$1], [14], [ax_cxx_compile_alternatives="14 1y"], + [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 +) + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) + + +dnl Tests for new features in C++17 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L + +#error "This is not a C++17 compiler" + +#else + +#include +#include +#include + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template + int multiply(Args... args) + { + return (args * ... * 1); + } + + template + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same, decltype(foo)>::value); + static_assert(std::is_same::value); + } + + namespace test_typename_in_template_template_parameter + { + + template typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template + Bad + f(T*, T*); + + template + Good + f(T1*, T2*); + + static_assert (std::is_same_v); + + } + + namespace test_inline_variables + { + + template void f(T) + {} + + template inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L + +]]) + +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++11 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++11. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 18 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])]) + +# ============================================================================= +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_14.html +# ============================================================================= +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX_14([ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the C++14 +# standard; if necessary, add switches to CXX and CXXCPP to enable +# support. +# +# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX +# macro with the version set to C++14. The two optional arguments are +# forwarded literally as the second and third argument respectively. +# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for +# more information. If you want to use this macro, you also need to +# download the ax_cxx_compile_stdcxx.m4 file. +# +# LICENSE +# +# Copyright (c) 2015 Moritz Klammler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX]) +AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [AX_CXX_COMPILE_STDCXX([14], [$1], [$2])]) + dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29) dnl diff -Nru mroonga-5.7-9.03/build/cmake_modules/Makefile.in mroonga-5.7-9.08/build/cmake_modules/Makefile.in --- mroonga-5.7-9.03/build/cmake_modules/Makefile.in 2019-05-27 06:07:29.000000000 +0000 +++ mroonga-5.7-9.08/build/cmake_modules/Makefile.in 2019-09-26 13:57:32.000000000 +0000 @@ -166,7 +166,10 @@ GREP = @GREP@ GROONGA_CFLAGS = @GROONGA_CFLAGS@ GROONGA_LIBS = @GROONGA_LIBS@ +GROONGA_SOURCE_PATH = @GROONGA_SOURCE_PATH@ GROONGA_VERSION = @GROONGA_VERSION@ +HAVE_CXX11 = @HAVE_CXX11@ +HAVE_CXX14 = @HAVE_CXX14@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -Nru mroonga-5.7-9.03/build/Makefile.in mroonga-5.7-9.08/build/Makefile.in --- mroonga-5.7-9.03/build/Makefile.in 2019-05-27 06:07:29.000000000 +0000 +++ mroonga-5.7-9.08/build/Makefile.in 2019-09-26 13:57:32.000000000 +0000 @@ -226,7 +226,10 @@ GREP = @GREP@ GROONGA_CFLAGS = @GROONGA_CFLAGS@ GROONGA_LIBS = @GROONGA_LIBS@ +GROONGA_SOURCE_PATH = @GROONGA_SOURCE_PATH@ GROONGA_VERSION = @GROONGA_VERSION@ +HAVE_CXX11 = @HAVE_CXX11@ +HAVE_CXX14 = @HAVE_CXX14@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -Nru mroonga-5.7-9.03/CMakeLists.txt mroonga-5.7-9.08/CMakeLists.txt --- mroonga-5.7-9.03/CMakeLists.txt 2019-05-20 02:36:50.000000000 +0000 +++ mroonga-5.7-9.08/CMakeLists.txt 2019-08-22 08:45:36.000000000 +0000 @@ -196,6 +196,19 @@ set(MYSQL_VARIANT "MySQL") endif() +if(EXISTS "${MYSQL_SOURCE_DIR}/wsrep-lib") + set(MYSQL_WSREP_INCLUDE_DIR "${MYSQL_SOURCE_DIR}/wsrep-lib/include") + file(GLOB + MYSQL_WSREP_API_H + "${MYSQL_SOURCE_DIR}/wsrep-lib/wsrep-API/*/wsrep_api.h") + get_filename_component(MYSQL_WSREP_API_INCLUDE_DIR + "${MYSQL_WSREP_API_H}" + DIRECTORY) +else() + set(MYSQL_WSREP_INCLUDE_DIR) + set(MYSQL_WSREP_API_INCLUDE_DIR) +endif() + if(EXISTS "${MYSQL_SOURCE_DIR}/pcre") set(MYSQL_REGEX_INCLUDE_DIR "${MYSQL_SOURCE_DIR}/pcre") else() @@ -223,6 +236,8 @@ "${MYSQL_BUILD_DIR}/include" "${MYSQL_SOURCE_DIR}/sql" "${MYSQL_SOURCE_DIR}/include" + "${MYSQL_WSREP_INCLUDE_DIR}" + "${MYSQL_WSREP_API_INCLUDE_DIR}" "${MYSQL_REGEX_INCLUDE_DIR}" "${MYSQL_RAPIDJSON_INCLUDE_DIR}" "${MYSQL_LIBBINLOGEVENTS_EXPORT_DIR}" @@ -471,3 +486,8 @@ "${PROJECT_BINARY_DIR}/data/install.sql" "${PROJECT_SOURCE_DIR}/data/uninstall.sql" DESTINATION "${MRN_DATA_DIR}/") +if(MSVC AND CMAKE_VERSION VERSION_GREATER "3.1") + install(FILES $ + DESTINATION "${MYSQL_PLUGIN_DIR}" + OPTIONAL) +endif() diff -Nru mroonga-5.7-9.03/config.h.in mroonga-5.7-9.08/config.h.in --- mroonga-5.7-9.03/config.h.in 2019-05-27 06:11:32.000000000 +0000 +++ mroonga-5.7-9.08/config.h.in 2019-09-26 13:57:31.000000000 +0000 @@ -18,6 +18,12 @@ /* Name of MySQL normalizer plugin for groonga */ #undef GROONGA_NORMALIZER_MYSQL_PLUGIN_NAME +/* define if the compiler supports basic C++11 syntax */ +#undef HAVE_CXX11 + +/* define if the compiler supports basic C++14 syntax */ +#undef HAVE_CXX14 + /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H diff -Nru mroonga-5.7-9.03/configure mroonga-5.7-9.08/configure --- mroonga-5.7-9.03/configure 2019-05-27 06:07:29.000000000 +0000 +++ mroonga-5.7-9.08/configure 2019-09-26 13:57:31.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for mroonga 9.03. +# Generated by GNU Autoconf 2.69 for mroonga 9.08. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='mroonga' PACKAGE_TARNAME='mroonga' -PACKAGE_VERSION='9.03' -PACKAGE_STRING='mroonga 9.03' +PACKAGE_VERSION='9.08' +PACKAGE_STRING='mroonga 9.08' PACKAGE_BUGREPORT='groonga-talk@lists.sourceforge.net' PACKAGE_URL='' @@ -644,6 +644,7 @@ DOCUMENT_AVAILABLE_FALSE DOCUMENT_AVAILABLE_TRUE SPHINX_BUILD +GROONGA_SOURCE_PATH CUTTER_SOURCE_PATH GPG_UID LAUNCHPAD_UPLOADER_PGP_KEY @@ -659,6 +660,8 @@ PKG_CONFIG_PATH PKG_CONFIG MYSQL_LIBS +HAVE_CXX11 +HAVE_CXX14 MYSQL_VERSION MYSQL_INCLUDES MYSQL_CFLAGS @@ -670,8 +673,6 @@ PACKAGE_MARIADB_VERSION PACKAGE_GROONGA_VERSION REQUIRED_GROONGA_VERSION -WITH_LIBMYSQLSERVICES_COMPAT_FALSE -WITH_LIBMYSQLSERVICES_COMPAT_TRUE MRN_PLUGIN_SUFFIX CXXCPP LT_SYS_LIBRARY_PATH @@ -815,7 +816,6 @@ with_gnu_ld with_sysroot enable_libtool_lock -with_libmysqlservices_compat with_debug with_valgrind with_mysql_source @@ -830,6 +830,7 @@ with_launchpad_ppa with_launchpad_uploader_pgp_key with_cutter_source_path +with_groonga_source_path enable_document ' ac_precious_vars='build_alias @@ -1401,7 +1402,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures mroonga 9.03 to adapt to many kinds of systems. +\`configure' configures mroonga 9.08 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1472,7 +1473,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mroonga 9.03:";; + short | recursive ) echo "Configuration of mroonga 9.08:";; esac cat <<\_ACEOF @@ -1507,10 +1508,6 @@ --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). - --with-libmysqlservices-compat - Use libmysqlservices compatible library for missing - libmysqlservices.a - --with-debug Add debug code --with-debug=full Add debug code (adds memory checker, very slow) --with-valgrind Use valgrind. [default=no] @@ -1541,6 +1538,9 @@ --with-cutter-source-path=PATH specify Cutter source path for mroonga's release manager. + --with-groonga-source-path=PATH + specify Groonga source path for Mroonga's release + manager. Some influential environment variables: CC C compiler command @@ -1632,7 +1632,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mroonga configure 9.03 +mroonga configure 9.08 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2031,7 +2031,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mroonga $as_me 9.03, which was +It was created by mroonga $as_me 9.08, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2898,7 +2898,7 @@ # Define the identity of the package. PACKAGE='mroonga' - VERSION='9.03' + VERSION='9.08' cat >>confdefs.h <<_ACEOF @@ -3077,12 +3077,12 @@ fi -MRN_VERSION=9.03 +MRN_VERSION=9.08 MRN_VERSION_MAJOR=9 MRN_VERSION_MINOR=0 -MRN_VERSION_MICRO=3 -MRN_VERSION_IN_HEX=0x0903 -MRN_PLUGIN_VERSION=9.3 +MRN_VERSION_MICRO=8 +MRN_VERSION_IN_HEX=0x0908 +MRN_PLUGIN_VERSION=9.8 @@ -17431,7 +17431,7 @@ Report bugs to ." lt_cl_version="\ -mroonga config.lt 9.03 +mroonga config.lt 9.08 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -18971,23 +18971,6 @@ -# Check whether --with-libmysqlservices-compat was given. -if test "${with_libmysqlservices_compat+set}" = set; then : - withval=$with_libmysqlservices_compat; with_libmysqlservices_compat=$withval -else - with_libmysqlservices_compat=no -fi - - if test "${with_libmysqlservices_compat}" != "no"; then - WITH_LIBMYSQLSERVICES_COMPAT_TRUE= - WITH_LIBMYSQLSERVICES_COMPAT_FALSE='#' -else - WITH_LIBMYSQLSERVICES_COMPAT_TRUE='#' - WITH_LIBMYSQLSERVICES_COMPAT_FALSE= -fi - - - REQUIRED_GROONGA_VERSION=8.0.4 @@ -19005,7 +18988,7 @@ -PACKAGE_MARIADB_VERSION=10.3.13 +PACKAGE_MARIADB_VERSION=10.4.7 @@ -19188,9 +19171,11 @@ MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/sql/auth" fi MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/include" - if test -d "$ac_mysql_source_dir/extra/rapidjson"; then - mysql_rapidjson_include_dir="$ac_mysql_source_dir/extra/rapidjson/include" - MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_rapidjson_include_dir" + if test -d "$ac_mysql_source_dir/wsrep-lib"; then + mysql_wsrep_include_dir="$ac_mysql_source_dir/wsrep-lib/include" + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_wsrep_include_dir" + mysql_wsrep_api_include_dir=$(dirname ${ac_mysql_source_dir}/wsrep-lib/wsrep-API/*/wsrep_api.h) + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_wsrep_api_include_dir" fi if test -d "$ac_mysql_source_dir/extra/regex"; then mysql_regex_include_dir="$ac_mysql_source_dir/extra/regex" @@ -19203,6 +19188,10 @@ fi MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_regex_include_dir" fi + if test -d "$ac_mysql_source_dir/extra/rapidjson"; then + mysql_rapidjson_include_dir="$ac_mysql_source_dir/extra/rapidjson/include" + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_rapidjson_include_dir" + fi if test -d "$ac_mysql_source_dir/libbinlogevents"; then MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_build_dir/libbinlogevents/include" MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/libbinlogevents/export" @@ -19219,51 +19208,839 @@ MYSQL_CXXFLAGS="-felide-constructors" case "$MYSQL_MAJOR_MINOR_VERSION" in - 5.5|5.6|10.*) + 5.5|5.6|10.1|10.2|10.3) MYSQL_CXXFLAGS="$MYSQL_CXXFLAGS -fno-rtti" ;; 8.*) + ax_cxx_compile_alternatives="14 1y" ax_cxx_compile_cxx14_required=true + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + ac_success=no - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if g++ supports -std=gnu++14" >&5 -$as_echo_n "checking if g++ supports -std=gnu++14... " >&6; } - old_CXXFLAGS=$CXXFLAGS - flag=`echo '-std=gnu++14' | sed -e 's,^-Wno-,-W,'` - CXXFLAGS="$CXXFLAGS $flag -Werror" + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_CXX="$CXX" + CXX="$CXX $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + + + + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + + + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval $cachevar=yes +else + eval $cachevar=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXX="$ac_save_CXX" +fi +eval ac_res=\$$cachevar + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + if test x$ax_cxx_compile_cxx14_required = xtrue; then + if test x$ac_success = xno; then + as_fn_error $? "*** A compiler with support for C++14 language features is required." "$LINENO" 5 + fi + fi + if test x$ac_success = xno; then + HAVE_CXX14=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++14 support was found" >&5 +$as_echo "$as_me: No compiler with C++14 support was found" >&6;} + else + HAVE_CXX14=1 + +$as_echo "#define HAVE_CXX14 1" >>confdefs.h + + fi + + + ;; + 10.*) + ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + ac_success=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 +$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; } +if eval \${$cachevar+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_CXX="$CXX" + CXX="$CXX $switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int -main () + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 { - ; - return 0; -} + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + + + _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - check_cxxflag=yes + eval $cachevar=yes else - check_cxxflag=no + eval $cachevar=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXX="$ac_save_CXX" +fi +eval ac_res=\$$cachevar + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - CXXFLAGS="$old_CXXFLAGS" - if test "x$check_cxxflag" = "xyes"; then - CXXFLAGS="$CXXFLAGS -std=gnu++14" + if test x$ax_cxx_compile_cxx11_required = xtrue; then + if test x$ac_success = xno; then + as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5 + fi + fi + if test x$ac_success = xno; then + HAVE_CXX11=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 +$as_echo "$as_me: No compiler with C++11 support was found" >&6;} + else + HAVE_CXX11=1 + +$as_echo "#define HAVE_CXX11 1" >>confdefs.h + fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $check_cxxflag" >&5 -$as_echo "$check_cxxflag" >&6; } + ;; *) @@ -19271,30 +20048,28 @@ ;; esac - if test "${with_libmysqlservices_compat}" = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmysqlservices.a directory" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmysqlservices.a directory" >&5 $as_echo_n "checking for libmysqlservices.a directory... " >&6; } - pkglibdir="$($ac_mysql_config --variable=pkglibdir)" - mysql_build_archive_output_dir="${MYSQL_BUILD_DIR}/archive_output_directory" - mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices" - if test -f "${mysql_build_archive_output_dir}/libmysqlservices.a"; then - mysql_services_lib_dir="${mysql_build_archive_output_dir}" - elif test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then - mysql_services_lib_dir="${mysql_build_libservices_dir}" + pkglibdir="$($ac_mysql_config --variable=pkglibdir)" + mysql_build_archive_output_dir="${MYSQL_BUILD_DIR}/archive_output_directory" + mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices" + if test -f "${mysql_build_archive_output_dir}/libmysqlservices.a"; then + mysql_services_lib_dir="${mysql_build_archive_output_dir}" + elif test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then + mysql_services_lib_dir="${mysql_build_libservices_dir}" + else + if test -f "${pkglibdir}/libmysqlservices.a"; then + mysql_services_lib_dir="${pkglibdir}" + elif test -f "${pkglibdir}/mysql/libmysqlservices.a"; then + mysql_services_lib_dir="${pkglibdir}/mysql" else - if test -f "${pkglibdir}/libmysqlservices.a"; then - mysql_services_lib_dir="${pkglibdir}" - elif test -f "${pkglibdir}/mysql/libmysqlservices.a"; then - mysql_services_lib_dir="${pkglibdir}/mysql" - else - as_fn_error $? "libmysqlservices.a is not found in <${pkglibdir}/> and <${pkglibdir}/mysql/>" "$LINENO" 5 - fi + as_fn_error $? "libmysqlservices.a is not found in <${pkglibdir}/> and <${pkglibdir}/mysql/>" "$LINENO" 5 fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mysql_services_lib_dir" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $mysql_services_lib_dir" >&5 $as_echo "$mysql_services_lib_dir" >&6; } - MYSQL_LIBS="$MYSQL_LIBS \"$mysql_services_lib_dir/libmysqlservices.a\"" + MYSQL_LIBS="$MYSQL_LIBS \"$mysql_services_lib_dir/libmysqlservices.a\"" - fi @@ -19710,6 +20485,22 @@ esac +# For updating apt/yum repositories + +# Check whether --with-groonga-source-path was given. +if test "${with_groonga_source_path+set}" = set; then : + withval=$with_groonga_source_path; GROONGA_SOURCE_PATH="$withval" +fi + +case "$GROONGA_SOURCE_PATH" in + ""|/*) + : # do nothing + ;; + *) + GROONGA_SOURCE_PATH="\$(top_builddir)/${GROONGA_SOURCE_PATH}" + ;; +esac + # Document { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether enable document" >&5 @@ -19835,7 +20626,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_built_document" >&5 $as_echo "$have_built_document" >&6; } -DOCUMENT_VERSION=9.03 +DOCUMENT_VERSION=9.08 DOCUMENT_VERSION_FULL="$DOCUMENT_VERSION" @@ -19845,7 +20636,7 @@ ac_config_files="$ac_config_files Makefile build/Makefile build/cmake_modules/Makefile lib/Makefile udf/Makefile test/Makefile test/unit/Makefile mysql-test/Makefile packages/Makefile packages/rpm/Makefile packages/rpm/centos/Makefile packages/yum/Makefile packages/apt/Makefile packages/source/Makefile packages/ubuntu/Makefile packages/windows/Makefile tools/Makefile doc/Makefile doc/locale/Makefile doc/locale/en/Makefile doc/locale/en/LC_MESSAGES/Makefile doc/locale/ja/Makefile doc/locale/ja/LC_MESSAGES/Makefile data/Makefile" -ac_config_files="$ac_config_files config.sh mrn_version.h mysql-test/mroonga/storage/information_schema/r/plugins.result mysql-test/mroonga/storage/variable/r/version.result packages/debian-5.5/control packages/debian-5.6/control packages/debian-5.7/control packages/debian-mariadb-10.0/control packages/debian-mariadb-10.1/control packages/apt/env.sh packages/rpm/centos/mysql56-community-mroonga.spec packages/rpm/centos/mysql57-community-mroonga.spec packages/rpm/centos/mariadb-mroonga.spec packages/rpm/centos/mariadb-10.1-mroonga.spec packages/rpm/centos/mariadb-10.2-mroonga.spec packages/rpm/centos/mariadb-10.3-mroonga.spec packages/rpm/centos/percona-server-56-mroonga.spec packages/rpm/centos/percona-server-57-mroonga.spec packages/yum/env.sh data/install.sql" +ac_config_files="$ac_config_files config.sh mrn_version.h mysql-test/mroonga/storage/information_schema/r/plugins.result mysql-test/mroonga/storage/variable/r/version.result packages/debian-5.5/control packages/debian-5.6/control packages/debian-5.7/control packages/debian-mariadb-10.1/control packages/debian-mariadb-10.3/control packages/apt/env.sh packages/rpm/centos/mysql56-community-mroonga.spec packages/rpm/centos/mysql57-community-mroonga.spec packages/rpm/centos/mysql80-community-mroonga.spec packages/rpm/centos/mariadb-mroonga.spec packages/rpm/centos/mariadb-10.1-mroonga.spec packages/rpm/centos/mariadb-10.2-mroonga.spec packages/rpm/centos/mariadb-10.3-mroonga.spec packages/rpm/centos/mariadb-10.4-mroonga.spec packages/rpm/centos/percona-server-56-mroonga.spec packages/rpm/centos/percona-server-57-mroonga.spec packages/yum/env.sh data/install.sql" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -19989,10 +20780,6 @@ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${WITH_LIBMYSQLSERVICES_COMPAT_TRUE}" && test -z "${WITH_LIBMYSQLSERVICES_COMPAT_FALSE}"; then - as_fn_error $? "conditional \"WITH_LIBMYSQLSERVICES_COMPAT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${WITH_CUTTER_TRUE}" && test -z "${WITH_CUTTER_FALSE}"; then as_fn_error $? "conditional \"WITH_CUTTER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -20406,7 +21193,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mroonga $as_me 9.03, which was +This file was extended by mroonga $as_me 9.08, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20472,7 +21259,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mroonga config.status 9.03 +mroonga config.status 9.08 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -21011,21 +21798,23 @@ "doc/locale/ja/LC_MESSAGES/Makefile") CONFIG_FILES="$CONFIG_FILES doc/locale/ja/LC_MESSAGES/Makefile" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "config.sh") CONFIG_FILES="$CONFIG_FILES config.sh" ;; - "9.03.h") CONFIG_FILES="$CONFIG_FILES 9.03.h" ;; + "9.08.h") CONFIG_FILES="$CONFIG_FILES 9.08.h" ;; "mysql-test/mroonga/storage/information_schema/r/plugins.result") CONFIG_FILES="$CONFIG_FILES mysql-test/mroonga/storage/information_schema/r/plugins.result" ;; "mysql-test/mroonga/storage/variable/r/version.result") CONFIG_FILES="$CONFIG_FILES mysql-test/mroonga/storage/variable/r/version.result" ;; "packages/debian-5.5/control") CONFIG_FILES="$CONFIG_FILES packages/debian-5.5/control" ;; "packages/debian-5.6/control") CONFIG_FILES="$CONFIG_FILES packages/debian-5.6/control" ;; "packages/debian-5.7/control") CONFIG_FILES="$CONFIG_FILES packages/debian-5.7/control" ;; - "packages/debian-mariadb-10.0/control") CONFIG_FILES="$CONFIG_FILES packages/debian-mariadb-10.0/control" ;; "packages/debian-mariadb-10.1/control") CONFIG_FILES="$CONFIG_FILES packages/debian-mariadb-10.1/control" ;; + "packages/debian-mariadb-10.3/control") CONFIG_FILES="$CONFIG_FILES packages/debian-mariadb-10.3/control" ;; "packages/apt/env.sh") CONFIG_FILES="$CONFIG_FILES packages/apt/env.sh" ;; "packages/rpm/centos/mysql56-community-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mysql56-community-mroonga.spec" ;; "packages/rpm/centos/mysql57-community-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mysql57-community-mroonga.spec" ;; + "packages/rpm/centos/mysql80-community-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mysql80-community-mroonga.spec" ;; "packages/rpm/centos/mariadb-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mariadb-mroonga.spec" ;; "packages/rpm/centos/mariadb-10.1-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mariadb-10.1-mroonga.spec" ;; "packages/rpm/centos/mariadb-10.2-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mariadb-10.2-mroonga.spec" ;; "packages/rpm/centos/mariadb-10.3-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mariadb-10.3-mroonga.spec" ;; + "packages/rpm/centos/mariadb-10.4-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/mariadb-10.4-mroonga.spec" ;; "packages/rpm/centos/percona-server-56-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/percona-server-56-mroonga.spec" ;; "packages/rpm/centos/percona-server-57-mroonga.spec") CONFIG_FILES="$CONFIG_FILES packages/rpm/centos/percona-server-57-mroonga.spec" ;; "packages/yum/env.sh") CONFIG_FILES="$CONFIG_FILES packages/yum/env.sh" ;; diff -Nru mroonga-5.7-9.03/configure.ac mroonga-5.7-9.08/configure.ac --- mroonga-5.7-9.03/configure.ac 2019-05-20 02:36:50.000000000 +0000 +++ mroonga-5.7-9.08/configure.ac 2019-09-02 07:32:20.000000000 +0000 @@ -96,14 +96,6 @@ fi AC_SUBST(MRN_PLUGIN_SUFFIX) -AC_ARG_WITH(libmysqlservices-compat, - [AS_HELP_STRING([--with-libmysqlservices-compat], - [Use libmysqlservices compatible library for missing libmysqlservices.a]) - ], - [with_libmysqlservices_compat=$withval], - [with_libmysqlservices_compat=no]) -AM_CONDITIONAL([WITH_LIBMYSQLSERVICES_COMPAT], [test "${with_libmysqlservices_compat}" != "no"]) - AC_DEFUN([CONFIG_OPTION_MYSQL],[ AC_MSG_CHECKING([mysql source]) @@ -178,9 +170,11 @@ MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/sql/auth" fi MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/include" - if test -d "$ac_mysql_source_dir/extra/rapidjson"; then - mysql_rapidjson_include_dir="$ac_mysql_source_dir/extra/rapidjson/include" - MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_rapidjson_include_dir" + if test -d "$ac_mysql_source_dir/wsrep-lib"; then + mysql_wsrep_include_dir="$ac_mysql_source_dir/wsrep-lib/include" + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_wsrep_include_dir" + mysql_wsrep_api_include_dir=$(dirname ${ac_mysql_source_dir}/wsrep-lib/wsrep-API/*/wsrep_api.h) + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_wsrep_api_include_dir" fi if test -d "$ac_mysql_source_dir/extra/regex"; then mysql_regex_include_dir="$ac_mysql_source_dir/extra/regex" @@ -193,6 +187,10 @@ fi MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_regex_include_dir" fi + if test -d "$ac_mysql_source_dir/extra/rapidjson"; then + mysql_rapidjson_include_dir="$ac_mysql_source_dir/extra/rapidjson/include" + MYSQL_INCLUDES="$MYSQL_INCLUDES -I$mysql_rapidjson_include_dir" + fi if test -d "$ac_mysql_source_dir/libbinlogevents"; then MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_build_dir/libbinlogevents/include" MYSQL_INCLUDES="$MYSQL_INCLUDES -I$ac_mysql_source_dir/libbinlogevents/export" @@ -209,7 +207,7 @@ MYSQL_CXXFLAGS="-felide-constructors" case "$MYSQL_MAJOR_MINOR_VERSION" in - 5.5|5.6|10.*) + 5.5|5.6|10.1|10.2|10.3) MYSQL_CXXFLAGS="$MYSQL_CXXFLAGS -fno-rtti" ;; 8.*) @@ -217,33 +215,36 @@ [AX_CXX_COMPILE_STDCXX_14([ext], [mandatory])], [CHECK_CXXFLAG([-std=gnu++14])]) ;; + 10.*) + m4_ifdef([AX_CXX_COMPILE_STDCXX_11], + [AX_CXX_COMPILE_STDCXX_11([ext], [mandatory])], + [CHECK_CXXFLAG([-std=gnu++11])]) + ;; *) : ;; esac - if test "${with_libmysqlservices_compat}" = "no"; then - AC_MSG_CHECKING([for libmysqlservices.a directory]) - pkglibdir="$($ac_mysql_config --variable=pkglibdir)" - mysql_build_archive_output_dir="${MYSQL_BUILD_DIR}/archive_output_directory" - mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices" - if test -f "${mysql_build_archive_output_dir}/libmysqlservices.a"; then - mysql_services_lib_dir="${mysql_build_archive_output_dir}" - elif test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then - mysql_services_lib_dir="${mysql_build_libservices_dir}" + AC_MSG_CHECKING([for libmysqlservices.a directory]) + pkglibdir="$($ac_mysql_config --variable=pkglibdir)" + mysql_build_archive_output_dir="${MYSQL_BUILD_DIR}/archive_output_directory" + mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices" + if test -f "${mysql_build_archive_output_dir}/libmysqlservices.a"; then + mysql_services_lib_dir="${mysql_build_archive_output_dir}" + elif test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then + mysql_services_lib_dir="${mysql_build_libservices_dir}" + else + if test -f "${pkglibdir}/libmysqlservices.a"; then + mysql_services_lib_dir="${pkglibdir}" + elif test -f "${pkglibdir}/mysql/libmysqlservices.a"; then + mysql_services_lib_dir="${pkglibdir}/mysql" else - if test -f "${pkglibdir}/libmysqlservices.a"; then - mysql_services_lib_dir="${pkglibdir}" - elif test -f "${pkglibdir}/mysql/libmysqlservices.a"; then - mysql_services_lib_dir="${pkglibdir}/mysql" - else - AC_MSG_ERROR([libmysqlservices.a is not found in <${pkglibdir}/> and <${pkglibdir}/mysql/>]) - fi + AC_MSG_ERROR([libmysqlservices.a is not found in <${pkglibdir}/> and <${pkglibdir}/mysql/>]) fi - AC_MSG_RESULT([$mysql_services_lib_dir]) - MYSQL_LIBS="$MYSQL_LIBS \"$mysql_services_lib_dir/libmysqlservices.a\"" - AC_SUBST(MYSQL_LIBS) fi + AC_MSG_RESULT([$mysql_services_lib_dir]) + MYSQL_LIBS="$MYSQL_LIBS \"$mysql_services_lib_dir/libmysqlservices.a\"" + AC_SUBST(MYSQL_LIBS) ]) m4_define([mrn_required_groonga_version], m4_include(required_groonga_version)) @@ -434,6 +435,20 @@ esac AC_SUBST(CUTTER_SOURCE_PATH) +# For updating apt/yum repositories +AC_ARG_WITH(groonga-source-path, + [AS_HELP_STRING([--with-groonga-source-path=PATH], + [specify Groonga source path for Mroonga's release manager.])], + [GROONGA_SOURCE_PATH="$withval"]) +case "$GROONGA_SOURCE_PATH" in + ""|/*) + : # do nothing + ;; + *) + GROONGA_SOURCE_PATH="\$(top_builddir)/${GROONGA_SOURCE_PATH}" + ;; +esac +AC_SUBST(GROONGA_SOURCE_PATH) # Document AC_MSG_CHECKING([whether enable document]) @@ -534,15 +549,17 @@ packages/debian-5.5/control packages/debian-5.6/control packages/debian-5.7/control - packages/debian-mariadb-10.0/control packages/debian-mariadb-10.1/control + packages/debian-mariadb-10.3/control packages/apt/env.sh packages/rpm/centos/mysql56-community-mroonga.spec packages/rpm/centos/mysql57-community-mroonga.spec + packages/rpm/centos/mysql80-community-mroonga.spec packages/rpm/centos/mariadb-mroonga.spec packages/rpm/centos/mariadb-10.1-mroonga.spec packages/rpm/centos/mariadb-10.2-mroonga.spec packages/rpm/centos/mariadb-10.3-mroonga.spec + packages/rpm/centos/mariadb-10.4-mroonga.spec packages/rpm/centos/percona-server-56-mroonga.spec packages/rpm/centos/percona-server-57-mroonga.spec packages/yum/env.sh diff -Nru mroonga-5.7-9.03/data/Makefile.in mroonga-5.7-9.08/data/Makefile.in --- mroonga-5.7-9.03/data/Makefile.in 2019-05-27 06:07:29.000000000 +0000 +++ mroonga-5.7-9.08/data/Makefile.in 2019-09-26 13:57:32.000000000 +0000 @@ -197,7 +197,10 @@ GREP = @GREP@ GROONGA_CFLAGS = @GROONGA_CFLAGS@ GROONGA_LIBS = @GROONGA_LIBS@ +GROONGA_SOURCE_PATH = @GROONGA_SOURCE_PATH@ GROONGA_VERSION = @GROONGA_VERSION@ +HAVE_CXX11 = @HAVE_CXX11@ +HAVE_CXX14 = @HAVE_CXX14@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ diff -Nru mroonga-5.7-9.03/debian/changelog mroonga-5.7-9.08/debian/changelog --- mroonga-5.7-9.03/debian/changelog 2019-05-28 02:28:30.000000000 +0000 +++ mroonga-5.7-9.08/debian/changelog 2019-09-27 05:19:08.000000000 +0000 @@ -1,8 +1,32 @@ -mroonga-5.7 (9.03-2~ubuntu19.04.1) disco; urgency=medium +mroonga-5.7 (9.08-2~ubuntu19.04.1) disco; urgency=medium * Build for disco. - -- Kentaro Hayashi Tue, 28 May 2019 11:28:30 +0900 + -- Kentaro Hayashi Fri, 27 Sep 2019 14:19:08 +0900 + +mroonga-5.7 (9.08-1) unstable; urgency=low + + * New upstream release. + + -- Kentaro Hayashi Fri, 27 Sep 2019 00:00:00 +0900 + +mroonga-5.7 (9.07-1) unstable; urgency=low + + * New upstream release. + + -- Kentaro Hayashi Thu, 29 Aug 2019 00:00:00 +0900 + +mroonga-5.7 (9.05-1) unstable; urgency=low + + * New upstream release. + + -- Kentaro Hayashi Mon, 29 Jul 2019 00:00:00 +0900 + +mroonga-5.7 (9.04-1) unstable; urgency=low + + * New upstream release. + + -- Kentaro Hayashi Sat, 29 Jun 2019 00:00:00 +0900 mroonga-5.7 (9.03-1) unstable; urgency=low diff -Nru mroonga-5.7-9.03/debian/control mroonga-5.7-9.08/debian/control --- mroonga-5.7-9.03/debian/control 2019-05-28 02:28:30.000000000 +0000 +++ mroonga-5.7-9.08/debian/control 2019-09-27 05:19:08.000000000 +0000 @@ -25,7 +25,7 @@ Architecture: any Depends: mysql-server-5.7-mroonga (= ${binary:Version}), - mysql-server (= 5.7.26-0ubuntu0.19.04.1) + mysql-server (= 5.7.27-0ubuntu0.19.04.1) Description: A fast fulltext searchable storage engine for MySQL. This package is a metapackage depending on the latest version. Mroonga is a fast fulltext searchable storage engine for MySQL. @@ -45,8 +45,8 @@ ${misc:Depends}, ${shlibs:Depends}, libgroonga0 (>= 8.0.4), - mysql-server-5.7 (= 5.7.26-0ubuntu0.19.04.1), - mysql-server-core-5.7 (= 5.7.26-0ubuntu0.19.04.1), + mysql-server-5.7 (= 5.7.27-0ubuntu0.19.04.1), + mysql-server-core-5.7 (= 5.7.27-0ubuntu0.19.04.1), groonga-normalizer-mysql Description: A fast fulltext searchable storage engine for MySQL 5.7. Mroonga is a fast fulltext searchable storage engine for MySQL. diff -Nru mroonga-5.7-9.03/doc/files.am mroonga-5.7-9.08/doc/files.am --- mroonga-5.7-9.03/doc/files.am 2019-05-21 05:17:11.000000000 +0000 +++ mroonga-5.7-9.08/doc/files.am 2019-09-26 05:03:50.000000000 +0000 @@ -242,7 +242,7 @@ html/_static/documentation_options.js \ html/_static/favicon.ico \ html/_static/file.png \ - html/_static/jquery-3.2.1.js \ + html/_static/jquery-3.4.1.js \ html/_static/jquery.js \ html/_static/language_data.js \ html/_static/logo.png \ diff -Nru mroonga-5.7-9.03/doc/locale/en/html/characteristic.html mroonga-5.7-9.08/doc/locale/en/html/characteristic.html --- mroonga-5.7-9.03/doc/locale/en/html/characteristic.html 2019-05-27 06:11:35.000000000 +0000 +++ mroonga-5.7-9.08/doc/locale/en/html/characteristic.html 2019-09-26 13:58:08.000000000 +0000 @@ -5,7 +5,7 @@ - 1. The characteristics of Mroonga — Mroonga v9.03 documentation + 1. The characteristics of Mroonga — Mroonga v9.08 documentation @@ -50,7 +50,7 @@
  • previous |
  • - + @@ -152,10 +152,10 @@

    2. Install