summaryrefslogtreecommitdiff
path: root/source3/m4/aclocal.m4
diff options
context:
space:
mode:
Diffstat (limited to 'source3/m4/aclocal.m4')
-rw-r--r--source3/m4/aclocal.m467
1 files changed, 67 insertions, 0 deletions
diff --git a/source3/m4/aclocal.m4 b/source3/m4/aclocal.m4
index fd9efb60e6..888c49db37 100644
--- a/source3/m4/aclocal.m4
+++ b/source3/m4/aclocal.m4
@@ -53,6 +53,73 @@ AC_DEFUN(SMB_SUBSYSTEM,
ifelse([$2], , :, [rm -f $2])
])
+
+dnl SMB_LIBRARY(name)
+dnl
+dnl configure build and use of an (internal) shared library
+dnl
+AC_DEFUN([SMB_LIBRARY],
+[
+m4_pushdef([LIBNAME], [lib$1])
+m4_pushdef([LIBUC], [m4_toupper(LIBNAME)])
+m4_pushdef([LIBLIBS], [-l$1])
+
+LIBUC[_SHARED_TARGET]=bin/LIBNAME.$SHLIBEXT
+LIBUC[_STATIC_TARGET]=bin/LIBNAME.a
+LIBUC[_SHARED]=
+LIBUC[_STATIC]=
+LIBUC[_LIBS]=
+
+AC_SUBST(LIBUC[_SHARED_TARGET])
+AC_SUBST(LIBUC[_STATIC_TARGET])
+AC_SUBST(LIBUC[_SHARED])
+AC_SUBST(LIBUC[_STATIC])
+AC_SUBST(LIBUC[_LIBS])
+
+AC_MSG_CHECKING([whether to build the LIBNAME shared library])
+AC_ARG_WITH(LIBNAME,
+[AS_HELP_STRING([--with-LIBNAME],
+ [Build the LIBNAME shared library (default=yes if shared libs supported)])],
+[
+case "$withval" in
+ *)
+ AC_MSG_RESULT(no)
+ build_lib=no
+ ;;
+ yes)
+ build_lib=yes
+ ;;
+esac
+],
+[
+# if unspecified, default is to build it if possible.
+build_lib=yes
+]
+)
+
+if eval test x"$build_lib" = "xyes" -a $BLDSHARED = true; then
+ LIBUC[_SHARED]=$LIBUC[_SHARED_TARGET]
+ AC_MSG_RESULT(yes)
+ if test x"$USESHARED" != x"true" -o x"$LINK_LIBUC" = "xSTATIC" ; then
+ LIBUC[_STATIC]=$LIBUC[_STATIC_TARGET]
+ else
+ LIBUC[_LIBS]=LIBLIBS
+ fi
+else
+ enable_static=yes
+ AC_MSG_RESULT(no shared library support -- will supply static library)
+fi
+if test $enable_static = yes; then
+ LIBUC[_STATIC]=$LIBUC[_STATIC_TARGET]
+fi
+
+m4_popdef([LIBNAME])
+m4_popdef([LIBUC])
+m4_popdef([LIBLIBS])
+
+])
+
+
dnl AC_LIBTESTFUNC(lib, function, [actions if found], [actions if not found])
dnl Check for a function in a library, but don't keep adding the same library
dnl to the LIBS variable. Check whether the function is available in the