1
2# Initialize Autoconf
3AC_PREREQ(2.60)
4AC_INIT([libSM], [1.2.6],
5        [https://gitlab.freedesktop.org/xorg/lib/libsm/-/issues], [libSM])
6AC_CONFIG_SRCDIR([Makefile.am])
7AC_CONFIG_HEADERS([config.h])
8AC_CONFIG_MACRO_DIRS([m4])
9
10# Initialize Automake
11AM_INIT_AUTOMAKE([foreign dist-xz])
12
13# Initialize libtool
14LT_INIT
15
16# Require xorg-macros minimum of 1.12 for DocBook external references
17m4_ifndef([XORG_MACROS_VERSION],
18          [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])])
19XORG_MACROS_VERSION(1.12)
20XORG_DEFAULT_OPTIONS
21XORG_ENABLE_DOCS
22XORG_WITH_XMLTO(0.0.22)
23XORG_WITH_FOP
24XORG_WITH_XSLTPROC
25XORG_CHECK_SGML_DOCTOOLS(1.8)
26
27# Check for UUID support
28AC_ARG_WITH(libuuid, AS_HELP_STRING([--with-libuuid], [Build with libuuid support for client IDs]))
29
30PKG_PROG_PKG_CONFIG()
31AC_CHECK_FUNCS([uuid_create], [], [
32    if test x"$with_libuuid" != xno && test x"$have_system_uuid" != xyes; then
33        PKG_CHECK_MODULES(LIBUUID, uuid, [HAVE_LIBUUID=yes], [HAVE_LIBUUID=no])
34    fi
35    if test x"$with_libuuid" = xyes && test x"$HAVE_LIBUUID" = xno; then
36        AC_MSG_ERROR([requested libuuid support but uuid.pc not found
37        and LIBUUID_CFLAGS and LIBUUID_LIBS not set])
38    fi
39])
40UUID_LIB_PRIVATE=""
41UUID_PC=""
42if test x"$HAVE_LIBUUID" = xyes ; then
43   PKG_CHECK_EXISTS(uuid, [UUID_PC="uuid"])
44   if test x"$UUID_PC" = x ; then
45       UUID_LIB_PRIVATE="$LIBUUID_LIBS"
46   fi
47fi
48AC_SUBST([UUID_LIB_PRIVATE])
49AC_SUBST([UUID_PC])
50
51AM_CONDITIONAL(WITH_LIBUUID, test x"$HAVE_LIBUUID" = xyes)
52
53# If UUID support is not found, fall back to using network addresses
54# to generate client ids
55AS_IF([test x"$HAVE_LIBUUID" != xyes && test x"$ac_cv_func_uuid_create" != xyes],
56      [genid_module="xtrans"
57# Needed to check for TCP & IPv6 support and set flags appropriately
58XTRANS_CONNECTION_FLAGS
59AC_CHECK_FUNCS([getaddrinfo]) ])
60
61# Obtain compiler/linker options for dependencies
62PKG_CHECK_MODULES(SM, [ice >= 1.1.0 xproto $genid_module])
63
64
65AC_CONFIG_FILES([Makefile
66		doc/Makefile
67		src/Makefile
68		sm.pc])
69AC_OUTPUT
70