de38622000-03-26Francesco Chemolli dnl This file is part of the Sybase driver for the Pike programming language dnl by Francesco Chemolli <kinkie@roxen.com> 10/12/1999 AC_INIT(sybase.c) AC_CONFIG_HEADER(sybase_config.h)
8cb8d82001-02-27Henrik Grubbström (Grubba) AC_MODULE_INIT()
71b3952003-05-03Martin Stjernholm PIKE_FEATURE_WITHOUT(sybase) echo "Configuring for sybase support"
de38622000-03-26Francesco Chemolli OLD_CPPFLAGS="$CPPFLAGS" OLD_CFLAGS="$CFLAGS" OLD_LIBS="$LIBS" OLD_LDFLAGS="$LDFLAGS" AC_ARG_WITH(sybase, [ --with(out)-sybase Include the Sybase database driver],
ee490c2000-08-31Francesco Chemolli  [],[with_sybase=yes])
de38622000-03-26Francesco Chemolli AC_ARG_WITH(sybase-include-dir, [ --with-sybase-include-dir Sybase headers directory location], [pike_sybase_include_dir=$withval]) AC_ARG_WITH(sybase-lib-dir, [ --with-sybase-lib-dir Sybase libraries directory location], [pike_sybase_lib_dir=$withval])
172de42005-03-21Henrik Grubbström (Grubba) dnl "reasonable" search paths we will look in $root/$prefix/$path
8cb8d82001-02-27Henrik Grubbström (Grubba) pike_sybase_reasonable_roots="$SYBASE $with_root/ $with_root/usr/local $with_root/usr $with_root/opt $with_root/usr $HOME"
de38622000-03-26Francesco Chemolli pike_sybase_reasonable_prefixes="sybase include lib /" pike_sybase_reasonable_paths="sybase include lib /" pike_sybase_reasonable_extra_paths="$pike_sybase_include_dir $pike_sybase_lib_dir" pike_sybase_reasonable_libs_tosearch="libtcl.a libsybtcl.a libtcl64.a libtcl_r.a libtcl_dce.a libtcl_dce64.a libtcl.so libsybtcl.so libtcl64.so libtcl_r.so libtcl_dce.so libtcl_dce64.so" AC_MSG_CHECKING(for include files location) if test x$pike_sybase_include_dir != x; then AC_MSG_RESULT(user-provided: $pike_sybase_include_dir) pike_cv_sybase_include_dir=$pike_sybase_include_dir
172de42005-03-21Henrik Grubbström (Grubba)  CPPFLAGS="-I$pike_cv_sybase_include_dir $CPPFLAGS"
de38622000-03-26Francesco Chemolli else
71b3952003-05-03Martin Stjernholm  AC_CACHE_VAL(pike_cv_sybase_include_dir,
de38622000-03-26Francesco Chemolli  [ for sybroot in $pike_sybase_reasonable_roots do for sybprefix in $pike_sybase_reasonable_prefixes do for sybpath in $pike_sybase_reasonable_paths do
20f97b2000-05-29Per Hedbor dnl AC_MSG_CHECKING(in $sybroot/$sybprefix/$sybpath)
de38622000-03-26Francesco Chemolli  if test -f $sybroot/$sybprefix/$sybpath/ctpublic.h; then pike_cv_sybase_include_dir="$sybroot/$sybprefix/$sybpath"
71b3952003-05-03Martin Stjernholm dnl AC_MSG_RESULT(found)
de38622000-03-26Francesco Chemolli  break 3; else
71b3952003-05-03Martin Stjernholm dnl AC_MSG_RESULT(not found)
20f97b2000-05-29Per Hedbor  :
de38622000-03-26Francesco Chemolli  fi done done done ])
71b3952003-05-03Martin Stjernholm  if test x$pike_cv_sybase_include_dir != x; then AC_MSG_RESULT(found: $pike_cv_sybase_include_dir)
172de42005-03-21Henrik Grubbström (Grubba)  CPPFLAGS="-I$pike_cv_sybase_include_dir $CPPFLAGS"
71b3952003-05-03Martin Stjernholm  else AC_MSG_RESULT(not found) fi
de38622000-03-26Francesco Chemolli fi
172de42005-03-21Henrik Grubbström (Grubba) AC_CHECK_HEADERS(SybaseOpenClient/SybaseOpenClient.h ctpublic.h) AC_MSG_CHECKING(for SybaseOpenClient framework) AC_CACHE_VAL(pike_cv_framework_sybaseopenclient, [ pike_cv_framework_sybaseopenclient="no" OLD_LDFLAGS="${LDFLAGS}" LDFLAGS="-framework SybaseOpenClient ${LDFLAGS}" AC_TRY_LINK([ #ifdef HAVE_SYBASEOPENCLIENT_SYBASEOPENCLIENT_H #include <SybaseOpenClient/SybaseOpenClient.h> #elif defined(HAVE_CTPUBLIC_H) #include <ctpublic.h> #endif ], [ CS_CONTEXT *context; CS_RETCODE ret; ret = cs_ctx_alloc(CS_VERSION_110, &context); ret = ct_init(context, CS_VERSION_110); ], [ pike_cv_framework_sybaseopenclient="yes" ]) LDFLAGS="${OLD_LDFLAGS}" ]) if test "$pike_cv_framework_sybaseopenclient" = "no"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) LDFLAGS="-framework SybaseOpenClient $LDFLAGS" fi if test "$pike_cv_framework_sybaseopenclient" = "no"; then
de38622000-03-26Francesco Chemolli AC_MSG_CHECKING(for library files location) if test x$pike_sybase_lib_dir != x; then AC_MSG_RESULT(user-provided: $pike_sybase_lib_dir) pike_cv_sybase_lib_dir=$pike_sybase_lib_dir
172de42005-03-21Henrik Grubbström (Grubba)  LDFLAGS="-L$pike_cv_sybase_lib_dir $LDFLAGS"
de38622000-03-26Francesco Chemolli else
71b3952003-05-03Martin Stjernholm  AC_CACHE_VAL(pike_cv_sybase_lib_dir,
de38622000-03-26Francesco Chemolli  [ for sybroot in $pike_sybase_reasonable_roots do for sybprefix in $pike_sybase_reasonable_prefixes do for sybpath in $pike_sybase_reasonable_paths do
20f97b2000-05-29Per Hedbor dnl AC_MSG_CHECKING(in $sybroot/$sybprefix/$sybpath)
de38622000-03-26Francesco Chemolli  for syblib in $pike_sybase_reasonable_libs_tosearch do if test -f $sybroot/$sybprefix/$sybpath/$syblib; then pike_cv_sybase_lib_dir="$sybroot/$sybprefix/$sybpath"
71b3952003-05-03Martin Stjernholm dnl AC_MSG_RESULT(found)
de38622000-03-26Francesco Chemolli  break 4; fi done
71b3952003-05-03Martin Stjernholm dnl AC_MSG_RESULT(not found)
de38622000-03-26Francesco Chemolli  done done done ])
71b3952003-05-03Martin Stjernholm  if test x$pike_cv_sybase_lib_dir != x; then AC_MSG_RESULT(found: $pike_cv_sybase_lib_dir)
172de42005-03-21Henrik Grubbström (Grubba)  LDFLAGS="-L$pike_cv_sybase_lib_dir $LDFLAGS"
71b3952003-05-03Martin Stjernholm  else AC_MSG_RESULT(not found) fi
de38622000-03-26Francesco Chemolli fi fi if test x$with_sybase != xno; then
172de42005-03-21Henrik Grubbström (Grubba)  PIKE_FEATURE_NODEP(sybase)
71b3952003-05-03Martin Stjernholm 
172de42005-03-21Henrik Grubbström (Grubba)  AC_CHECK_LIB(m,floor) AC_CHECK_LIB(dl,dlopen) AC_CHECK_LIB(nsl,gethostbyname)
79fa3e2000-04-28Francesco Chemolli 
9798112005-03-22Henrik Grubbström (Grubba)  if test x$pike_cv_framework_sybaseopenclient = "xyes"; then
172de42005-03-21Henrik Grubbström (Grubba)  AC_DEFINE(HAVE_SYBASE) PIKE_FEATURE(sybase, [yes, SybaseOpenClient framework]) else
71b3952003-05-03Martin Stjernholm  AC_SEARCH_LIBS(intl_datetime, intl_r64 intl_r intl64 intl, [ AC_SEARCH_LIBS(comn_bintobin, comn_r64 comn_r comn_dce64 comn_dce comn64 comn, [ AC_SEARCH_LIBS(cs_ctx_alloc, cs_r64 cs_r cs64 cs, [ AC_SEARCH_LIBS(iface_open, tcl_r64 tcl_r tcl_dce64 tcl_dce sybtcl tcl64 tcl, [ AC_SEARCH_LIBS(ct_callback, ct_r64 ct_r ct64 ct, [ AC_CHECK_HEADERS(ctpublic.h, [ AC_DEFINE(HAVE_SYBASE) PIKE_FEATURE(sybase, yes) ]) ]) ]) ]) ]) ])
172de42005-03-21Henrik Grubbström (Grubba)  fi
de38622000-03-26Francesco Chemolli fi AC_SUBST_FILE(make_variables) AC_OUTPUT(Makefile,echo FOO >stamp-h)