configure.ac revision 4901b09e
1dnl Copyright 2005 Red Hat, Inc. 2dnl 3dnl Permission to use, copy, modify, distribute, and sell this software and its 4dnl documentation for any purpose is hereby granted without fee, provided that 5dnl the above copyright notice appear in all copies and that both that 6dnl copyright notice and this permission notice appear in supporting 7dnl documentation, and that the name of Red Hat not be used in 8dnl advertising or publicity pertaining to distribution of the software without 9dnl specific, written prior permission. Red Hat makes no 10dnl representations about the suitability of this software for any purpose. It 11dnl is provided "as is" without express or implied warranty. 12dnl 13dnl RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 14dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 15dnl EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR 16dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 17dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 18dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 19dnl PERFORMANCE OF THIS SOFTWARE. 20dnl 21dnl Process this file with autoconf to create configure. 22 23# Initialize Autoconf 24AC_PREREQ([2.60]) 25AC_INIT([xdm], [1.1.16], 26 [https://gitlab.freedesktop.org/xorg/app/xdm/-/issues], [xdm]) 27AC_USE_SYSTEM_EXTENSIONS 28AC_CONFIG_SRCDIR([Makefile.am]) 29AC_CONFIG_MACRO_DIR([m4]) 30AC_CONFIG_HEADERS(config.h) 31 32# Initialize Automake 33AM_INIT_AUTOMAKE([foreign dist-xz]) 34 35# Initialize libtool 36LT_INIT([disable-static dlopen]) 37 38# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS 39m4_ifndef([XORG_MACROS_VERSION], 40 [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) 41XORG_MACROS_VERSION(1.8) 42XORG_DEFAULT_OPTIONS 43XORG_PROG_RAWCPP 44XORG_WITH_LINT 45 46# Checks for programs. 47# Check for mktemp to prevent security issue noted in Xorg bug #5898 48# See https://bugs.freedesktop.org/show_bug.cgi?id=5898 for details. 49AC_PATH_PROG(MKTEMP_COMMAND, mktemp) 50AM_CONDITIONAL(HAVE_MKTEMP_COMMAND, test x$MKTEMP_COMMAND != x) 51 52#------------------------------------------------------------------------------ 53# Check for system libraries 54# 55# AC_SEARCH_LIBS: tests using $LIBS and tests again with each listed library. 56# pre-pends the found library to $LIBS. 57# 58#------------------------------------------------------------------------------ 59 60PKG_CHECK_MODULES([XDM], [xmu x11 xau xproto >= 7.0.17]) 61PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay], [:], [:]) 62 63dnl Check in libbsd for functions that might be there if not already found 64dnl XDM_SEARCH_LIBBSD(FUNCTION, PROGRAM, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 65AC_DEFUN([XDM_SEARCH_LIBBSD],[ 66if test "x$ac_cv_search_$1" = "xno"; then 67 if test "x$LIBBSD_LIBS" != "x"; then 68 AC_MSG_CHECKING([for $1 in libbsd]) 69 xdm_save_LIBS="$LIBS" 70 LIBS="$LIBS $[$2]_LIBS $LIBBSD_LIBS" 71 AC_LINK_IFELSE([AC_LANG_CALL([], [$1])], [xdm_res="yes"], [xdm_res="no"]) 72 LIBS="$xdm_save_LIBS" 73 AS_IF([test "x$xdm_res" = "xyes"], [ 74 $2_CFLAGS="$[$2]_CFLAGS $LIBBSD_CFLAGS" 75 $2_LIBS="$[$2]_LIBS $LIBBSD_LIBS" 76 [$3]], [$4]) 77 AC_MSG_RESULT([$xdm_res]) 78 fi 79fi]) 80 81# Function getifaddrs() comes from the C library, Solaris 11 -lsocket, or 82# the -lnsl name service library 83AC_SEARCH_LIBS([getifaddrs], [socket nsl]) 84 85# Function getspnam() comes from the C library, System V -lsec, UnixWare 7 -lgen 86# or Old Linux versions -lshadow 87AC_SEARCH_LIBS([getspnam], [sec gen shadow]) 88 89# Function setproctitle() is in BSD -lutil or GNU systems -lbsd but N/A on Solaris 90AC_SEARCH_LIBS([setproctitle], [util]) 91XDM_SEARCH_LIBBSD([setproctitle], [XDM]) 92 93# Function setusercontext() is in BSD -lutil but N/A on Solaris or GNU systems 94AC_SEARCH_LIBS([setusercontext], [util]) 95 96# Function arc4random() is in BSD standard C, glibc 2.36+, or GNU systems -lbsd 97AC_SEARCH_LIBS([arc4random], [], [HAVE_ARC4RANDOM="yes"]) 98XDM_SEARCH_LIBBSD([arc4random], [XDM], [HAVE_ARC4RANDOM="yes"]) 99AC_SUBST(HAVE_ARC4RANDOM) 100AM_CONDITIONAL(HAVE_ARC4RANDOM, test x$HAVE_ARC4RANDOM = xyes) 101 102# Function crypt() comes from the C library or the -lcrypt data encryption library 103AC_SEARCH_LIBS(crypt, crypt) 104 105# Function dl() comes from the C library or -ldl 106AC_SEARCH_LIBS([dlopen], [dl]) 107#------------------------------------------------------------------------------ 108 109# Checks for header files. 110AC_CHECK_HEADERS([grp.h syslog.h sys/param.h]) 111AC_CHECK_DECL(key_setnet, 112 AC_DEFINE(HAVE_DECL_KEY_SETNET,1, 113 [Define to 1 if your headers define the key_setnet() function.]), 114 [],[ 115#include <rpc/rpc.h> 116#include <rpc/key_prot.h> 117]) 118 119# Check for system library functions 120# Required system libraries have been searched for and are listed in $LIBS 121AC_FUNC_FORK 122xdm_save_LIBS="$LIBS" 123LIBS="$LIBS $XDM_LIBS" 124AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle setusercontext \ 125 mkstemp getifaddrs getspnam arc4random]) 126LIBS="$xdm_save_LIBS" 127 128# Find needed libraries for TCP sockets (pre-pended in $LIBS) 129XTRANS_CONNECTION_FLAGS 130 131# Sets $SECURE_RPC to "yes" or "no" using libraries found above from $LIBS 132XTRANS_SECURE_RPC_FLAGS 133AM_CONDITIONAL(HAS_SECURE_RPC, test x$SECURE_RPC = xyes) 134 135# Check for pluggable authentication modules (PAM) support 136AC_ARG_WITH(pam, AS_HELP_STRING([--with-pam], 137 [Use PAM for authentication (default is autodetected)]), 138 [USE_PAM=$withval], [USE_PAM=auto]) 139if test "x$USE_PAM" != "xno" ; then 140 AC_CHECK_HEADERS([security/pam_appl.h pam/pam_appl.h], 141 [found=yes ; break ;], [found=no]) 142 AS_IF([test "x$USE_PAM" = "xyes" -a "x$found" = "xno"], 143 [AC_MSG_ERROR([PAM support requested, but we could not find the pam headers.])]) 144 AC_SEARCH_LIBS([pam_open_session], [pam], 145 [AC_CHECK_FUNC([pam_open_session], 146 [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])] 147 )], 148 [AS_IF([test "x$USE_PAM" = "xyes"], 149 [AC_MSG_ERROR([PAM support requested, but pam_open_session not found.])] 150 )] 151 ) 152fi 153 154# Check for Security-Enhanced Linux (SELinux) support 155AC_ARG_WITH(selinux, AS_HELP_STRING([--with-selinux], 156 [Add support for SELinux (default is no support)]), 157 [USE_SELINUX=$withval], [USE_SELINUX=no]) 158if test "x$USE_SELINUX" != "xno" ; then 159 AC_SEARCH_LIBS(is_selinux_enabled, [selinux], 160 [AC_CHECK_FUNC([is_selinux_enabled], 161 [AC_DEFINE(USE_SELINUX,1,[Use Security-Enhanced Linux (SELinux) support])] 162 )], 163 [AS_IF([test "x$USE_SELINUX" = "xyes"], 164 [AC_MSG_ERROR([SELinux support requested, but is_selinux_enabled not found.])] 165 )] 166 ) 167fi 168 169# Check whether to install systemd unit files, as suggested in daemon(7). 170# When a full path is specified, this does not require systemd installed. 171AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], 172 [Directory for systemd service files (default from the System and Service Manager)]),, 173 [with_systemdsystemunitdir=auto]) 174AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ 175 def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) 176 177 AS_IF([test "x$def_systemdsystemunitdir" = "x"], [ 178 AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], [ 179 AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package]) 180 ]) 181 with_systemdsystemunitdir=no 182 ], [ 183 with_systemdsystemunitdir=$def_systemdsystemunitdir 184 ]) 185]) 186AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ 187 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) 188]) 189AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"]) 190 191# Check whether to enable systemd startup notification. 192# This requires libsystemd. 193AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon], 194 [Add support for systemd startup notification (default is autodetected)]), 195 [USE_SYSTEMD_DAEMON=$withval], 196 PKG_CHECK_EXISTS(libsystemd, [USE_SYSTEMD_DAEMON="yes"], [USE_SYSTEMD_DAEMON="no"])) 197AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ 198 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd], 199 [AC_DEFINE(USE_SYSTEMD_DAEMON,1 ,[Use systemd startup notification])], 200 [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"], 201 [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd not found.])] 202 )] 203 ) 204]) 205AM_CONDITIONAL(USE_SYSTEMD_DAEMON, [test "x$USE_SYSTEMD_DAEMON" = "xyes"]) 206 207# FIXME: Find better test for which OS'es use su -m - for now, just try to 208# mirror the Imakefile setting of: 209# if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture) 210 211 212case $host_os in 213 linux*|gnu*|*-gnu) 214 SU="su" 215 ;; 216 darwin*) 217 SU="su -m" 218 ;; 219 *bsd*|dragonfly*) 220 SU="su -m" 221 ;; 222 solaris*|sysv4*) 223 SU="su" 224 ;; 225 *) 226 SU="su" 227 ;; 228esac 229AC_SUBST(SU) 230 231# Define a configure option to locate a special file (/dev/random or /dev/urandom) 232# that serves as a random or a pseudorandom number generator 233AC_ARG_WITH(random-device, AS_HELP_STRING([--with-random-device\[=<pathname>\]], 234 [Use <pathname> as a source of randomness (default is auto-detected)]), 235 [USE_DEVICE="$withval"], [USE_DEVICE="auto"]) 236if test x$USE_DEVICE != xno ; then 237 if test x$USE_DEVICE = xyes -o x$USE_DEVICE = xauto ; then 238 AC_CHECK_FILE([/dev/urandom], [DEV_RANDOM=/dev/urandom], 239 [AC_CHECK_FILE([/dev/random], [DEV_RANDOM=/dev/random], 240 [AS_IF([test "x$USE_DEVICE" = "xyes"], 241 [AC_MSG_ERROR([random device support requested, but no random device was found.])] 242 )] 243 )] 244 ) 245 else 246 # assume the user input is a valid path to a random number generator 247 DEV_RANDOM=$USE_DEVICE 248 fi 249 if test x$DEV_RANDOM != x ; then 250 AC_DEFINE_UNQUOTED(DEV_RANDOM,"$DEV_RANDOM", [Define to device that provides random data source]) 251 fi 252fi 253AC_SUBST(DEV_RANDOM) 254 255# FIXME: find out how to check for these things. Note that Kerberos was 256# turned off everywhere but on OpenBSD. 257AM_CONDITIONAL(HAS_KERBEROS_FIVE, false) 258 259 260# Figure out where everything goes in the filesystem 261 262AC_ARG_WITH(xdmlibdir, 263 AS_HELP_STRING([--with-xdmlibdir=<pathname>], 264 [specify directory for xdm scripts and modules (default=${libdir}/X11/xdm)]), 265 [XDMLIBDIR="$withval"], [XDMLIBDIR="${libdir}/X11/xdm"]) 266AC_SUBST(XDMLIBDIR) 267 268AC_ARG_WITH(xdmconfigdir, 269 AS_HELP_STRING([--with-xdmconfigdir=<pathname>], 270 [specify directory for xdm config files (default is same as xdmlibdir)]), 271 [XDMCONFIGDIR="$withval"], [XDMCONFIGDIR="${XDMLIBDIR}"]) 272AC_SUBST(XDMCONFIGDIR) 273 274AC_ARG_WITH(xdmscriptdir, 275 AS_HELP_STRING([--with-xdmscriptdir=<pathname>], 276 [specify directory for xdm scripts (default is same as xdmlibdir)]), 277 [XDMSCRIPTDIR="$withval"], [XDMSCRIPTDIR="${XDMLIBDIR}"]) 278AC_SUBST(XDMSCRIPTDIR) 279 280AC_ARG_WITH(logdir, 281 AS_HELP_STRING([--with-logdir=<pathname>], 282 [specify directory for xdm log files (default=/var/log)]), 283 [XDMLOGDIR="$withval"], [XDMLOGDIR="/var/log"]) 284AC_SUBST(XDMLOGDIR) 285 286AC_ARG_WITH(piddir, 287 AS_HELP_STRING([--with-piddir=<pathname>], 288 [specify directory for xdm pid files (default=/var/run)]), 289 [XDMPIDDIR="$withval"], [XDMPIDDIR="/var/run"]) 290AC_SUBST(XDMPIDDIR) 291 292AC_ARG_WITH(default-vt, 293 AS_HELP_STRING([--with-default-vt=<vtname>], 294 [specify default vt to start xdm on (default=none)]), 295 [DEFAULTVT="$withval"], [[DEFAULTVT=""]]) 296AC_SUBST(DEFAULTVT) 297 298AC_ARG_WITH(config-type, 299 AS_HELP_STRING([--with-config-type={ws|fs}], 300 [default config file type to use - workstation (ws) or fileserver (fs) (default=ws)]), 301 [SERVERSTYPE="$withval"], [SERVERSTYPE="ws"]) 302AC_SUBST(SERVERSTYPE) 303 304AC_ARG_WITH(utmp_file, 305 AS_HELP_STRING([--with-utmp-file=<pathname>], 306 [specify file to pass to sessreg -u for current logins]) 307AS_HELP_STRING([--without-utmp-file], 308 [specify passing "none" to sessreg -u to not record logins in utmp]), 309 [UTMP_FILE="$withval"]) 310if test "x$UTMP_FILE" = "xyes" ; then 311 UTMP_FILE="" 312elif test "x$UTMP_FILE" = "xno" ; then 313 UTMP_FILE="none" 314fi 315AC_MSG_CHECKING([for path to file listing current logins for sessreg]) 316if test "x$UTMP_FILE" = "x" ; then 317 AC_MSG_RESULT([use sessreg default]) 318else 319 AC_MSG_RESULT([$UTMP_FILE]) 320fi 321AM_CONDITIONAL(SET_UTMP_FILE, test x$UTMP_FILE != x) 322AC_SUBST(UTMP_FILE) 323 324AC_ARG_WITH(wtmp_file, 325 AS_HELP_STRING([--with-wtmp-file=<pathname>], 326 [specify file to pass to sessreg -w for login history]) 327AS_HELP_STRING([--without-wtmp-file], 328 [specify passing "none" to sessreg -w to not record logins in wtmp]), 329 [WTMP_FILE="$withval"]) 330if test "x$WTMP_FILE" = "xyes" ; then 331 WTMP_FILE="" 332elif test "x$WTMP_FILE" = "xno" ; then 333 WTMP_FILE="none" 334fi 335AC_MSG_CHECKING([for path to file listing login history for sessreg]) 336if test "x$WTMP_FILE" = "x" ; then 337 AC_MSG_RESULT([use sessreg default]) 338else 339 AC_MSG_RESULT([$WTMP_FILE]) 340fi 341AM_CONDITIONAL(SET_WTMP_FILE, test x$WTMP_FILE != x) 342AC_SUBST(WTMP_FILE) 343 344case $host_os in 345 *sco*|*solaris*) 346 SHELL_CMD="/bin/ksh" ;; 347 *) SHELL_CMD="/bin/sh" ;; 348esac 349AC_SUBST(SHELL_CMD) 350 351# Checks for pkg-config packages 352 353AC_ARG_WITH(xinerama, 354 AS_HELP_STRING([--with-xinerama], 355 [Use Xinerama (default is YES if installed)]), 356 [USE_XINERAMA="$withval"], 357 PKG_CHECK_EXISTS(xinerama, [USE_XINERAMA="yes"], [USE_XINERAMA="no"])) 358 359if test "x$USE_XINERAMA" = "xyes" ; then 360 AC_DEFINE([USE_XINERAMA], 1, 361 [Define to 1 to use XINERAMA in greeter & chooser]) 362 PKG_CHECK_MODULES(XINERAMA, xinerama) 363 CHOOSER_CFLAGS="$CHOOSER_CFLAGS $XINERAMA_CFLAGS" 364 CHOOSER_LIBS="$CHOOSER_LIBS $XINERAMA_LIBS" 365 GREETER_CFLAGS="$GREETER_CFLAGS $XINERAMA_CFLAGS" 366 GREETER_LIBS="$GREETER_LIBS $XINERAMA_LIBS" 367fi 368 369# Xft text drawing for the greeter screen 370AC_ARG_WITH(xft, 371 AS_HELP_STRING([--with-xft], 372 [Use Xft to draw text (default is YES if installed)]), 373 [USE_XFT="$withval"], 374 PKG_CHECK_EXISTS(xft xrender, [USE_XFT="yes"], [USE_XFT="no"])) 375 376if test "x$USE_XFT" = "xyes" ; then 377 PKG_CHECK_MODULES(XFT, xft xrender) 378 GREETER_CFLAGS="$GREETER_CFLAGS $XFT_CFLAGS" 379 GREETER_LIBS="$GREETER_LIBS $XFT_LIBS" 380 AC_DEFINE([USE_XFT], 1, 381 [Define to 1 to use Xft for text on greeter screen]) 382fi 383 384# XPM logos for the greeter screen 385AC_ARG_ENABLE(xpm-logos, 386 AS_HELP_STRING([--enable-xpm-logos], 387 [Display xpm logos in greeter (default is YES)]), 388 [USE_XPM="$enableval"], 389 PKG_CHECK_EXISTS(xpm, [USE_XPM="yes"], [USE_XPM="no"])) 390if test "x$USE_XPM" = "xyes" ; then 391 PKG_CHECK_MODULES(XPM, xpm) 392 GREETER_CFLAGS="$GREETER_CFLAGS $XPM_CFLAGS" 393 GREETER_LIBS="$GREETER_LIBS $XPM_LIBS" 394 AC_DEFINE([XPM], 1, 395 [Define to 1 to display XPM logos on greeter screen]) 396fi 397AM_CONDITIONAL(USE_XPM, test "x$USE_XPM" = "xyes") 398 399AC_ARG_WITH(color-pixmap, 400 AS_HELP_STRING([--with-color-pixmap=<filename>], 401 [specify xpm file to use as color logo (default=xorg.xpm)]), 402 [XDM_PIXMAP="$withval"], [XDM_PIXMAP="xorg.xpm"]) 403AC_ARG_WITH(bw-pixmap, 404 AS_HELP_STRING([--with-bw-pixmap=<filename>], 405 [specify xpm file to use as black-and-white logo (default=xorg-bw.xpm)]), 406 [XDM_BWPIXMAP="$withval"], [XDM_BWPIXMAP="xorg-bw.xpm"]) 407AC_ARG_WITH(pixmapdir, 408 AS_HELP_STRING([--with-pixmapdir=<pathname>], 409 [specify directory for xpm files (default=xdmlibdir/pixmaps)]), 410 [XDM_PIXMAPDIR="$withval"], 411 [XDM_PIXMAPDIR='${XDMLIBDIR}/pixmaps']) 412 413AC_SUBST(XDM_PIXMAP) 414AC_SUBST(XDM_BWPIXMAP) 415AC_SUBST(XDM_PIXMAPDIR) 416 417# Packages used by multiple programs 418 419PKG_CHECK_MODULES(XDM_TOOLKIT, xaw7) 420XDM_TOOLKIT_CFLAGS="$XDM_TOOLKIT_CFLAGS -D_CONST_X_STRING" 421PKG_CHECK_MODULES(DMCP, xdmcp) 422PKG_CHECK_MODULES(XLIB, x11) 423PKG_CHECK_MODULES(AUTH, xau) 424 425# 426# Greeter 427# 428 429PKG_CHECK_MODULES(XDMGREET, xt >= 1.0 x11 xext) 430 431GREETERLIB="${XDMLIBDIR}/libXdmGreet.so" 432AX_DEFINE_DIR(DEF_GREETER_LIB, GREETERLIB, [Location of Xdm Greeter library]) 433 434XDMGREET_CFLAGS="$XDMGREET_CFLAGS $XDM_TOOLKIT_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $GREETER_CFLAGS $AUTH_CFLAGS" 435XDMGREET_LIBS="$XDMGREET_LIBS $XDM_TOOLKIT_LIBS $DMCP_LIBS $GREETER_LIBS" 436 437# 438# XDM 439# 440 441XDM_CFLAGS="$XDM_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $AUTH_CFLAGS" 442XDM_LIBS="$XDM_LIBS $DMCP_LIBS" 443 444AC_CHECK_LIB(Xdmcp, XdmcpWrap, [xdmauth="yes"], [xdmauth="no"], [$DMCP_LIBS]) 445 446AC_ARG_ENABLE(xdm-auth, 447 AS_HELP_STRING([--enable-xdm-auth], 448 [Support XDM-AUTHENTICATION-1 and XDM-AUTHORIZATION-1 (default: auto)]), 449 [xdmauth_enable="$enableval"], [xdmauth_enable="auto"]) 450if test "x$xdmauth_enable" = "xyes" -a "x$xdmauth" = "xno" ; then 451 AC_MSG_ERROR([XDM-AUTH support requested, but XdmcpWrap not found in libXdmcp.]) 452fi 453 454AM_CONDITIONAL(HAS_XDM_AUTH, test x$xdmauth = xyes -a x$xdmauth_enable != xno) 455 456AC_SUBST(XDM_CFLAGS) 457AC_SUBST(XDM_LIBS) 458 459# 460# xdmshell 461# 462 463AC_ARG_ENABLE(xdmshell, 464 AS_HELP_STRING([--enable-xdmshell], 465 [Install xdmshell (default: disabled)]), 466 [INSTALL_XDMSHELL="$enableval"], [INSTALL_XDMSHELL="no"]) 467AM_CONDITIONAL(INSTALL_XDMSHELL, test x$INSTALL_XDMSHELL = xyes) 468 469PKG_CHECK_MODULES(XT, xt) 470XDMSHELL_CFLAGS="$XDM_CFLAGS $XDM_TOOLKIT_CFLAGS $AUTH_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $XT_CFLAGS" 471XDMSHELL_LIBS="$XDM_LIBS $XDM_TOOLKIT_LIBS $DMCP_LIBS" 472 473AC_SUBST(XDMSHELL_CFLAGS) 474AC_SUBST(XDMSHELL_LIBS) 475 476# 477# Chooser 478# 479 480CHOOSER_CFLAGS="$CHOOSER_CFLAGS $XDM_TOOLKIT_CFLAGS $XLIB_CFLAGS $DMCP_CFLAGS $AUTH_CFLAGS" 481CHOOSER_LIBS="$CHOOSER_LIBS $XDM_TOOLKIT_LIBS $DMCP_LIBS" 482 483AC_SUBST(CHOOSER_CFLAGS) 484AC_SUBST(CHOOSER_LIBS) 485 486# Defaults for X session - should probably be configure --with-* flags 487# Currently just trying to mirror what defaults were set in Imake 488 489# -DDEF_SERVER_LINE=":0 local $(DEF_SERVER) :0" 490if test -z "$DEF_SERVER" ; then 491 DEF_SERVER="${bindir}/X" 492fi 493if test -z "$DEF_SERVER_LINE" ; then 494 DEF_SERVER_LINE=":0 local ${DEF_SERVER} :0" 495fi 496AX_DEFINE_DIR(DEF_SERVER_LINE, DEF_SERVER_LINE, 497 [Define to default Xserver file entry for local X server]) 498 499# -DXRDB_PROGRAM="$(BINDIR)/xrdb" 500AC_ARG_WITH(xrdb, AS_HELP_STRING([--with-xrdb=path], 501 [Use path for xrdb (default: bindir/xrdb)]), 502 [XRDB=$withval], [XRDB=${bindir}/xrdb]) 503AX_DEFINE_DIR(XRDB_PROGRAM, XRDB, 504 [Define to pathname for xrdb program]) 505 506# -DDEF_SESSION="$(BINDIR)/xterm -ls" 507AC_ARG_WITH(default-session, AS_HELP_STRING([--with-default-session=command], 508 [Use command for default session (default: bindir/xterm -ls)]), 509 [DEF_SESSION=$withval], [DEF_SESSION="${bindir}/xterm -ls"]) 510AX_DEFINE_DIR(DEF_SESSION, DEF_SESSION, 511 [Define to default command to start X session]) 512 513# -DDEF_USER_PATH="$(DEF_USER_PATH)" 514# Default values taken from DefaultUserPath setting in the 515# old Imake *.cf files for each platform 516if test -z "$DEF_USER_PATH" ; then 517 case $host_os in 518 dragonfly*) 519 DEF_USER_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}:/usr/local/bin" 520 ;; 521 freebsd*) 522 DEF_USER_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}:/usr/gnu/bin:/usr/local/bin" 523 ;; 524 netbsd*) 525 DEF_USER_PATH="/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:${bindir}" 526 ;; 527 openbsd*|bsdi*) 528 DEF_USER_PATH="/bin:/usr/bin:/usr/local/bin:${bindir}" 529 ;; 530 solaris*) 531 DEF_USER_PATH="/usr/bin:${bindir}" 532 ;; 533 *) 534 DEF_USER_PATH="/bin:/usr/bin:${bindir}:/usr/ucb" 535 ;; 536 esac 537fi 538AX_DEFINE_DIR(DEF_USER_PATH, DEF_USER_PATH, 539 [Define to default PATH environment variable for user sessions]) 540 541# -DDEF_SYSTEM_PATH="$(DEF_SYSTEM_PATH)" 542# Default values taken from DefaultSystemPath setting in the 543# old Imake *.cf files for each platform 544if test -z "$DEF_SYSTEM_PATH" ; then 545 case $host_os in 546 freebsd*|dragonfly*) 547 DEF_SYSTEM_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}" 548 ;; 549 netbsd*|openbsd*|bsdi*) 550 DEF_SYSTEM_PATH="/sbin:/usr/sbin:/bin:/usr/bin:${bindir}" 551 ;; 552 solaris*) 553 DEF_SYSTEM_PATH="/sbin:/usr/sbin:/usr/bin:${bindir}" 554 ;; 555 *) 556 DEF_SYSTEM_PATH="/etc:/bin:/usr/bin:${bindir}:/usr/ucb" 557 ;; 558 esac 559fi 560AX_DEFINE_DIR(DEF_SYSTEM_PATH, DEF_SYSTEM_PATH, 561 [Define to default PATH environment variable for system commands]) 562 563# -DDEF_SYSTEM_SHELL="$(BOURNE_SHELL)" 564if test -z "$BOURNE_SHELL" ; then 565 BOURNE_SHELL=/bin/sh 566fi 567AX_DEFINE_DIR(DEF_SYSTEM_SHELL, BOURNE_SHELL, 568 [Define to default shell]) 569 570# -DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm" 571 572AX_DEFINE_DIR(DEF_FAILSAFE_CLIENT, bindir/xterm, 573 [Define to default command to start failsafe X session]) 574 575# -DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config" 576 577AX_DEFINE_DIR(DEF_XDM_CONFIG, XDMCONFIGDIR/xdm-config, 578 [Define to pathname of default xdm-config file]) 579 580# -DDEF_CHOOSER="$(CHOOSERPATH)" 581 582AX_DEFINE_DIR(DEF_CHOOSER, XDMLIBDIR/chooser, 583 [Define to pathname of where chooser binary is installed]) 584 585# -DDEF_AUTH_DIR="$(XDMDIR)" 586 587AC_ARG_WITH(authdir, 588 AS_HELP_STRING([--with-authdir=<pathname>], 589 [specify directory for X auth files (default=/var/lib/xdm)]), 590 [XDMXAUTHDIR="$withval"], [XDMXAUTHDIR="/var/lib/xdm"]) 591AC_SUBST(XDMXAUTHDIR) 592 593AX_DEFINE_DIR(DEF_AUTH_DIR, XDMXAUTHDIR, 594 [Define to pathname where authentication cookie files should be stored]) 595 596# -DDEF_GREETER_LIB="$(XDMDIR)/libXdmGreet.so" 597 598AX_DEFINE_DIR(DEF_GREETER_LIB, XDMLIBDIR/libXdmGreet.so, 599 [Define to pathname where greeter shared object is installed (if used)]) 600 601PKG_CHECK_MODULES(APPDEFS, xt) 602xt_appdefaultdir=`$PKG_CONFIG --variable=appdefaultdir xt` 603AC_ARG_WITH(appdefaultdir, 604 AS_HELP_STRING([--with-appdefaultdir=<pathname>], 605 [specify directory for app-defaults files (default is autodetected)]), 606 [appdefaultdir="$withval"], [appdefaultdir="${xt_appdefaultdir}"]) 607AC_SUBST(appdefaultdir) 608 609AC_SUBST(MKTEMP_COMMAND) 610 611AC_CONFIG_FILES([Makefile 612 app-defaults/Makefile 613 chooser/Makefile 614 config/Makefile 615 greeter/Makefile 616 include/Makefile 617 man/Makefile 618 xdm/Makefile 619 xdmshell/Makefile]) 620AC_OUTPUT 621