1 Star 0 Fork 53

huangjiajun/openGauss-connector-odbc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
configure.ac 6.76 KB
一键复制 编辑 原始数据 按行查看 历史
# Process this file with autoconf to produce a configure script.
AC_INIT(psqlodbc, 10.03.0000, [pgsql-odbc@postgresql.org])
AC_PREREQ(2.57)
AC_CONFIG_AUX_DIR(config)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([bind.c])
AM_CONFIG_HEADER([config.h])
AM_MAINTAINER_MODE
# 0. Options processing
AC_PROG_CC
AM_CONDITIONAL([GCC], [test -n "$GCC"])
if test -n "$GCC" && test "$ac_test_CFLAGS" != set; then
AC_MSG_CHECKING(-Wall is a valid compile option)
CFLAGS_SAVE="${CFLAGS}"
CFLAGS="${CFLAGS} -Wall"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[#include <stdio.h>]],
[])],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
CFLAGS="${CFLAGS_SAVE}"])
fi
#
# Whether unixODBC driver manager is used
#
AC_ARG_WITH(unixodbc, [ --with-unixodbc[[=DIR]] [[default=yes]] DIR is the unixODBC base install
directory or the path to odbc_config],
[], [with_unixodbc=yes])
#
# Whether iODBC driver manager is used
#
AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC base install
directory or the path to iodbc-config],
[], [with_iodbc=no])
if test "$with_iodbc" != no; then
with_unixodbc=no
AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support])
if test "$with_iodbc" = yes; then
AC_PATH_PROGS(ODBC_CONFIG, iodbc-config)
else
ODBC_CONFIG=$with_iodbc
fi
if test ! -x "${ODBC_CONFIG}/bin/iodbc-config"; then
if test ! -x "${ODBC_CONFIG}"; then
AC_MSG_ERROR([iodbc-config not found (required for iODBC build)])
fi
else
ODBC_CONFIG=${ODBC_CONFIG}/bin/iodbc-config
fi
fi
if test "$with_unixodbc" != no; then
AC_DEFINE(WITH_UNIXODBC, 1,
[Define to 1 to build with unixODBC support])
if test "$with_unixodbc" = yes; then
AC_PATH_PROGS(ODBC_CONFIG, odbc_config)
else
ODBC_CONFIG=$with_unixodbc
fi
if test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then
if test ! -x "${ODBC_CONFIG}"; then
AC_MSG_ERROR([odbc_config not found (required for unixODBC build)])
fi
else
ODBC_CONFIG=${ODBC_CONFIG}/bin/odbc_config
fi
fi
#
# ODBC include and library
#
if test "$ODBC_CONFIG" != ""; then
if test "$with_iodbc" != no; then
ODBC_INCLUDE=`${ODBC_CONFIG} --cflags`
CPPFLAGS="$CPPFLAGS ${ODBC_INCLUDE}"
# Linking libiodoc is rather problematic
[ODBC_LIBDIR=`${ODBC_CONFIG} --libs | sed -e "s/^\(-L\|.*[ \t]-L\)\([^ \n\r\f\t]*\).*$/-L\2/"`]
LDFLAGS="$LDFLAGS ${ODBC_LIBDIR}"
else
ODBC_INCLUDE=`${ODBC_CONFIG} --include-prefix`
CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}"
# Linking libodoc is rather problematic
ODBC_LIBDIR=`${ODBC_CONFIG} --lib-prefix`
LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}"
fi
AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBDIR])
fi
#
# SQLCOLATTRIBUTE_SQLLEN check
#
AC_MSG_CHECKING(last argument to SQLColAttribute is SQLLEN *)
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#include <sql.h>
SQLRETURN SQL_API SQLColAttribute(SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber,
SQLUSMALLINT FieldIdentifier,
SQLPOINTER CharacterAttribute,
SQLSMALLINT BufferLength,
SQLSMALLINT *StringLength,
SQLLEN *NumericAttribute)
{
SQLLEN t = 1;
*NumericAttribute = t;
return 0;
}
]])],
[AC_DEFINE(SQLCOLATTRIBUTE_SQLLEN, 1,
[Define to 1 if SQLColAttribute use SQLLEN])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)]
)
#
# Whether libpq functionalities are used
#
AC_ARG_WITH(libpq, [ --with-libpq[[=DIR]] DIR is the PostgreSQL base install
directory or the path to pg_config],
[], [with_libpq=yes])
if test "$with_libpq" = no; then
AC_MSG_ERROR([libpq is mandatory, --without-libpq is no longer supported])
fi
if test "$with_libpq" != yes; then
if test -d "$with_libpq"; then
PATH="$PATH:$with_libpq/bin"
CPPFLAGS="$CPPFLAGS -I$with_libpq/include -I$with_libpq/include/postgresql/internal"
LDFLAGS="$LDFLAGS -L$with_libpq/lib"
else
if test -x "$with_libpq"; then
PG_CONFIG=$with_libpq
else
AC_MSG_ERROR([specified pg_config not found])
fi
fi
fi
#
# Pthreads
#
PGAC_ARG_BOOL(enable, pthreads, yes,
[ --disable-pthreads do not build with POSIX threads],
[AC_DEFINE(POSIX_MULTITHREAD_SUPPORT, 1,
[Define to 1 to build with pthreads support (--enable-pthreads)])
AC_DEFINE(_REENTRANT, 1, [Define _REENTRANT for several plaforms])])
#
# Find libpq headers and libraries
#
if test -z "$PG_CONFIG"; then
AC_PATH_PROGS(PG_CONFIG, pg_config)
fi
if test -n "$PG_CONFIG"; then
pg_includedir=`"$PG_CONFIG" --includedir`
pg_pkg_includedir=`"$PG_CONFIG" --pkgincludedir`
pg_libdir=`"$PG_CONFIG" --libdir`
CPPFLAGS="$CPPFLAGS -I$pg_includedir -I$pg_pkg_includedir/internal"
LDFLAGS="$LDFLAGS -L$pg_libdir"
fi
# 1. Programs
# 'prove' is used to pretty-print regression test results, if available.
AC_CHECK_PROGS(PROVE, prove)
# 2. Libraries
AC_LIBTOOL_WIN32_DLL
AC_DISABLE_STATIC
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
if test "$with_unixodbc" != no; then
AC_SEARCH_LIBS(SQLGetPrivateProfileString, odbcinst, [],
[AC_MSG_ERROR([unixODBC library "odbcinst" not found])])
fi
if test "$with_iodbc" != no; then
AC_SEARCH_LIBS(SQLGetPrivateProfileString, iodbcinst, [],
[AC_MSG_ERROR([iODBC library "iodbcinst" not found])])
fi
if test "$enable_pthreads" = yes; then
AC_CHECK_LIB(pthreads, pthread_create,
[],
[AC_CHECK_LIB(pthread, pthread_create)])
fi
AC_CHECK_LIB(pq, PQsetSingleRowMode, [],
[AC_MSG_ERROR([libpq library version >= 9.2 is required])])
# 3. Header files
AC_CHECK_HEADERS(locale.h sys/time.h uchar.h)
AC_CHECK_HEADER(libpq-fe.h,,[AC_MSG_ERROR([libpq header not found])])
AC_HEADER_TIME
# 4. Types
# unixODBC wants the following to get sane behavior for ODBCINT64
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(void *)
AC_CHECK_TYPES(long long)
AC_CHECK_TYPES(signed char)
AC_CHECK_TYPES(ssize_t)
AC_TYPE_SIZE_T
# 5. Structures
AC_STRUCT_TM
# 6. Compiler characteristics
AC_C_CONST
# 7. Functions, global variables
AC_FUNC_STRERROR_R
AC_CHECK_FUNCS(strtoul strtoll strlcat mbstowcs wcstombs mbrtoc16 c16rtomb)
if test "$enable_pthreads" = yes; then
AC_CHECK_FUNCS(localtime_r strtok_r pthread_mutexattr_settype)
if test x"$ac_cv_func_pthread_mutexattr_settype" = xyes; then
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
[[int i = PTHREAD_MUTEX_RECURSIVE;]])],
[AC_DEFINE(PG_RECURSIVE_MUTEXATTR, PTHREAD_MUTEX_RECURSIVE,
[Define if you have PTHREAD_MUTEX_RECURSIVE])],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
[[int i = PTHREAD_MUTEX_RECURSIVE_NP;]])],
[AC_DEFINE(PG_RECURSIVE_MUTEXATTR, PTHREAD_MUTEX_RECURSIVE_NP,
[Define if you have PTHREAD_MUTEX_RECURSIVE_NP])])])
fi
fi
# 8. Libltdl This release doesn't need libltdl
# AC_CHECK_LIB(ltdl, lt_dlopen)
AC_CONFIG_FILES([Makefile test/Makefile])
AC_OUTPUT
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/b_127/openGauss-connector-odbc.git
git@gitee.com:b_127/openGauss-connector-odbc.git
b_127
openGauss-connector-odbc
openGauss-connector-odbc
master

搜索帮助