configure.ac revision 515ec619
1862f5301Smrg#
2862f5301Smrg#  Copyright © 2003 Keith Packard, Noah Levitt
3862f5301Smrg#
4862f5301Smrg#  Permission to use, copy, modify, distribute, and sell this software and its
5862f5301Smrg#  documentation for any purpose is hereby granted without fee, provided that
6862f5301Smrg#  the above copyright notice appear in all copies and that both that
7862f5301Smrg#  copyright notice and this permission notice appear in supporting
8862f5301Smrg#  documentation, and that the name of Keith Packard not be used in
9862f5301Smrg#  advertising or publicity pertaining to distribution of the software without
10862f5301Smrg#  specific, written prior permission.  Keith Packard makes no
11862f5301Smrg#  representations about the suitability of this software for any purpose.  It
12862f5301Smrg#  is provided "as is" without express or implied warranty.
13862f5301Smrg#
14862f5301Smrg#  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15862f5301Smrg#  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16862f5301Smrg#  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17862f5301Smrg#  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18862f5301Smrg#  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19862f5301Smrg#  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20862f5301Smrg#  PERFORMANCE OF THIS SOFTWARE.
21862f5301Smrg#
22ff559fabSmrg
23862f5301Smrg# Initialize Autoconf
2444dda7b2SmrgAC_PREREQ([2.60])
25515ec619SmrgAC_INIT([libXdmcp], [1.1.4],
26515ec619Smrg        [https://gitlab.freedesktop.org/xorg/lib/libxdmcp/-/issues], [libXdmcp])
27862f5301SmrgAC_CONFIG_SRCDIR([Makefile.am])
28862f5301SmrgAC_CONFIG_HEADERS([config.h])
29fc544a13Smrg# Set common system defines for POSIX extensions, such as _GNU_SOURCE
30fc544a13Smrg# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL)
31fc544a13Smrg# to avoid autoconf errors.
32fc544a13SmrgAC_USE_SYSTEM_EXTENSIONS
33862f5301Smrg
34862f5301Smrg# Initialize Automake
35515ec619SmrgAM_INIT_AUTOMAKE([foreign dist-xz])
36ff559fabSmrg
37862f5301Smrg# Initialize libtool
38862f5301SmrgAC_LIBTOOL_WIN32_DLL
39862f5301SmrgAC_PROG_LIBTOOL
40ff559fabSmrg
41fc544a13Smrg# Require xorg-macros minimum of 1.16 for unit testing with memory checks
4244dda7b2Smrgm4_ifndef([XORG_MACROS_VERSION],
43fc544a13Smrg          [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])])
44fc544a13SmrgXORG_MACROS_VERSION(1.16)
4544dda7b2SmrgXORG_DEFAULT_OPTIONS
4644dda7b2SmrgXORG_ENABLE_DOCS
47862f5301SmrgXORG_WITH_XMLTO(0.0.22)
4844dda7b2SmrgXORG_WITH_FOP
49862f5301SmrgXORG_WITH_XSLTPROC
50862f5301SmrgXORG_CHECK_SGML_DOCTOOLS(1.8)
51ff559fabSmrg
52862f5301Smrg# Checks for programs.
53ff559fabSmrgAC_PROG_LN_S
54ff559fabSmrg
55515ec619Smrg# Checks for header files.
56515ec619SmrgAC_CHECK_HEADERS([sys/random.h])
57515ec619Smrg
58862f5301Smrg# Checks for libraries.
59ff559fabSmrgAC_SEARCH_LIBS([recvfrom],[socket])
60ff559fabSmrg
616fc0178dSmrgcase $host_os in
626fc0178dSmrg     *mingw*)
636fc0178dSmrg        AC_CHECK_LIB([ws2_32],[main])
646fc0178dSmrg        ;;
656fc0178dSmrg     *)
666fc0178dSmrg        ;;
676fc0178dSmrgesac
686fc0178dSmrg
69515ec619Smrg# Checks for non-standard functions and fallback to libbsd if we can
70515ec619Smrg# We only check for arc4random_buf, because if we have that, we don't
71515ec619Smrg# need/use getentropy.
72515ec619SmrgAC_LINK_IFELSE([AC_LANG_CALL([], [arc4random_buf])],
73515ec619Smrg               [TRY_LIBBSD="no"], [TRY_LIBBSD="yes"])
74515ec619SmrgAS_IF([test "x$TRY_LIBBSD" = "xyes"],
75515ec619Smrg      [PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay], [
76515ec619Smrg	CFLAGS="$CFLAGS $LIBBSD_CFLAGS"
77515ec619Smrg	LIBS="$LIBS $LIBBSD_LIBS"
78515ec619Smrg], [:])])
79515ec619Smrg
80862f5301Smrg# Checks for library functions.
816fc0178dSmrgAC_CHECK_FUNCS([srand48 lrand48 arc4random_buf getentropy])
82862f5301Smrg
83515ec619Smrg# Obtain compiler/linker options for dependencies
84ff559fabSmrgPKG_CHECK_MODULES(XDMCP, xproto)
85ff559fabSmrg
86ff559fabSmrgif test -f ${srcdir}/Wraphelp.c; then
87ff559fabSmrg	AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols])
88ff559fabSmrg	HASXDMAUTH=yes
89ff559fabSmrgelse
90ff559fabSmrg	HASXDMAUTH=no
91ff559fabSmrgfi
92ff559fabSmrg
93ff559fabSmrgAM_CONDITIONAL(HASXDMAUTH,test x$HASXDMAUTH = xyes)
94ff559fabSmrg
95862f5301Smrg# Allow checking code with lint, sparse, etc.
96ff559fabSmrgXORG_WITH_LINT
97ff559fabSmrgXORG_LINT_LIBRARY([Xdmcp])
98ff559fabSmrg
99fc544a13Smrg#  --enable-unit-tests
100fc544a13SmrgXORG_ENABLE_UNIT_TESTS([yes])
101fc544a13Smrg
102862f5301SmrgAC_CONFIG_FILES([Makefile
103862f5301Smrg		doc/Makefile
104fc544a13Smrg		test/Makefile
105862f5301Smrg		xdmcp.pc])
106862f5301SmrgAC_OUTPUT
107