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]) 25e08b657dSmrgAC_INIT([libXdmcp], [1.1.5], 26515ec619Smrg [https://gitlab.freedesktop.org/xorg/lib/libxdmcp/-/issues], [libXdmcp]) 27862f5301SmrgAC_CONFIG_SRCDIR([Makefile.am]) 28862f5301SmrgAC_CONFIG_HEADERS([config.h]) 29e08b657dSmrgAC_CONFIG_MACRO_DIRS([m4]) 30e08b657dSmrg 31fc544a13Smrg# Set common system defines for POSIX extensions, such as _GNU_SOURCE 32e08b657dSmrg# Must be called before any macros that run the compiler (like LT_INIT) 33fc544a13Smrg# to avoid autoconf errors. 34fc544a13SmrgAC_USE_SYSTEM_EXTENSIONS 35862f5301Smrg 36862f5301Smrg# Initialize Automake 37515ec619SmrgAM_INIT_AUTOMAKE([foreign dist-xz]) 38ff559fabSmrg 39862f5301Smrg# Initialize libtool 40e08b657dSmrgLT_INIT([win32-dll]) 41ff559fabSmrg 42fc544a13Smrg# Require xorg-macros minimum of 1.16 for unit testing with memory checks 4344dda7b2Smrgm4_ifndef([XORG_MACROS_VERSION], 44fc544a13Smrg [m4_fatal([must install xorg-macros 1.16 or later before running autoconf/autogen])]) 45fc544a13SmrgXORG_MACROS_VERSION(1.16) 4644dda7b2SmrgXORG_DEFAULT_OPTIONS 4744dda7b2SmrgXORG_ENABLE_DOCS 48862f5301SmrgXORG_WITH_XMLTO(0.0.22) 4944dda7b2SmrgXORG_WITH_FOP 50862f5301SmrgXORG_WITH_XSLTPROC 51862f5301SmrgXORG_CHECK_SGML_DOCTOOLS(1.8) 52ff559fabSmrg 53862f5301Smrg# Checks for programs. 54ff559fabSmrgAC_PROG_LN_S 55ff559fabSmrg 56515ec619Smrg# Checks for header files. 57515ec619SmrgAC_CHECK_HEADERS([sys/random.h]) 58515ec619Smrg 59862f5301Smrg# Checks for libraries. 60ff559fabSmrgAC_SEARCH_LIBS([recvfrom],[socket]) 61ff559fabSmrg 626fc0178dSmrgcase $host_os in 636fc0178dSmrg *mingw*) 646fc0178dSmrg AC_CHECK_LIB([ws2_32],[main]) 656fc0178dSmrg ;; 666fc0178dSmrg *) 676fc0178dSmrg ;; 686fc0178dSmrgesac 696fc0178dSmrg 70515ec619Smrg# Checks for non-standard functions and fallback to libbsd if we can 71515ec619Smrg# We only check for arc4random_buf, because if we have that, we don't 72515ec619Smrg# need/use getentropy. 73515ec619SmrgAC_LINK_IFELSE([AC_LANG_CALL([], [arc4random_buf])], 74515ec619Smrg [TRY_LIBBSD="no"], [TRY_LIBBSD="yes"]) 75515ec619SmrgAS_IF([test "x$TRY_LIBBSD" = "xyes"], 76515ec619Smrg [PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay], [ 77515ec619Smrg CFLAGS="$CFLAGS $LIBBSD_CFLAGS" 78515ec619Smrg LIBS="$LIBS $LIBBSD_LIBS" 79515ec619Smrg], [:])]) 80515ec619Smrg 81862f5301Smrg# Checks for library functions. 826fc0178dSmrgAC_CHECK_FUNCS([srand48 lrand48 arc4random_buf getentropy]) 83862f5301Smrg 84515ec619Smrg# Obtain compiler/linker options for dependencies 85ff559fabSmrgPKG_CHECK_MODULES(XDMCP, xproto) 86ff559fabSmrg 87ff559fabSmrgif test -f ${srcdir}/Wraphelp.c; then 88ff559fabSmrg AC_DEFINE(HASXDMAUTH,1,[Has Wraphelp.c needed for XDM AUTH protocols]) 89ff559fabSmrg HASXDMAUTH=yes 90ff559fabSmrgelse 91ff559fabSmrg HASXDMAUTH=no 92ff559fabSmrgfi 93ff559fabSmrg 94ff559fabSmrgAM_CONDITIONAL(HASXDMAUTH,test x$HASXDMAUTH = xyes) 95ff559fabSmrg 96862f5301Smrg# Allow checking code with lint, sparse, etc. 97ff559fabSmrgXORG_WITH_LINT 98ff559fabSmrgXORG_LINT_LIBRARY([Xdmcp]) 99ff559fabSmrg 100fc544a13Smrg# --enable-unit-tests 101fc544a13SmrgXORG_ENABLE_UNIT_TESTS([yes]) 102fc544a13Smrg 103862f5301SmrgAC_CONFIG_FILES([Makefile 104862f5301Smrg doc/Makefile 105fc544a13Smrg test/Makefile 106862f5301Smrg xdmcp.pc]) 107862f5301SmrgAC_OUTPUT 108