orca.m4 1.9 KB
Newer Older
1 2 3 4 5 6
# PGAC_CHECK_ORCA_XERCES
# ---------------------
# Check if the Greenplum patched version of Xerces-C is found
AC_DEFUN([PGAC_CHECK_ORCA_XERCES],
[
AC_CHECK_LIB(xerces-c, strnicmp, [],
7
  [AC_MSG_ERROR([library xerces-c is required to build with Pivotal Query Optimizer])]
8
)
9
AC_MSG_CHECKING([[for Xerces-C]])
10
])# PGAC_CHECK_ORCA_XERCES
11 12 13 14 15 16 17 18 19 20 21

AC_DEFUN([PGAC_CHECK_ORCA_HEADERS],
[
AC_LANG_PUSH([C++])
AC_CHECK_HEADERS(gpos/_api.h, [], [AC_MSG_ERROR([GPOS header files are required for Pivotal Query Optimizer (orca)])])
AC_CHECK_HEADERS(naucrates/init.h, [], [AC_MSG_ERROR([Naucrates header files are required for Pivotal Query Optimizer (orca)])])
AC_CHECK_HEADERS(gpopt/init.h,  [], [AC_MSG_ERROR([GPOPT header files are required for Pivotal Query Optimizer (orca)])])
AC_CHECK_HEADERS(gpdbcost/CCostModelGPDB.h,  [], [AC_MSG_ERROR([GPDB Cost Model header files are required for Pivotal Query Optimizer (orca)])])
AC_LANG_POP([C++])
]
)
22 23 24 25 26

AC_DEFUN([PGAC_CHECK_ORCA_LIBS],
[
AC_LANG_PUSH([C++])
AC_CHECK_LIB(gpos, gpos_init, [], [AC_MSG_ERROR([library 'gpos' is required for Pivotal Query Optimizer (orca)])])
27
AC_CHECK_LIB(gpdbcost, main, [], [AC_MSG_ERROR([library 'gpdbcost' is required for Pivotal Query Optimizer (orca)])], [-lgpopt -lnaucrates])
28 29 30 31 32
AC_CHECK_LIB(naucrates, InitDXL, [], [AC_MSG_ERROR([library 'naucrates' is required for Pivotal Query Optimizer (orca)])], [-lgpopt])
AC_CHECK_LIB(gpopt, gpopt_init, [], [AC_MSG_ERROR([library 'gpopt' is required for Pivotal Query Optimizer (orca)])])
AC_LANG_POP([C++])
]
)
33 34 35 36 37 38 39 40 41 42

AC_DEFUN([PGAC_CHECK_ORCA_VERSION],
[
AC_MSG_CHECKING([[Checking ORCA version]])
AC_LANG_PUSH([C++])
AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include "gpopt/version.h"
#include <string.h>
]],
[
43
return strncmp("3.49.", GPORCA_VERSION_STRING, 5);
44 45
])],
[AC_MSG_RESULT([[ok]])],
46
[AC_MSG_ERROR([Your ORCA version is expected to be 3.49.XXX])]
47 48 49 50
)
AC_LANG_POP([C++])
])# PGAC_CHECK_ORCA_VERSION