To clarify the relation between disabling TLS support and allowing to dlopen Xenomai skin library, introduce an explicit configure switch. This way we will also have a control to disable auto-shadowing in the POSIX skin for dlopen scenarios.
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- configure.in | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 1d7f5fa..679af96 100644 --- a/configure.in +++ b/configure.in @@ -758,15 +758,30 @@ LIBS="$LIBS -lrt" AC_CHECK_FUNCS([shm_open shm_unlink]) LIBS="$save_LIBS" +AC_MSG_CHECKING(whether to enable dlopen support for skin libraries) +AC_ARG_ENABLE(dlopen-skins, + AC_HELP_STRING([--enable-dlopen-skins], [Disable TLS features and +automatic main thread mapping by the POSIX skin to allows dlopen'ing Xenomai +libs.]), + [case "$enableval" in + y | yes) CONFIG_XENO_LIBS_DLOPEN=y ;; + *) unset CONFIG_XENO_LIBS_DLOPEN ;; + esac]) +AC_MSG_RESULT(${CONFIG_XENO_LIBS_DLOPEN:-no}) +if test x$CONFIG_XENO_LIBS_DLOPEN = xy; then + AC_DEFINE(CONFIG_XENO_LIBS_DLOPEN,1,[config]) +fi + XENO_DLOPEN_CONSTRAINT= + AC_ARG_WITH([__thread], AC_HELP_STRING([--without-__thread], - [do not use TLS features (allows for dlopen'ing Xenomai libs)]), + [do not use TLS features]), [use__thread=$withval], [use__thread=yes]) dnl Check whether the compiler supports the __thread keyword. -if test "x$use__thread" != xno; then +if test "x$use__thread" != xno -a "x$CONFIG_XENO_LIBS_DLOPEN" != xy; then AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread, [cat > conftest.c <<\EOF __thread int a __attribute__ ((tls_model ("initial-exec"))) = 42; _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core