~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to m4/pandora_have_protobuf.m4

MergedĀ inĀ pandora-build

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
      AC_MSG_ERROR([libprotobuf is required for ${PACKAGE}. On Debian this can be found in libprotobuf-dev. On RedHat this can be found in protobuf-devel.]))
38
38
])
39
39
 
40
 
AC_DEFUN([PANDORA_PROTOBUF_RECENT],[
 
40
AC_DEFUN([PANDORA_PROTOBUF_REQUIRE_VERSION],[
41
41
  AC_REQUIRE([_PANDORA_SEARCH_LIBPROTOBUF])
 
42
  p_recent_ver=$1
 
43
  p_recent_ver_major=`echo $p_recent_ver | cut -f1 -d.`
 
44
  p_recent_ver_minor=`echo $p_recent_ver | cut -f2 -d.`
 
45
  p_recent_ver_patch=`echo $p_recent_ver | cut -f3 -d.`
 
46
  p_recent_ver_hex=`printf "%d%03d%03d" $p_recent_ver_major $p_recent_ver_minor $p_recent_ver_patch` 
42
47
  AC_LANG_PUSH([C++])
43
 
  AC_CACHE_CHECK([if protobuf is recent enough], [drizzle_cv_protobuf_recent],
 
48
  AC_CACHE_CHECK([for protobuf >= $p_recent_ver],
 
49
    [drizzle_cv_protobuf_recent],
44
50
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
45
51
#include <google/protobuf/descriptor.h>
46
 
#if GOOGLE_PROTOBUF_VERSION < 2000002
 
52
#if GOOGLE_PROTOBUF_VERSION < $p_recent_ver_hex
47
53
# error Your version of Protobuf is too old
48
54
#endif
49
55
      ]])],
50
 
      [drizzle_cv_protobuf_recent=yes],
51
 
      [drizzle_cv_protobuf_recent=no])])
 
56
    [drizzle_cv_protobuf_recent=yes],
 
57
    [drizzle_cv_protobuf_recent=no])])
52
58
  AS_IF([test "$drizzle_cv_protobuf_recent" = "no"],[
53
 
    AC_MSG_ERROR([Your version of Google Protocol Buffers is too old. ${PACKAGE} requires at least version 2.0.2])
 
59
    AC_MSG_ERROR([Your version of Google Protocol Buffers is too old. ${PACKAGE} requires at least version $p_recent_ver])
54
60
  ])
55
61
  AC_LANG_POP()
56
62
])