Browse Source

Merge pull request #186 from p-alik/issue-177

solution for issues 176 and 177
Алексей Пастухов 6 years ago
parent
commit
26d639fad5
2 changed files with 20 additions and 2 deletions
  1. 19 1
      configure.ac
  2. 1 1
      m4/ax_debug.m4

+ 19 - 1
configure.ac

@@ -60,7 +60,7 @@ AS_IF([test "x${ac_cv_prog_cc_c99}" == "xno"],[AC_MSG_ERROR([No c99 compatible c
 AC_DEFUN([CHECK_CXX0X],[
           AC_LANG_PUSH([C++])
           AX_CHECK_COMPILE_FLAG([-std=c++0x],[
-                                 CXXFLAGS="$CXXFLAGS -std=c++0x"])
+                                 CXX_STD="c++0x"])
           AC_LANG_POP([C++])
           ])
 CHECK_CXX0X
@@ -339,6 +339,16 @@ AC_CONFIG_FILES([Makefile
                  support/gearmand.pc
                  support/gearmand.spec])
 
+AS_IF([test "x${ax_enable_debug}" = "xyes"],
+      [AC_DEFUN([CHECK_CXX11],
+          [AC_LANG_PUSH([C++])
+          AX_CHECK_COMPILE_FLAG([-std=c++11], [CXX_STD="c++11"])
+          AC_LANG_POP([C++])
+          ])
+      CHECK_CXX11])
+
+CXXFLAGS=" $CXXFLAGS -std=$CXX_STD"
+
 AC_OUTPUT
 
 echo "---"
@@ -373,6 +383,14 @@ echo "   * sphinx-build:              $SPHINXBUILD"
 echo ""
 echo "---"
 
+if [test "x${ax_enable_debug}" = "xyes"]; then
+    echo "*****"
+    echo "*"
+    echo "*  NOTE: You should execute gearmand with --threads 0 when --enable-debug is specified."
+    echo "*"
+    echo "*****"
+fi
+
 case "$host_os" in
   *freebsd*)
     echo "*****"

+ 1 - 1
m4/ax_debug.m4

@@ -52,7 +52,7 @@ AC_DEFUN([AX_DEBUG],
         [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
       [ax_enable_debug=yes
       AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])
-      AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck])])
+      AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck -fsanitize=undefined])])
       AX_ADD_AM_MACRO([--debug],[AM_YFLAGS])
       AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])],
       [ax_enable_debug=no