2694fa9dac
Keeping separate files is more maintainable than merging them into a single aclocal.m4 file. It is easier for users to understand where those files come from. Automake knows how to distribute files in the m4 directory.
254 lines
8.9 KiB
Plaintext
254 lines
8.9 KiB
Plaintext
# Process this file with autoconf to produce a configure script
|
|
|
|
AC_PREREQ(2.59)
|
|
AC_INIT([xrdp], [0.9.0], [xrdp-devel@googlegroups.com])
|
|
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
|
|
AM_INIT_AUTOMAKE([1.6 foreign])
|
|
AC_CONFIG_MACRO_DIRS([m4])
|
|
AC_PROG_CC
|
|
AC_C_CONST
|
|
AC_PROG_LIBTOOL
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
case $host_os in
|
|
*linux*)
|
|
linux=yes
|
|
;;
|
|
*freebsd*)
|
|
freebsd=yes
|
|
;;
|
|
*netbsd*)
|
|
netbsd=yes
|
|
;;
|
|
*openbsd*)
|
|
openbsd=yes
|
|
;;
|
|
esac
|
|
|
|
AM_CONDITIONAL(LINUX, [test "x$linux" = xyes])
|
|
AM_CONDITIONAL(FREEBSD, [test "x$freebsd" = xyes])
|
|
AM_CONDITIONAL(OPENBSD, [test "x$openbsd" = xyes])
|
|
AM_CONDITIONAL(NETBSD, [test "x$netbsd" = xyes])
|
|
|
|
AC_ARG_WITH([systemdsystemunitdir],
|
|
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
|
|
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
|
if test "x$with_systemdsystemunitdir" != xno; then
|
|
AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
|
|
fi
|
|
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
|
|
|
|
AC_ARG_ENABLE(pam, AS_HELP_STRING([--disable-pam],
|
|
[Build PAM support (default: yes)]),
|
|
[], [enable_pam=yes])
|
|
AC_ARG_ENABLE(nopam, AS_HELP_STRING([--enable-nopam],
|
|
[Build no PAM support (default: no, deprecated)]),
|
|
[
|
|
if test "x$enable_nopam" = "xyes"
|
|
then
|
|
enable_pam=no
|
|
AC_MSG_WARN([--enable-nopam option is deprecated. Please use --disable-pam instead.])
|
|
fi
|
|
])
|
|
AM_CONDITIONAL(SESMAN_NOPAM, [test x$enable_pam != xyes])
|
|
AC_ARG_ENABLE(ipv6, AS_HELP_STRING([--enable-ipv6],
|
|
[Build IPv6 support (default: no, experimental)]),
|
|
[], [enable_ipv6=no])
|
|
AC_ARG_ENABLE(kerberos, AS_HELP_STRING([--enable-kerberos],
|
|
[Build kerberos support (default: no)]),
|
|
[], [enable_kerberos=no])
|
|
AC_ARG_ENABLE(bsd, AS_HELP_STRING([--enable-bsd],
|
|
[Build BSD auth support (default: no)]),
|
|
[bsd=true], [bsd=false])
|
|
AM_CONDITIONAL(SESMAN_BSD, [test x$bsd = xtrue])
|
|
AM_CONDITIONAL(SESMAN_KERBEROS, [test x$enable_kerberos = xyes])
|
|
AC_ARG_ENABLE(pamuserpass, AS_HELP_STRING([--enable-pamuserpass],
|
|
[Build pam userpass support (default: no)]),
|
|
[], [enable_pamuserpass=no])
|
|
AM_CONDITIONAL(SESMAN_PAMUSERPASS, [test x$enable_pamuserpass = xyes])
|
|
AC_ARG_ENABLE(xrdpdebug, AS_HELP_STRING([--enable-xrdpdebug],
|
|
[Build debug (default: no)]),
|
|
[], [enable_xrdpdebug=no])
|
|
AM_CONDITIONAL(XRDP_DEBUG, [test x$enable_xrdpdebug = xyes])
|
|
AC_ARG_ENABLE(neutrinordp, AS_HELP_STRING([--enable-neutrinordp],
|
|
[Build neutrinordp module (default: no)]),
|
|
[], [enable_neutrinordp=no])
|
|
AM_CONDITIONAL(XRDP_NEUTRINORDP, [test x$enable_neutrinordp = xyes])
|
|
AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--enable-jpeg],
|
|
[Build jpeg module (default: no)]),
|
|
[], [enable_jpeg=no])
|
|
AM_CONDITIONAL(XRDP_JPEG, [test x$enable_jpeg = xyes])
|
|
AC_ARG_ENABLE(tjpeg, AS_HELP_STRING([--enable-tjpeg],
|
|
[Build turbo jpeg module (default: no)]),
|
|
[], [enable_tjpeg=no])
|
|
AM_CONDITIONAL(XRDP_TJPEG, [test x$enable_tjpeg = xyes])
|
|
AC_ARG_ENABLE(fuse, AS_HELP_STRING([--enable-fuse],
|
|
[Build fuse(clipboard file / drive redir) (default: no)]),
|
|
[], [enable_fuse=no])
|
|
AM_CONDITIONAL(XRDP_FUSE, [test x$enable_fuse = xyes])
|
|
AC_ARG_ENABLE(xrdpvr, AS_HELP_STRING([--enable-xrdpvr],
|
|
[Build xrdpvr module (default: no)]),
|
|
[], [enable_xrdpvr=no])
|
|
AM_CONDITIONAL(XRDP_XRDPVR, [test x$enable_xrdpvr = xyes])
|
|
AC_ARG_ENABLE(rfxcodec, AS_HELP_STRING([--enable-rfxcodec],
|
|
[Build using librfxcodec (default: no)]),
|
|
[], [enable_rfxcodec=no])
|
|
AM_CONDITIONAL(XRDP_RFXCODEC, [test x$enable_rfxcodec = xyes])
|
|
AC_ARG_ENABLE(opus, AS_HELP_STRING([--enable-opus],
|
|
[Build opus(audio codec) (default: no)]),
|
|
[], [enable_opus=no])
|
|
AM_CONDITIONAL(XRDP_OPUS, [test x$enable_opus = xyes])
|
|
|
|
# checking for openssl
|
|
AC_CHECK_HEADER([openssl/rc4.h], [],
|
|
[AC_MSG_ERROR([please install libssl-dev or openssl-devel])],
|
|
[#include <stdlib.h>])
|
|
|
|
# checking for pam variation
|
|
# Linux-PAM is used in Linux systems
|
|
# OpenPAM is used by FreeBSD, NetBSD, DragonFly BSD and OS X
|
|
# OpenBSD uses BSD Authentication rather than both PAMs
|
|
AC_CHECK_HEADER([security/_pam_types.h],
|
|
[AC_DEFINE([HAVE__PAM_TYPES_H], 1, [Using Linux-PAM], [])])
|
|
AC_CHECK_HEADER([security/pam_constants.h],
|
|
[AC_DEFINE([HAVE_PAM_CONSTANTS_H], 1, [Using OpenPAM], [])])
|
|
|
|
# checking if pam should be autodetected.
|
|
if test "x$enable_pam" = "xyes"
|
|
then
|
|
if test "x$enable_kerberos" != "xyes"
|
|
then
|
|
if test -z "$enable_bsd"
|
|
then
|
|
AC_CHECK_HEADER([security/pam_appl.h], [],
|
|
[AC_MSG_ERROR([please install libpam0g-dev or pam-devel])])
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test "x$enable_ipv6" = "xyes"
|
|
then
|
|
AC_DEFINE([XRDP_ENABLE_IPV6],1,[Enable IPv6])
|
|
fi
|
|
|
|
AC_CHECK_MEMBER([struct in6_addr.s6_addr],
|
|
[],
|
|
[AC_DEFINE(NO_ARPA_INET_H_IP6, 1, [for IPv6])],
|
|
[#include <arpa/inet.h>])
|
|
|
|
if test "x$enable_pam" != "xyes" || test "x$bsd" = "xtrue"
|
|
then
|
|
AC_DEFINE([USE_NOPAM],1,[Disable PAM])
|
|
fi
|
|
|
|
AS_IF( [test "x$enable_neutrinordp" = "xyes"] , [PKG_CHECK_MODULES(FREERDP, freerdp >= 1.0.0)] )
|
|
|
|
# checking for libjpeg
|
|
if test "x$enable_jpeg" = "xyes"
|
|
then
|
|
AC_CHECK_HEADER([jpeglib.h], [],
|
|
[AC_MSG_ERROR([please install libjpeg-dev or libjpeg-devel])])
|
|
fi
|
|
|
|
if test "x$enable_xrdpdebug" = "xyes"
|
|
then
|
|
CFLAGS="-g -O0"
|
|
fi
|
|
|
|
# checking for fuse
|
|
if test "x$enable_fuse" = "xyes"
|
|
then
|
|
PKG_CHECK_MODULES([FUSE], [fuse >= 2.6], [],
|
|
[AC_MSG_ERROR([please install libfuse-dev or fuse-devel])])
|
|
fi
|
|
|
|
# checking for opus
|
|
if test "x$enable_opus" = "xyes"
|
|
then
|
|
AC_CHECK_HEADER([opus/opus.h], [],
|
|
[AC_MSG_ERROR([please install libopus-dev or opus-devel])])
|
|
fi
|
|
|
|
# checking for TurboJPEG
|
|
if test "x$enable_tjpeg" = "xyes"
|
|
then
|
|
if test ! -z "$TURBOJPEG_PATH"
|
|
then
|
|
# env var TURBOJPEG_PATH has been defined, use that
|
|
AC_CHECK_HEADER([$TURBOJPEG_PATH/include/turbojpeg.h], [],
|
|
[AC_MSG_ERROR([could not find TurboJPEG in dir specified by env variable TURBOJPEG_PATH ($TURBOJPEG_PATH)])])
|
|
|
|
AC_SUBST(TurboJpegIncDir, ["-I$TURBOJPEG_PATH/include"])
|
|
AC_SUBST(TurboJpegLibDir, ["-L$TURBOJPEG_PATH/lib -Wl,-rpath -Wl,$TURBOJPEG_PATH/lib"])
|
|
elif test -e /opt/libjpeg-turbo/lib64
|
|
then
|
|
# TurboJPEG has been installed to /opt on a 64 bit m/c
|
|
AC_SUBST(TurboJpegIncDir, ["-I/opt/libjpeg-turbo/include"])
|
|
AC_SUBST(TurboJpegLibDir, ["-L/opt/libjpeg-turbo/lib64 -Wl,-rpath -Wl,/opt/libjpeg-turbo/lib64"])
|
|
elif test -e /opt/libjpeg-turbo/lib32
|
|
then
|
|
# TurboJPEG has been installed to /opt on a 32 bit m/c
|
|
AC_SUBST(TurboJpegIncDir, ["-I/opt/libjpeg-turbo/include"])
|
|
AC_SUBST(TurboJpegLibDir, ["-L/opt/libjpeg-turbo/lib32 -Wl,-rpath -Wl,/opt/libjpeg-turbo/lib32"])
|
|
else
|
|
# check in default location
|
|
AC_CHECK_HEADER([/usr/include/turbojpeg.h], [],
|
|
[AC_MSG_ERROR([please install TurboJPEG ])])
|
|
AC_SUBST(TurboJpegIncDir, [""])
|
|
AC_SUBST(TurboJpegLibDir, [""])
|
|
fi
|
|
fi
|
|
|
|
# checking for Xlib, Xfixes
|
|
AC_CHECK_HEADER([X11/Xlib.h], [],
|
|
[AC_MSG_ERROR([please install libx11-dev or libX11-devel])])
|
|
AC_CHECK_HEADER([X11/extensions/Xfixes.h], [],
|
|
[AC_MSG_ERROR([please install libx11-dev and libxfixes-dev or libXfixes-devel])],
|
|
[#include <X11/Xlib.h>])
|
|
AC_CHECK_HEADER([X11/extensions/Xrandr.h], [],
|
|
[AC_MSG_ERROR([please install libxrandr-dev or libXrandr-devel])],
|
|
[#include <X11/Xlib.h>])
|
|
|
|
libdir="${libdir}/xrdp";
|
|
if test "x${prefix}" = "xNONE" ; then
|
|
sysconfdir="/etc";
|
|
localstatedir="/var";
|
|
fi
|
|
AC_CONFIG_FILES([Makefile
|
|
common/Makefile
|
|
vnc/Makefile
|
|
rdp/Makefile
|
|
libxrdp/Makefile
|
|
xup/Makefile
|
|
mc/Makefile
|
|
neutrinordp/Makefile
|
|
xrdp/Makefile
|
|
sesman/Makefile
|
|
sesman/libscp/Makefile
|
|
sesman/tools/Makefile
|
|
sesman/sessvc/Makefile
|
|
sesman/chansrv/Makefile
|
|
keygen/Makefile
|
|
docs/Makefile
|
|
docs/man/Makefile
|
|
instfiles/Makefile
|
|
instfiles/pam.d/Makefile
|
|
instfiles/init.d/Makefile
|
|
instfiles/rc.d/Makefile
|
|
instfiles/default/Makefile
|
|
instfiles/pulse/Makefile
|
|
genkeymap/Makefile
|
|
xrdpapi/Makefile
|
|
xrdpvr/Makefile
|
|
])
|
|
# fontdump/Makefile
|
|
# xrdp/cursors/Makefile
|
|
# Xserver/hw/rdp/Makefile
|
|
AC_OUTPUT
|
|
|
|
# example of how to check for a struct in a header
|
|
#AC_CHECK_MEMBER([struct in6_addr.s6_addr],
|
|
# [],
|
|
# [AC_DEFINE(NO_ARPA_INET_H_IP6, 1, [for IPv6])],
|
|
# [#include <arpa/inet.h>])
|