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