configure.ac revision f9f7a7f2
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.14], 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 36AC_DISABLE_STATIC 37AC_LIBTOOL_DLOPEN 38AC_PROG_LIBTOOL 39 40# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS 41m4_ifndef([XORG_MACROS_VERSION], 42 [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])]) 43XORG_MACROS_VERSION(1.8) 44XORG_DEFAULT_OPTIONS 45XORG_PROG_RAWCPP 46XORG_WITH_LINT 47 48# Checks for programs. 49# Check for mktemp to prevent security issue noted in Xorg bug #5898 50# See https://bugs.freedesktop.org/show_bug.cgi?id=5898 for details. 51AC_PATH_PROG(MKTEMP_COMMAND, mktemp) 52AM_CONDITIONAL(HAVE_MKTEMP_COMMAND, test x$MKTEMP_COMMAND != x) 53 54#------------------------------------------------------------------------------ 55# Check for system libraries 56# 57# AC_SEARCH_LIBS: tests using $LIBS and tests again with each listed library. 58# pre-pends the found library to $LIBS. 59# 60#------------------------------------------------------------------------------ 61 62PKG_CHECK_MODULES([XDM], [xmu x11 xau xproto >= 7.0.17]) 63PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay], [:], [:]) 64 65dnl Check in libbsd for functions that might be there if not already found 66dnl XDM_SEARCH_LIBBSD(FUNCTION, PROGRAM, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 67AC_DEFUN([XDM_SEARCH_LIBBSD],[ 68if test "x$ac_cv_search_$1" = "xno"; then 69 if test "x$LIBBSD_LIBS" != "x"; then 70 AC_MSG_CHECKING([for $1 in libbsd]) 71 xdm_save_LIBS="$LIBS" 72 LIBS="$LIBS $[$2]_LIBS $LIBBSD_LIBS" 73 AC_LINK_IFELSE([AC_LANG_CALL([], [$1])], [xdm_res="yes"], [xdm_res="no"]) 74 LIBS="$xdm_save_LIBS" 75 AS_IF([test "x$xdm_res" = "xyes"], [ 76 $2_CFLAGS="$[$2]_CFLAGS $LIBBSD_CFLAGS" 77 $2_LIBS="$[$2]_LIBS $LIBBSD_LIBS" 78 [$3]], [$4]) 79 AC_MSG_RESULT([$xdm_res]) 80 fi 81fi]) 82 83# Function getifaddrs() comes from the C library, Solaris 11 -lsocket, or 84# the -lnsl name service library 85AC_SEARCH_LIBS([getifaddrs], [socket nsl]) 86 87# Function getspnam() comes from the C library, System V -lsec, UnixWare 7 -lgen 88# or Old Linux versions -lshadow 89AC_SEARCH_LIBS([getspnam], [sec gen shadow]) 90 91# Function setproctitle() is in BSD -lutil or GNU systems -lbsd but N/A on Solaris 92AC_SEARCH_LIBS([setproctitle], [util]) 93XDM_SEARCH_LIBBSD([setproctitle], [XDM]) 94 95# Function setusercontext() is in BSD -lutil but N/A on Solaris or GNU systems 96AC_SEARCH_LIBS([setusercontext], [util]) 97 98# Function arc4random() is in BSD standard C, glibc 2.36+, or GNU systems -lbsd 99AC_SEARCH_LIBS([arc4random], [], [HAVE_ARC4RANDOM="yes"]) 100XDM_SEARCH_LIBBSD([arc4random], [XDM], [HAVE_ARC4RANDOM="yes"]) 101AC_SUBST(HAVE_ARC4RANDOM) 102AM_CONDITIONAL(HAVE_ARC4RANDOM, test x$HAVE_ARC4RANDOM = xyes) 103 104# Function crypt() comes from the C library or the -lcrypt data encryption library 105AC_SEARCH_LIBS(crypt, crypt) 106 107# Function dl() comes from the C library or -ldl 108AC_SEARCH_LIBS([dlopen], [dl]) 109#------------------------------------------------------------------------------ 110 111# Checks for header files. 112AC_CHECK_HEADERS([grp.h syslog.h sys/param.h]) 113AC_CHECK_DECL(key_setnet, 114 AC_DEFINE(HAVE_DECL_KEY_SETNET,1, 115 [Define to 1 if your headers define the key_setnet() function.]), 116 [],[ 117#include <rpc/rpc.h> 118#include <rpc/key_prot.h> 119]) 120 121# Check for system library functions 122# Required system libraries have been searched for and are listed in $LIBS 123AC_FUNC_FORK 124xdm_save_LIBS="$LIBS" 125LIBS="$LIBS $XDM_LIBS" 126AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle setusercontext \ 127 mkstemp getifaddrs getspnam arc4random]) 128LIBS="$xdm_save_LIBS" 129 130# Find needed libraries for TCP sockets (pre-pended in $LIBS) 131XTRANS_CONNECTION_FLAGS 132 133# Sets $SECURE_RPC to "yes" or "no" using libraries found above from $LIBS 134XTRANS_SECURE_RPC_FLAGS 135AM_CONDITIONAL(HAS_SECURE_RPC, test x$SECURE_RPC = xyes) 136 137# Check for pluggable authentication modules (PAM) support 138AC_ARG_WITH(pam, AS_HELP_STRING([--with-pam], 139 [Use PAM for authentication (default is autodetected)]), 140 [USE_PAM=$withval], [USE_PAM=auto]) 141if test "x$USE_PAM" != "xno" ; then 142 AC_CHECK_HEADERS([security/pam_appl.h pam/pam_appl.h], 143 [found=yes ; break ;], [found=no]) 144 AS_IF([test "x$USE_PAM" = "xyes" -a "x$found" = "xno"], 145 [AC_MSG_ERROR([PAM support requested, but we could not find the pam headers.])]) 146 AC_SEARCH_LIBS([pam_open_session], [pam], 147 [AC_CHECK_FUNC([pam_open_session], 148 [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])] 149 )], 150 [AS_IF([test "x$USE_PAM" = "xyes"], 151 [AC_MSG_ERROR([PAM support requested, but pam_open_session not found.])] 152 )] 153 ) 154fi 155 156# Check for Security-Enhanced Linux (SELinux) support 157AC_ARG_WITH(selinux, AS_HELP_STRING([--with-selinux], 158 [Add support for SELinux (default is no support)]), 159 [USE_SELINUX=$withval], [USE_SELINUX=no]) 160if test "x$USE_SELINUX" != "xno" ; then 161 AC_SEARCH_LIBS(is_selinux_enabled, [selinux], 162 [AC_CHECK_FUNC([is_selinux_enabled], 163 [AC_DEFINE(USE_SELINUX,1,[Use Security-Enhanced Linux (SELinux) support])] 164 )], 165 [AS_IF([test "x$USE_SELINUX" = "xyes"], 166 [AC_MSG_ERROR([SELinux support requested, but is_selinux_enabled not found.])] 167 )] 168 ) 169fi 170 171# Check whether to install systemd unit files, as suggested in daemon(7). 172# When a full path is specified, this does not require systemd installed. 173AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], 174 [Directory for systemd service files (default from the System and Service Manager)]),, 175 [with_systemdsystemunitdir=auto]) 176AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], [ 177 def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) 178 179 AS_IF([test "x$def_systemdsystemunitdir" = "x"], [ 180 AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], [ 181 AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package]) 182 ]) 183 with_systemdsystemunitdir=no 184 ], [ 185 with_systemdsystemunitdir=$def_systemdsystemunitdir 186 ]) 187]) 188AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ 189 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) 190]) 191AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"]) 192 193# Check whether to enable systemd startup notification. 194# This requires libsystemd. 195AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon], 196 [Add support for systemd startup notification (default is autodetected)]), 197 [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto]) 198AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [ 199 PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd], 200 [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])], 201 [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"], 202 [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd not found.])] 203 )] 204 ) 205]) 206AM_CONDITIONAL(USE_SYSTEMD_DAEMON, [test "x$USE_SYSTEMD_DAEMON" != "xno"]) 207 208# FIXME: Find better test for which OS'es use su -m - for now, just try to 209# mirror the Imakefile setting of: 210# if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture) 211 212 213case $host_os in 214 linux*|gnu*|*-gnu) 215 SU="su" 216 ;; 217 darwin*) 218 SU="su -m" 219 ;; 220 *bsd*|dragonfly*) 221 SU="su -m" 222 ;; 223 solaris*|sysv4*) 224 SU="su" 225 ;; 226 *) 227 SU="su" 228 ;; 229esac 230AC_SUBST(SU) 231 232# Define a configure option to locate a special file (/dev/random or /dev/urandom) 233# that serves as a random or a pseudorandom number generator 234AC_ARG_WITH(random-device, AS_HELP_STRING([--with-random-device\[=<pathname>\]], 235 [Use <pathname> as a source of randomness (default is auto-detected)]), 236 [USE_DEVICE="$withval"], [USE_DEVICE="auto"]) 237if test x$USE_DEVICE != xno ; then 238 if test x$USE_DEVICE = xyes -o x$USE_DEVICE = xauto ; then 239 AC_CHECK_FILE([/dev/urandom], [DEV_RANDOM=/dev/urandom], 240 [AC_CHECK_FILE([/dev/random], [DEV_RANDOM=/dev/random], 241 [AS_IF([test "x$USE_DEVICE" = "xyes"], 242 [AC_MSG_ERROR([random device support requested, but no random device was found.])] 243 )] 244 )] 245 ) 246 else 247 # assume the user input is a valid path to a random number generator 248 DEV_RANDOM=$USE_DEVICE 249 fi 250 if test x$DEV_RANDOM != x ; then 251 AC_DEFINE_UNQUOTED(DEV_RANDOM,"$DEV_RANDOM", [Define to device that provides random data source]) 252 fi 253fi 254AC_SUBST(DEV_RANDOM) 255 256# FIXME: find out how to check for these things. Note that Kerberos was 257# turned off everywhere but on OpenBSD. 258AM_CONDITIONAL(HAS_KERBEROS_FIVE, false) 259 260 261# Figure out where everything goes in the filesystem 262 263AC_ARG_WITH(xdmlibdir, 264 AS_HELP_STRING([--with-xdmlibdir=<pathname>], 265 [specify directory for xdm scripts and modules (default=${libdir}/X11/xdm)]), 266 [XDMLIBDIR="$withval"], [XDMLIBDIR="${libdir}/X11/xdm"]) 267AC_SUBST(XDMLIBDIR) 268 269AC_ARG_WITH(xdmconfigdir, 270 AS_HELP_STRING([--with-xdmconfigdir=<pathname>], 271 [specify directory for xdm config files (default is same as xdmlibdir)]), 272 [XDMCONFIGDIR="$withval"], [XDMCONFIGDIR="${XDMLIBDIR}"]) 273AC_SUBST(XDMCONFIGDIR) 274 275AC_ARG_WITH(xdmscriptdir, 276 AS_HELP_STRING([--with-xdmscriptdir=<pathname>], 277 [specify directory for xdm scripts (default is same as xdmlibdir)]), 278 [XDMSCRIPTDIR="$withval"], [XDMSCRIPTDIR="${XDMLIBDIR}"]) 279AC_SUBST(XDMSCRIPTDIR) 280 281AC_ARG_WITH(logdir, 282 AS_HELP_STRING([--with-logdir=<pathname>], 283 [specify directory for xdm log files (default=/var/log)]), 284 [XDMLOGDIR="$withval"], [XDMLOGDIR="/var/log"]) 285AC_SUBST(XDMLOGDIR) 286 287AC_ARG_WITH(piddir, 288 AS_HELP_STRING([--with-piddir=<pathname>], 289 [specify directory for xdm pid files (default=/var/run)]), 290 [XDMPIDDIR="$withval"], [XDMPIDDIR="/var/run"]) 291AC_SUBST(XDMPIDDIR) 292 293AC_ARG_WITH(default-vt, 294 AS_HELP_STRING([--with-default-vt=<vtname>], 295 [specify default vt to start xdm on (default=none)]), 296 [DEFAULTVT="$withval"], [[DEFAULTVT=""]]) 297AC_SUBST(DEFAULTVT) 298 299AC_ARG_WITH(config-type, 300 AS_HELP_STRING([--with-config-type={ws|fs}], 301 [default config file type to use - workstation (ws) or fileserver (fs) (default=ws)]), 302 [SERVERSTYPE="$withval"], [SERVERSTYPE="ws"]) 303AC_SUBST(SERVERSTYPE) 304 305AC_ARG_WITH(utmp_file, 306 AS_HELP_STRING([--with-utmp-file=<pathname>], 307 [specify file to pass to sessreg -u for current logins]) 308AS_HELP_STRING([--without-utmp-file], 309 [specify passing "none" to sessreg -u to not record logins in utmp]), 310 [UTMP_FILE="$withval"]) 311if test "x$UTMP_FILE" = "xyes" ; then 312 UTMP_FILE="" 313elif test "x$UTMP_FILE" = "xno" ; then 314 UTMP_FILE="none" 315fi 316AC_MSG_CHECKING([for path to file listing current logins for sessreg]) 317if test "x$UTMP_FILE" = "x" ; then 318 AC_MSG_RESULT([use sessreg default]) 319else 320 AC_MSG_RESULT([$UTMP_FILE]) 321fi 322AM_CONDITIONAL(SET_UTMP_FILE, test x$UTMP_FILE != x) 323AC_SUBST(UTMP_FILE) 324 325AC_ARG_WITH(wtmp_file, 326 AS_HELP_STRING([--with-wtmp-file=<pathname>], 327 [specify file to pass to sessreg -w for login history]) 328AS_HELP_STRING([--without-wtmp-file], 329 [specify passing "none" to sessreg -w to not record logins in wtmp]), 330 [WTMP_FILE="$withval"]) 331if test "x$WTMP_FILE" = "xyes" ; then 332 WTMP_FILE="" 333elif test "x$WTMP_FILE" = "xno" ; then 334 WTMP_FILE="none" 335fi 336AC_MSG_CHECKING([for path to file listing login history for sessreg]) 337if test "x$WTMP_FILE" = "x" ; then 338 AC_MSG_RESULT([use sessreg default]) 339else 340 AC_MSG_RESULT([$WTMP_FILE]) 341fi 342AM_CONDITIONAL(SET_WTMP_FILE, test x$WTMP_FILE != x) 343AC_SUBST(WTMP_FILE) 344 345case $host_os in 346 *sco*|*solaris*) 347 SHELL_CMD="/bin/ksh" ;; 348 *) SHELL_CMD="/bin/sh" ;; 349esac 350AC_SUBST(SHELL_CMD) 351 352# Checks for pkg-config packages 353 354AC_ARG_WITH(xinerama, 355 AS_HELP_STRING([--with-xinerama], 356 [Use Xinerama (default is YES if installed)]), 357 [USE_XINERAMA="$withval"], 358 PKG_CHECK_EXISTS(xinerama, [USE_XINERAMA="yes"], [USE_XINERAMA="no"])) 359 360if test "x$USE_XINERAMA" = "xyes" ; then 361 AC_DEFINE([USE_XINERAMA], 1, 362 [Define to 1 to use XINERAMA in greeter & chooser]) 363 PKG_CHECK_MODULES(XINERAMA, xinerama) 364 CHOOSER_CFLAGS="$CHOOSER_CFLAGS $XINERAMA_CFLAGS" 365 CHOOSER_LIBS="$CHOOSER_LIBS $XINERAMA_LIBS" 366 GREETER_CFLAGS="$GREETER_CFLAGS $XINERAMA_CFLAGS" 367 GREETER_LIBS="$GREETER_LIBS $XINERAMA_LIBS" 368fi 369 370# Xft text drawing for the greeter screen 371AC_ARG_WITH(xft, 372 AS_HELP_STRING([--with-xft], 373 [Use Xft to draw text (default is YES if installed)]), 374 [USE_XFT="$withval"], 375 PKG_CHECK_EXISTS(xft xrender, [USE_XFT="yes"], [USE_XFT="no"])) 376 377if test "x$USE_XFT" = "xyes" ; then 378 PKG_CHECK_MODULES(XFT, xft xrender) 379 GREETER_CFLAGS="$GREETER_CFLAGS $XFT_CFLAGS" 380 GREETER_LIBS="$GREETER_LIBS $XFT_LIBS" 381 AC_DEFINE([USE_XFT], 1, 382 [Define to 1 to use Xft for text on greeter screen]) 383fi 384 385# XPM logos for the greeter screen 386AC_ARG_ENABLE(xpm-logos, 387 AS_HELP_STRING([--enable-xpm-logos], 388 [Display xpm logos in greeter (default is YES)]), 389 [USE_XPM="$enableval"], 390 PKG_CHECK_EXISTS(xpm, [USE_XPM="yes"], [USE_XPM="no"])) 391if test "x$USE_XPM" = "xyes" ; then 392 PKG_CHECK_MODULES(XPM, xpm) 393 GREETER_CFLAGS="$GREETER_CFLAGS $XPM_CFLAGS" 394 GREETER_LIBS="$GREETER_LIBS $XPM_LIBS" 395 AC_DEFINE([XPM], 1, 396 [Define to 1 to display XPM logos on greeter screen]) 397fi 398AM_CONDITIONAL(USE_XPM, test "x$USE_XPM" = "xyes") 399 400AC_ARG_WITH(color-pixmap, 401 AS_HELP_STRING([--with-color-pixmap=<filename>], 402 [specify xpm file to use as color logo (default=xorg.xpm)]), 403 [XDM_PIXMAP="$withval"], [XDM_PIXMAP="xorg.xpm"]) 404AC_ARG_WITH(bw-pixmap, 405 AS_HELP_STRING([--with-bw-pixmap=<filename>], 406 [specify xpm file to use as black-and-white logo (default=xorg-bw.xpm)]), 407 [XDM_BWPIXMAP="$withval"], [XDM_BWPIXMAP="xorg-bw.xpm"]) 408AC_ARG_WITH(pixmapdir, 409 AS_HELP_STRING([--with-pixmapdir=<pathname>], 410 [specify directory for xpm files (default=xdmlibdir/pixmaps)]), 411 [XDM_PIXMAPDIR="$withval"], 412 [XDM_PIXMAPDIR='${XDMLIBDIR}/pixmaps']) 413 414AC_SUBST(XDM_PIXMAP) 415AC_SUBST(XDM_BWPIXMAP) 416AC_SUBST(XDM_PIXMAPDIR) 417 418# Packages used by multiple programs 419 420PKG_CHECK_MODULES(XDM_TOOLKIT, xaw7) 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