AC_SUBST(LIBWBCLIENT_SHARED)
AC_SUBST(LIBWBCLIENT_STATIC_TARGET)
AC_SUBST(LIBWBCLIENT_STATIC)
-AC_SUBST(LIBWBCLIENT_TARGET)
AC_SUBST(LIBWBCLIENT_SOVER)
AC_SUBST(LIBWBCLIENT)
AC_SUBST(LIBWBCLIENT_LIBS)
DYNEXP=
AC_SUBST(DYNEXP)
+LDSHFLAGS_Z_DEFS=
+AC_SUBST(LDSHFLAGS_Z_DEFS)
+LDSHFLAGS_Z_NODEFS=
+AC_SUBST(LDSHFLAGS_Z_NODEFS)
dnl Add modules that have to be built by default here
dnl These have to be built static:
-default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog auth_sam auth_unix auth_winbind auth_wbc auth_server auth_domain auth_builtin auth_netlogond vfs_default nss_info_template"
+default_static_modules=""
+default_static_modules="$default_static_modules pdb_smbpasswd"
+default_static_modules="$default_static_modules pdb_tdbsam"
+default_static_modules="$default_static_modules pdb_wbc_sam"
+default_static_modules="$default_static_modules rpc_lsarpc"
+default_static_modules="$default_static_modules rpc_samr"
+default_static_modules="$default_static_modules rpc_winreg"
+default_static_modules="$default_static_modules rpc_initshutdown"
+default_static_modules="$default_static_modules rpc_dssetup"
+default_static_modules="$default_static_modules rpc_wkssvc"
+default_static_modules="$default_static_modules rpc_svcctl"
+default_static_modules="$default_static_modules rpc_ntsvcs"
+default_static_modules="$default_static_modules rpc_netlogon"
+default_static_modules="$default_static_modules rpc_netdfs"
+default_static_modules="$default_static_modules rpc_srvsvc"
+default_static_modules="$default_static_modules rpc_spoolss"
+default_static_modules="$default_static_modules rpc_eventlog"
+default_static_modules="$default_static_modules auth_sam"
+default_static_modules="$default_static_modules auth_unix"
+default_static_modules="$default_static_modules auth_winbind"
+default_static_modules="$default_static_modules auth_wbc"
+default_static_modules="$default_static_modules auth_server"
+default_static_modules="$default_static_modules auth_domain"
+default_static_modules="$default_static_modules auth_builtin"
+default_static_modules="$default_static_modules auth_netlogond"
+default_static_modules="$default_static_modules vfs_default"
+default_static_modules="$default_static_modules nss_info_template"
dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen"
+default_shared_modules=""
+default_shared_modules="$default_shared_modules vfs_recycle"
+default_shared_modules="$default_shared_modules vfs_audit"
+default_shared_modules="$default_shared_modules vfs_extd_audit"
+default_shared_modules="$default_shared_modules vfs_full_audit"
+default_shared_modules="$default_shared_modules vfs_netatalk"
+default_shared_modules="$default_shared_modules vfs_fake_perms"
+default_shared_modules="$default_shared_modules vfs_default_quota"
+default_shared_modules="$default_shared_modules vfs_readonly"
+default_shared_modules="$default_shared_modules vfs_cap"
+default_shared_modules="$default_shared_modules vfs_expand_msdfs"
+default_shared_modules="$default_shared_modules vfs_shadow_copy"
+default_shared_modules="$default_shared_modules vfs_shadow_copy2"
+default_shared_modules="$default_shared_modules charset_CP850"
+default_shared_modules="$default_shared_modules charset_CP437"
+default_shared_modules="$default_shared_modules auth_script"
+default_shared_modules="$default_shared_modules vfs_readahead"
+default_shared_modules="$default_shared_modules vfs_xattr_tdb"
+default_shared_modules="$default_shared_modules vfs_streams_xattr"
+default_shared_modules="$default_shared_modules vfs_streams_depot"
+default_shared_modules="$default_shared_modules vfs_acl_xattr"
+default_shared_modules="$default_shared_modules vfs_acl_tdb"
+default_shared_modules="$default_shared_modules vfs_smb_traffic_analyzer"
+default_shared_modules="$default_shared_modules vfs_preopen"
+default_shared_modules="$default_shared_modules vfs_catia"
if test "x$developer" = xyes; then
default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
LIBREPLACE_OBJS="${LIBREPLACEOBJ}"
AC_SUBST(LIBREPLACE_OBJS)
+LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS}"
+AC_SUBST(LIBREPLACE_LIBS)
+
+
# add -ldl to the global LIBS
LIBS="${LIBS} ${LIBDL} ${LIBREPLACE_NETWORK_LIBS}"
AUTH_LIBS="${AUTH_LIBS} ${CRYPT_LIBS}"
AC_CHECK_HEADERS(unistd.h grp.h sys/id.h memory.h alloca.h)
AC_CHECK_HEADERS(limits.h float.h pthread.h libintl.h)
AC_CHECK_HEADERS(rpc/rpc.h rpcsvc/nis.h rpcsvc/ypclnt.h)
-AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h)
+AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h sys/sysctl.h)
AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h)
AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h)
AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h)
ac_save_PRINT_LIBS=$PRINT_LIBS
CFLAGS="$CFLAGS `$CUPS_CONFIG --cflags`"
LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
- PRINT_LIBS="$PRINT_LIBS `$CUPS_CONFIG --libs`"
+ PRINT_LIBS="$PRINT_LIBS -lcups"
AC_CHECK_HEADERS(cups/cups.h cups/language.h)
if test x"$ac_cv_header_cups_cups_h" = xyes -a \
x"$ac_cv_header_cups_language_h" = xyes; then
AC_CHECK_FUNCS(syslog vsyslog timegm)
AC_CHECK_FUNCS(setlocale nl_langinfo)
AC_CHECK_FUNCS(nanosleep,,[AC_CHECK_LIB_EXT(rt, LIBS, nanosleep)])
+AC_CHECK_FUNCS(utimensat)
AC_CHECK_FUNCS(mlock munlock mlockall munlockall)
AC_CHECK_FUNCS(memalign posix_memalign hstrerror)
AC_CHECK_HEADERS(sys/mman.h)
AC_CHECK_FUNCS(shmget shm_open)
AC_CHECK_FUNCS(gettext dgettext)
AC_CHECK_FUNCS(bindtextdomain textdomain)
+AC_CHECK_FUNCS(strupr)
# Find a method of generating a stack trace
AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h)
# check for sysctlbyname for BSD systems
AC_CHECK_FUNCS(sysctlbyname)
-printf "%s" "checking for GPFS GPL libs... "
-save_LIBS="$LIBS"
-LIBS="$LIBS -lgpfs_gpl"
-AC_TRY_LINK([#include <gpfs_gpl.h>],
- [gpfs_set_share(0,GPFS_SHARE_READ,GPFS_DENY_NONE)],
- samba_cv_HAVE_GPFS=yes,
- samba_cv_HAVE_GPFS=no)
-echo $samba_cv_HAVE_GPFS
-if test x"$samba_cv_HAVE_GPFS" = x"yes"; then
- AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL libs are available])
+#############################
+# check if building with gpfs
+AC_CHECK_HEADERS(gpfs_gpl.h)
+if test x"$ac_cv_header_gpfs_gpl_h" = x"yes"; then
+ AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL headers are available])
default_shared_modules="$default_shared_modules vfs_gpfs"
fi
-LIBS="$save_LIBS"
-
-printf "%s" "checking for GPFS libs (with 3.2.1 PTF8 available as GPL)... "
-save_LIBS="$LIBS"
-LIBS="$LIBS -lgpfs"
-AC_TRY_LINK([#include <gpfs.h>],
- [gpfs_set_share(0,GPFS_SHARE_READ,GPFS_DENY_NONE)],
- samba_cv_HAVE_GPFS=yes,
- samba_cv_HAVE_GPFS=no)
-echo $samba_cv_HAVE_GPFS
-if test x"$samba_cv_HAVE_GPFS" = x"yes"; then
- AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL libs are available])
- default_shared_modules="$default_shared_modules vfs_gpfs"
-fi
-LIBS="$save_LIBS"
#############################################
# check if building on Isilon OneFS
AC_DEFINE(LINUX,1,[Whether the host os is linux]) ;;
esac
BLDSHARED="true"
+ LDSHFLAGS="-shared -Wl,-Bsymbolic"
if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then
- LDSHFLAGS="-shared -Wl,-Bsymbolic -Wl,--allow-shlib-undefined"
- else
- LDSHFLAGS="-shared -Wl,-Bsymbolic"
+ LDSHFLAGS_Z_NODEFS="-Wl,--allow-shlib-undefined"
fi
DYNEXP="-Wl,--export-dynamic"
PICFLAG="-fPIC"
AC_MSG_RESULT($BLDSHARED)
+for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
+ saved_ldflags="$LDFLAGS"
+ AC_MSG_CHECKING([if $flags works])
+ LDFLAGS="$flags $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LD_AS_NEEDED_FLAG=$flags
+ ld_as_needed_flag_found=yes],
+ AC_MSG_RESULT([no]))
+ LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
+ test x"$ld_as_needed_flag_found" = xyes && break
+done
+
+# for historical reasons almost all linkers don't complain about unresolved
+# symbols in shared libs. Except for the internal samba modules we want to get
+# errors when we produce a shared lib with unresolved symbols. On some
+# platforms unresolved symbols might be intended, so we might have to add
+# platform specific exceptions here.
+
+for flags in "-Wl,-z,defs" "-error_unresolved" "-Wl,-error_unresolved" ; do
+ saved_ldflags="$LDFLAGS"
+ AC_MSG_CHECKING([if $flags works])
+ LDFLAGS="$flags $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LDSHFLAGS_Z_DEFS=$flags
+ ldshflags_z_defs_found=yes],
+ AC_MSG_RESULT([no]))
+ LDFLAGS=$saved_ldflags
+ test x"$ldshflags_z_defs_found" = xyes && break
+done
+
+AC_MSG_CHECKING([LDSHFLAGS_Z_DEFS])
+AC_MSG_RESULT([$LDSHFLAGS_Z_DEFS])
AC_MSG_CHECKING([LDFLAGS])
AC_MSG_RESULT([$LDFLAGS])
AC_MSG_CHECKING([DYNEXP])
CPPFLAGS=$ac_save_CPPFLAGS
LDFLAGS=$ac_save_LDFLAGS
fi
- AC_CHECK_HEADERS(krb5/locate_plugin.h)
+ AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [],
+[[#ifdef HAVE_KRB5_H
+ #include <krb5.h>
+ #endif
+]])
+
if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then
WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT"
if test x"$BLDSHARED" = x"true" ; then
AC_CHECK_FUNC_EXT(krb5_enctype_to_string, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_fwd_tgt_creds, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_auth_con_set_req_cksumtype, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_get_creds_opt_alloc, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_get_creds_opt_set_impersonate, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_get_creds, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_get_credentials_for_user, $KRB5_LIBS)
+ # MIT krb5 1.8 does not expose this call (yet)
+ AC_CHECK_DECLS(krb5_get_credentials_for_user, [], [], [#include <krb5.h>])
+
+ # MIT krb5 1.7beta3 (in Ubuntu Karmic) does not have this declaration
+ # but does have the symbol
+ AC_CHECK_DECLS(krb5_auth_con_set_req_cksumtype, [], [], [#include <krb5.h>])
LIBS="$KRB5_LIBS $LIBS"
# /usr/include/pam.
with_pam_for_crypt=no
-try_pam=no
+try_pam=auto
AC_MSG_CHECKING(whether to try PAM support)
AC_ARG_WITH(pam,
-[AS_HELP_STRING([--with-pam], [Include PAM support (default=no)])],
+[AS_HELP_STRING([--with-pam], [Include PAM support (default=auto)])],
[ case "$withval" in
- yes|no)
+ yes|no|auto)
try_pam=$withval
;;
esac
PAM_MODULES=""
INSTALL_PAM_MODULES=""
UNINSTALL_PAM_MODULES=""
+
+try_pam_smbpass=auto
AC_MSG_CHECKING(whether to use pam_smbpass)
AC_ARG_WITH(pam_smbpass,
-[AS_HELP_STRING([--with-pam_smbpass], [Build PAM module for authenticating against passdb backends (default=no)])],
+[AS_HELP_STRING([--with-pam_smbpass], [Build PAM module for authenticating against passdb backends (default=auto)])],
[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
+ yes|no|auto)
+ try_pam_smbpass=$withval
+ ;;
+ *)
+ AC_MSG_ERROR([valid options are yes,no,auto])
+ ;;
+ esac
+])
- # Conditions under which pam_smbpass should not be built.
+if test x"${try_pam_smbpass}" = xno ; then
+ use_pam_smbpass=no
+else
+ use_pam_smbpass=yes
+ # Conditions under which pam_smbpass can't be built.
+ if test x"$BLDSHARED" != xtrue ; then
+ if test x"${try_pam_smbpass}" = xyes ; then
+ AC_MSG_ERROR([No support for shared modules])
+ fi
+ use_pam_smbpass=no
+ elif test x"$create_pam_modules" != xyes ; then
+ if test x"${try_pam_smbpass}" = xyes ; then
+ AC_MSG_ERROR([No support for PAM MODULES])
+ fi
+ use_pam_smbpass=no
+ fi
- if test x"$BLDSHARED" != x"true"; then
- AC_MSG_ERROR([No support for shared modules])
- elif test x"$create_pam_modules" != x"yes"; then
- AC_MSG_ERROR([No support for PAM MODULES])
- else
- PAM_MODULES="pam_smbpass"
- INSTALL_PAM_MODULES="installpammodules"
- UNINSTALL_PAM_MODULES="uninstallpammodules"
- fi
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
+ if test x"${use_pam_smbpass}" = xyes ; then
+ PAM_MODULES="pam_smbpass"
+ INSTALL_PAM_MODULES="installpammodules"
+ UNINSTALL_PAM_MODULES="uninstallpammodules"
+ fi
+fi
+AC_MSG_RESULT([$use_pam_smbpass])
##
if test "x$enable_external_libtalloc" != xno
then
- PKG_CHECK_MODULES(LIBTALLOC, talloc >= 2.0.0,
+ PKG_CHECK_MODULES(LIBTALLOC, talloc >= 2.0.1,
[ enable_external_libtalloc=yes ],
[ if test x$enable_external_libtalloc = xyes; then
AC_MSG_ERROR([Unable to find libtalloc])
then
m4_include(../lib/talloc/libtalloc.m4)
LINK_LIBTALLOC=STATIC
- SMB_LIBRARY(talloc, 1)
+ SMB_LIBRARY(talloc, 2)
LIBTALLOC_OBJ0=""
for obj in ${TALLOC_OBJ}; do
LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}"
AC_SUBST(TDBTORTURE)
fi
-
-AC_ARG_ENABLE(external_liblua,
- [AS_HELP_STRING([--enable-external-liblua],
- [Enable external lua [default=auto]])],
- [ enable_external_liblua=$enableval ],
- [ enable_external_liblua=auto ])
-
-if test "x$enable_external_liblua" != xno
-then
- PKG_CHECK_MODULES(LIBLUA, lua5.1 >= 5.1.4,
- [ enable_external_liblua=yes ],
- [
- if test x$enable_external_liblua = xyes; then
- AC_MSG_ERROR([Unable to find liblua])
- else
- enable_external_liblua=no
- fi
- ])
-fi
-
-AC_SUBST(LIBLUA_OBJ0)
-if test "x$enable_external_liblua" = xno
-then
- LINK_LIBLUA=STATIC
- SMB_LIBRARY(lua, 0)
- LIBLUA_OBJ0="lua-5.1.4/src/lapi.o lua-5.1.4/src/lauxlib.o \
- lua-5.1.4/src/lbaselib.o lua-5.1.4/src/lcode.o \
- lua-5.1.4/src/ldblib.o lua-5.1.4/src/ldebug.o lua-5.1.4/src/ldo.o \
- lua-5.1.4/src/ldump.o lua-5.1.4/src/lfunc.o lua-5.1.4/src/lgc.o \
- lua-5.1.4/src/linit.o lua-5.1.4/src/liolib.o lua-5.1.4/src/llex.o \
- lua-5.1.4/src/lmathlib.o lua-5.1.4/src/lmem.o \
- lua-5.1.4/src/loadlib.o lua-5.1.4/src/lobject.o \
- lua-5.1.4/src/lopcodes.o lua-5.1.4/src/loslib.o \
- lua-5.1.4/src/lparser.o lua-5.1.4/src/lstate.o \
- lua-5.1.4/src/lstring.o lua-5.1.4/src/lstrlib.o \
- lua-5.1.4/src/ltable.o lua-5.1.4/src/ltablib.o lua-5.1.4/src/ltm.o \
- lua-5.1.4/src/lundump.o lua-5.1.4/src/lvm.o \
- lua-5.1.4/src/lzio.o lua-5.1.4/src/print.o"
- AC_SUBST(LIBLUA_OBJ0)
-fi
-
SMB_LIBRARY(netapi, 0)
SMB_LIBRARY(smbclient, 0)
SMB_LIBRARY(smbsharemodes, 0)
ctdb_broken="missing transaction support"
fi
+AC_HAVE_DECL(CTDB_CONTROL_TRANS2_ACTIVE,[
+#include "confdefs.h"
+#define NO_CONFIG_H
+#include "replace.h"
+#include "system/wait.h"
+#include "system/network.h"
+#include <talloc.h>
+#include <tdb.h>
+#include <ctdb.h>
+#include <ctdb_private.h>
+])
+if test x"$ac_cv_have_CTDB_CONTROL_TRANS2_ACTIVE_decl" = x"yes"; then
+ ctdb_broken=no
+else
+ ctdb_broken="transaction support too old"
+fi
+
# in ctdb 1.0.57 ctdb_control_tcp was temparary renamed to ctdb_tcp_client
AC_CHECK_TYPE(struct ctdb_tcp_client,[
AC_DEFINE([ctdb_control_tcp],[ctdb_tcp_client],[ctdb ipv4 support])
NSSSONAMEVERSIONSUFFIX=".1"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \
../nsswitch/winbind_nss_linux.o"
- WINBIND_NSS_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}"
- PAM_WINBIND_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}"
;;
*hpux11*)
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o"
## Only worry about libwbclient if we have shared
# library support
LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
- LIBWBCLIENT_TARGET=$LIBWBCLIENT_SHARED_TARGET
LIBWBCLIENT=libwbclient
INSTALL_LIBWBCLIENT=installlibwbclient
UNINSTALL_LIBWBCLIENT=uninstalllibwbclient
LIBWBCLIENT_LIBS="-lwbclient"
else
LIBWBCLIENT_STATIC=$LIBWBCLIENT_STATIC_TARGET
- LIBWBCLIENT_TARGET=$LIBWBCLIENT_STATIC_TARGET
LIBWBCLIENT_LIBS=$LIBWBCLIENT_STATIC_TARGET
fi
fi
AC_SUBST(WINBIND_WINS_NSS)
AC_SUBST(WINBIND_NSS_LDSHFLAGS)
AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
-AC_SUBST(WINBIND_NSS_EXTRA_LIBS)
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
-AC_SUBST(PAM_WINBIND_EXTRA_LIBS)
AC_SUBST(WINBIND_KRB5_LOCATOR)
fi
save_LIBS="$LIBS"
- AC_CHECK_LIB(avahi-client, avahi_client_new)
- AC_CHECK_LIB(avahi-common, avahi_strerror)
+ AC_CHECK_LIB(avahi-client, avahi_client_new,[have_avahi_client_new=yes])
+ AC_CHECK_LIB(avahi-common, avahi_strerror,[have_avahi_strerror=yes])
LIBS="$save_LIBS"
- if test x"$ac_cv_lib_ext_avahi_client_avahi_client_new" != x"yes" -o \
- x"$ac_cv_lib_ext_avahi_common_avahi_strerror" != x"yes" ; then
+ if test x"$have_avahi_client_new" != x"yes" -o \
+ x"$have_avahi_strerror" != x"yes" ; then
have_avahi_support=no
fi
SMB_MODULE(rpc_eventlog, \$(RPC_EVENTLOG_OBJ), "bin/librpc_eventlog.$SHLIBEXT", RPC)
SMB_MODULE(rpc_samr, \$(RPC_SAMR_OBJ), "bin/librpc_samr.$SHLIBEXT", RPC)
SMB_MODULE(rpc_rpcecho, \$(RPC_ECHO_OBJ), "bin/librpc_rpcecho.$SHLIBEXT", RPC)
-SMB_SUBSYSTEM(RPC,smbd/server.o)
+SMB_SUBSYSTEM(RPC,smbd/process.o)
SMB_MODULE(idmap_ldap, winbindd/idmap_ldap.o, "bin/ldap.$SHLIBEXT", IDMAP)
SMB_MODULE(idmap_tdb, winbindd/idmap_tdb.o, "bin/tdb.$SHLIBEXT", IDMAP)