diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:49:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:49:46 +0000 |
commit | 50b37d4a27d3295a29afca2286f1a5a086142cec (patch) | |
tree | 9212f763934ee090ef72d823f559f52ce387f268 /src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | |
parent | Initial commit. (diff) | |
download | freeradius-upstream.tar.xz freeradius-upstream.zip |
Adding upstream version 3.2.1+dfsg.upstream/3.2.1+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac')
-rw-r--r-- | src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac new file mode 100644 index 0000000..a320b85 --- /dev/null +++ b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac @@ -0,0 +1,170 @@ +AC_PREREQ([2.68]) +AC_INIT(rlm_sql_oracle.c) +AC_REVISION($Revision: 1.10 $) +FR_INIT_MODULE([rlm_sql_oracle]) + +oracle_supported_versions="19 18 12 11 10 9" +fail= +mod_ldflags= +mod_cflags= + +if test x$with_[]modname != xno; then + + dnl ############################################################ + dnl # Check for command line options + dnl ############################################################ + + dnl extra argument: --with-oracle-include-dir=DIR + oracle_include_dir= + AC_ARG_WITH(oracle-include-dir, + [AS_HELP_STRING([--with-oracle-include-dir=DIR], + [Directory where the oracle includes may be found])], + [case "$withval" in + no) + AC_MSG_ERROR(Need oracle-include-dir) + ;; + yes) + ;; + *) + oracle_include_dir="$withval" + ;; + esac]) + + dnl extra argument: --with-oracle-lib-dir=DIR + oracle_lib_dir= + AC_ARG_WITH(oracle-lib-dir, + [AS_HELP_STRING([--with-oracle-lib-dir=DIR], + [Directory where the oracle libraries may be found])], + [case "$withval" in + no) + AC_MSG_ERROR(Need oracle-lib-dir) + ;; + yes) + ;; + *) + oracle_lib_dir="$withval" + ;; + esac]) + + dnl extra argument: --with-oracle-dir=DIR + AC_ARG_WITH(oracle-dir, + [AS_HELP_STRING([--with-oracle-dir=DIR], + [Base directory where oracle is installed])], + [case "$withval" in + no) + AC_MSG_ERROR(Need oracle-dir) + ;; + yes) + ;; + *) + oracle_lib_dir="$withval/lib" + oracle_include_dir="$withval/include" + ;; + esac]) + + dnl ############################################################ + dnl # Check for header files + dnl ############################################################ + + smart_try_dir="$oracle_include_dir /usr/local/instaclient/include" + + if test "x$ORACLE_HOME" != "x"; then + smart_try_dir="${smart_try_dir} ${ORACLE_HOME}/include" + fi + + FR_SMART_CHECK_INCLUDE(oci.h) + if test "x$ac_cv_header_oci_h" != "xyes"; then + AC_MSG_WARN([oracle headers not found. Use --with-oracle-include-dir=<path> or set ORACLE_HOME.]) + fail="$fail oci.h" + fi + + dnl ############################################################ + dnl # Check for libraries + dnl ############################################################ + + old_LIBS="$LIBS" + + if test "x$oracle_lib_dir" != "x" ; then + lib_path="${oracle_lib_dir} " + elif test "x$ORACLE_HOME" != "x" ; then + lib_path="${ORACLE_HOME}/lib " + fi + + AC_MSG_WARN([Oracle supported versions: ${oracle_supported_versions}]) + AC_MSG_WARN([Oracle version >= 12 needs -laio]) + + for path in $lib_path "/usr/local/instaclient/lib" "" "/opt/lib"; do + for oracle_version in ${oracle_supported_versions} ""; do + if test "$path" != ""; then + AC_MSG_CHECKING([for OCIInitialize in nnz${oracle_version} in $path]) + else + AC_MSG_CHECKING([for OCIInitialize in nnz${oracle_version}]) + fi + + LIBS="$old_LIBS -L$path -Wl,-rpath,$path -lclntsh -lnnz${oracle_version}" + + AC_TRY_LINK([#include <oci.h> + + static OCIEnv *p_env; + static OCIError *p_err; + static OCISvcCtx *p_svc; + static OCIStmt *p_sql; + static OCIDefine *p_dfn = (OCIDefine *) 0; + static OCIBind *p_bnd = (OCIBind *) 0; + ], + [ + int p_bvi; + char p_sli[20]; + int rc; + char errbuf[100]; + int errcode; + + rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0, /* Initialize OCI */ + (dvoid * (*)(dvoid *, size_t)) 0, + (dvoid * (*)(dvoid *, dvoid *, size_t))0, + (void (*)(dvoid *, dvoid *)) 0 ); + + ], + [mod_ldflags="$LIBS"], + ) + if test "x$mod_ldflags" != "x"; then + AC_MSG_RESULT(yes) + break + fi + AC_MSG_RESULT(no) + done + + if test "x$mod_ldflags" != "x"; then + break + fi + done + + LIBS="$old_LIBS" + + if test "x$mod_ldflags" = "x"; then + AC_MSG_WARN([oracle libraries not found. Use --with-oracle-lib-dir=<path> or set ORACLE_HOME.]) + fail=["$fail libclntsh libnnz[9-12]"] + fi + + targetname=modname +else + targetname= + echo \*\*\* module modname is disabled. +fi + +dnl Don't change this section. +if test "x$fail" != x; then + if test "x${enable_strict_dependencies}" = xyes; then + AC_MSG_ERROR([set --without-]modname[ to disable it explicitly.]) + else + AC_MSG_WARN([silently not building ]modname[.]) + AC_MSG_WARN([FAILURE: ]modname[ requires:$fail.]); + targetname= + fi +fi + +mod_cflags="$SMART_CPPFLAGS" +AC_SUBST(mod_ldflags) +AC_SUBST(mod_cflags) +AC_SUBST(targetname) +AC_OUTPUT(all.mk) |