configure.ac revision 578741aa
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
24AC_PREREQ([2.60])
25AC_INIT(xdm,[1.1.9],[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xdm)
26AM_INIT_AUTOMAKE([dist-bzip2])
27AM_MAINTAINER_MODE
28
29# Require xorg-macros: XORG_DEFAULT_OPTIONS, XORG_CWARNFLAGS, XORG_CHANGELOG
30m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
31XORG_MACROS_VERSION(1.3)
32
33AM_CONFIG_HEADER(config.h)
34
35AC_USE_SYSTEM_EXTENSIONS
36AC_PROG_CC
37AM_PROG_CC_C_O
38AC_C_INLINE
39AC_LIBTOOL_WIN32_DLL
40AM_PROG_LIBTOOL
41AC_PROG_INSTALL
42
43XORG_PROG_RAWCPP
44XORG_DEFAULT_OPTIONS
45XORG_WITH_LINT
46
47m4_ifdef([AM_SILENT_RULES],[HAVE_AM_SILENT_RULES=yes])
48AM_CONDITIONAL(HAVE_AM_SILENT_RULES, test x$HAVE_AM_SILENT_RULES != x)
49
50XDM_CFLAGS="$XDM_CFLAGS"
51GREETER_CFLAGS="$GREETER_CFLAGS"
52CHOOSER_CFLAGS="$CHOOSER_CFLAGS"
53
54# Check for mktemp to prevent security issue noted in Xorg bug #5898
55# See https://bugs.freedesktop.org/show_bug.cgi?id=5898 for details.
56AC_PATH_PROG(MKTEMP_COMMAND, mktemp)
57AM_CONDITIONAL(HAVE_MKTEMP_COMMAND, test x$MKTEMP_COMMAND != x)
58
59AC_FUNC_FORK
60
61dnl If you're looking here because you got a message that said
62dnl 'error: possibly undefined macro: AC_DEFINE', the source of
63dnl your problem is not here.   You need to upgrade to pkgconfig 0.18
64dnl or later to get an updated pkg.m4 with PKG_CHECK_EXISTS defined.
65dnl See http://www.mail-archive.com/autoconf@gnu.org/msg13413.html
66AC_CHECK_FUNC(mkstemp, AC_DEFINE(HAS_MKSTEMP,1,
67	[Define to 1 if you have the 'mkstemp' function.]))
68AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAS_GETIFADDRS,1,
69	[Define to 1 if you have the 'getifaddrs' function.]))
70AC_CHECK_FUNC(getspnam, AC_DEFINE(USESHADOW,1,
71	[Define to 1 if you have the shadow password functions.]))
72
73
74# According to the old Imakefile, FreeBSD has this in libutil
75AC_CHECK_FUNC(setproctitle, [HAS_SETPROCTITLE="yes"],
76	AC_CHECK_LIB(util, setproctitle, 
77		     [HAS_SETPROCTITLE="yes" ; XDM_OS_LIBS="$XDM_OS_LIBS -lutil"]))
78if test "x$HAS_SETPROCTITLE" = "xyes" ; then
79	AC_DEFINE(HAS_SETPROCTITLE,1,
80		[Define to 1 if you have the 'setproctitle' function.])
81fi
82
83# According to the old Imakefile, BSD/OS has this in libutil
84AC_CHECK_FUNC(setusercontext, [HAS_SETUSERCONTEXT="yes"],
85	AC_CHECK_LIB(util, setusercontext, 
86		    [HAS_SETUSERCONTEXT="yes" ; XDM_OS_LIBS="$XDM_OS_LIBS -lutil"]))
87if test "x$HAS_SETUSERCONTEXT" = "xyes" ; then
88	AC_DEFINE(HAS_SETUSERCONTEXT,1,
89		[Define to 1 if you have the 'setusercontext' function.])
90fi
91
92AC_CHECK_FUNCS([daemon sigaction openlog asprintf])
93AC_CHECK_HEADERS([grp.h syslog.h])
94AC_TYPE_SIGNAL
95
96XTRANS_CONNECTION_FLAGS
97dnl Sets $SECURE_RPC to "yes" or "no"
98XTRANS_SECURE_RPC_FLAGS
99AM_CONDITIONAL(HAS_SECURE_RPC, test x$SECURE_RPC = xyes)
100
101dnl Is key_setnet defined in a header file?
102AC_CHECK_DECL(key_setnet, 
103	AC_DEFINE(HAVE_DECL_KEY_SETNET,1,
104	     [Define to 1 if your headers define the key_setnet() function.]),
105	[],[
106#include <rpc/rpc.h>
107#include <rpc/key_prot.h>
108])
109
110# darwin could have PAM support, but not yet
111case $host_os in
112    darwin*)
113        use_pam_default=no
114        ;;
115    *)
116        use_pam_default=try
117        ;;
118esac
119
120# Check for PAM support
121AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]),
122	[USE_PAM=$withval], [USE_PAM=$use_pam_default])
123if test "x$USE_PAM" != "xno" ; then
124	AC_SEARCH_LIBS(pam_open_session,[pam])
125	AC_CHECK_FUNC(pam_open_session, 
126		[AC_DEFINE(USE_PAM,1,[Use PAM for authentication])],
127		[if test "x$USE_PAM" != "xtry" ; then
128			AC_MSG_ERROR([PAM support requested, but pam_open_session not found.])
129		 fi])
130fi
131
132# FIXME: Find better test for which OS'es use su -m  - for now, just try to
133# mirror the Imakefile setting of:
134# if  defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture)
135
136
137case $host_os in
138    linux*|gnu*|*-gnu)
139        OS_CFLAGS=""
140	SU="su"
141        ;;
142    darwin*)
143        OS_CFLAGS="-DNO_LASTLOG"
144	SU="su -m"
145        ;;
146    *bsd*|dragonfly*)
147        OS_CFLAGS="-DCSRG_BASED"
148	SU="su -m"
149        ;;
150    solaris*|sysv4*)
151	OS_CFLAGS=""
152	SU="su"
153	;;
154    *)
155        OS_CFLAGS=
156	SU="su"
157        ;;
158esac
159AC_SUBST(SU)
160
161# Check for /dev/random or /dev/urandom
162AC_ARG_WITH(random-device, 
163	AC_HELP_STRING([--with-random-device\[=<pathname>\]],
164		[Use <pathname> as a source of randomness]),
165	RANDOM_DEVICE="$withval", RANDOM_DEVICE="try")
166
167if test x$RANDOM_DEVICE = xyes -o x$RANDOM_DEVICE = xtry ; then
168	AC_CHECK_FILE([/dev/urandom], [RANDOM_DEVICE=/dev/urandom],
169		AC_CHECK_FILE([/dev/random], [RANDOM_DEVICE=/dev/random]))
170	if test x$RANDOM_DEVICE = xyes ; then
171		AC_MSG_ERROR([random device support requested, but no random device was found.])		
172	else 
173		if test x$RANDOM_DEVICE = xtry ; then
174			RANDOM_DEVICE="no"
175		fi
176	fi
177fi
178
179if test x$RANDOM_DEVICE != xno ; then
180	AC_DEFINE_UNQUOTED(DEV_RANDOM,"$RANDOM_DEVICE",
181		[Define to device that provides random data source])
182	RANDOMMANDEFS="$RANDOMMANDEFS -DDEV_RANDOM=\\\"$RANDOM_DEVICE\\\""
183fi
184
185
186AC_CHECK_FUNC(arc4random, [HAS_ARC4_RANDOM="yes"], [HAS_ARC4_RANDOM="no"])
187AM_CONDITIONAL(HAS_ARC4_RANDOM, test x$HAS_ARC4_RANDOM = xyes)
188if test x$HAS_ARC4_RANDOM = xyes ; then
189	AC_DEFINE(ARC4_RANDOM, 1, [Define to use arc4random() function])
190	RANDOMMANDEFS="$RANDOMMANDEFS -DARC4_RANDOM"
191fi
192
193AC_SUBST(RANDOMMANDEFS)
194
195# FIXME: find out how to check for these things. Note that Kerberos was
196# turned off everywhere but on OpenBSD.
197AM_CONDITIONAL(HAS_KERBEROS_FIVE, false)
198
199
200# Figure out where everything goes in the filesystem
201
202AC_ARG_WITH(xdmlibdir,
203	AC_HELP_STRING([--with-xdmlibdir=<pathname>],
204	  [specify directory for xdm scripts and modules (default=${libdir}/X11/xdm)]),
205	[XDMLIBDIR="$withval"], [XDMLIBDIR="${libdir}/X11/xdm"])
206AC_SUBST(XDMLIBDIR)
207
208AC_ARG_WITH(xdmconfigdir,
209	AC_HELP_STRING([--with-xdmconfigdir=<pathname>],
210	  [specify directory for xdm config files (default is same as xdmlibdir)]),
211	[XDMCONFIGDIR="$withval"], [XDMCONFIGDIR="${XDMLIBDIR}"])
212AC_SUBST(XDMCONFIGDIR)
213
214AC_ARG_WITH(xdmscriptdir,
215	AC_HELP_STRING([--with-xdmscriptdir=<pathname>],
216	  [specify directory for xdm scripts (default is same as xdmlibdir)]),
217	[XDMSCRIPTDIR="$withval"], [XDMSCRIPTDIR="${XDMLIBDIR}"])
218AC_SUBST(XDMSCRIPTDIR)
219
220AC_ARG_WITH(logdir,
221	AC_HELP_STRING([--with-logdir=<pathname>],
222	  [specify directory for xdm log files (default=/var/log)]),
223	[XDMLOGDIR="$withval"], [XDMLOGDIR="/var/log"])
224AC_SUBST(XDMLOGDIR)
225
226AC_ARG_WITH(piddir,
227	AC_HELP_STRING([--with-piddir=<pathname>],
228	  [specify directory for xdm pid files (default=/var/run)]),
229	[XDMPIDDIR="$withval"], [XDMPIDDIR="/var/run"])
230AC_SUBST(XDMPIDDIR)
231
232AC_ARG_WITH(default-vt,
233	AC_HELP_STRING([--with-default-vt=<vtname>],
234	  [specify default vt to start xdm on (default=none)]),
235	[DEFAULTVT="$withval"], [[DEFAULTVT=""]])
236AC_SUBST(DEFAULTVT)
237
238AC_ARG_WITH(config-type,
239	AC_HELP_STRING([--with-config-type={ws|fs}],
240	 [default config file type to use - workstation (ws) or fileserver (fs) (default=ws)]),
241	[SERVERSTYPE="$withval"], [SERVERSTYPE="ws"])
242AC_SUBST(SERVERSTYPE)
243
244# Ideally we'd just pull out UTMP_FILE & WTMP_FILE from <utmp.h>
245# but that's not easy to do in autoconf
246AC_ARG_WITH(utmp_file,
247	AC_HELP_STRING([--with-utmp-file=<pathname>],
248	 [specify file to pass to sessreg -u for current logins]),
249	[UTMP_FILE="$withval"])
250if test "x$UTMP_FILE" = "xyes" ; then
251	AC_MSG_ERROR([path was not specified to --with-utmp-file])
252fi
253if test "x$UTMP_FILE" = "x" ; then
254	for UTMP_FILE in /var/adm/utmpx /var/run/utmp /var/log/utmp /var/adm/utmp /usr/adm/utmp /etc/utmp ; do
255		AC_CHECK_FILE([$UTMP_FILE], [break], [UTMP_FILE=""])
256	done
257	if test "x$UTMP_FILE" = "x" ; then
258		UTMP_FILE="/var/run/utmp"
259	fi
260fi
261AC_MSG_CHECKING([for path to file listing current logins for sessreg])
262AC_MSG_RESULT([$UTMP_FILE])
263AC_SUBST(UTMP_FILE)
264
265AC_ARG_WITH(wtmp_file,
266	AC_HELP_STRING([--with-wtmp-file=<pathname>],
267	 [specify file to pass to sessreg -w for login history]),
268	[WTMP_FILE="$withval"])
269if test "x$WTMP_FILE" = "xyes" ; then
270	AC_MSG_ERROR([path was not specified to --with-wtmp-file])
271fi
272if test "x$WTMP_FILE" = "x" ; then
273	for WTMP_FILE in /var/adm/wtmpx /var/log/wtmp /var/adm/wtmp /usr/adm/wtmp /etc/wtmp ; do 
274		AC_CHECK_FILE([$WTMP_FILE], [break], [WTMP_FILE=""])
275	done
276	if test "x$WTMP_FILE" = "x" ; then
277		WTMP_FILE="/var/log/wtmp"
278	fi
279fi
280AC_MSG_CHECKING([for path to file listing login history for sessreg])
281AC_MSG_RESULT([$WTMP_FILE])
282AC_SUBST(WTMP_FILE)
283
284case $host_os in
285    *sco*|*solaris*)
286		SHELL_CMD="/bin/ksh"	;;
287    *)		SHELL_CMD="/bin/sh"	;;
288esac
289AC_SUBST(SHELL_CMD)
290
291# Checks for pkg-config packages
292
293PKG_CHECK_MODULES(XDM, xmu x11 xau)
294
295XDM_LIBS="$XDM_LIBS $XDM_OS_LIBS"
296
297PKG_CHECK_EXISTS(xinerama, [
298	AC_DEFINE([USE_XINERAMA], 1, 
299		[Define to 1 to use XINERAMA in greeter & chooser])
300	PKG_CHECK_MODULES(XINERAMA, xinerama)
301	XDM_CFLAGS="$XDM_CFLAGS $XINERAMA_CFLAGS"
302	XDM_LIBS="$XDM_LIBS $XINERAMA_LIBS"
303	CHOOSER_CFLAGS="$CHOOSER_CFLAGS $XINERAMA_CFLAGS"
304	CHOOSER_LIBS="$CHOOSER_LIBS $XINERAMA_LIBS"
305	GREETER_CFLAGS="$GREETER_CFLAGS $XINERAMA_CFLAGS"
306	GREETER_LIBS="$GREETER_LIBS $XINERAMA_LIBS"
307])
308
309# Xft text drawing for the greeter screen
310AC_ARG_WITH(xft, 
311    	AC_HELP_STRING([--with-xft], 
312			[Use Xft to draw text (default is YES if installed)]),
313	[USE_XFT="$withval"], 
314	PKG_CHECK_EXISTS(xft, [USE_XFT="yes"], [USE_XFT="no"]))
315
316if test "x$USE_XFT" = "xyes" ; then
317	PKG_CHECK_MODULES(XFT, xft)
318	GREETER_CFLAGS="$GREETER_CFLAGS $XFT_CFLAGS"
319	GREETER_LIBS="$GREETER_LIBS $XFT_LIBS"
320	AC_DEFINE([USE_XFT], 1, 
321	    [Define to 1 to use Xft for text on greeter screen])
322fi
323
324# XPM logos for the greeter screen
325AC_ARG_ENABLE(xpm-logos, 
326    	AC_HELP_STRING([--enable-xpm-logos], 
327			[Display xpm logos in greeter (default is YES)]),
328	[USE_XPM="$enableval"], 
329	PKG_CHECK_EXISTS(xpm, [USE_XPM="yes"], [USE_XPM="no"]))
330if test "x$USE_XPM" = "xyes" ; then
331	PKG_CHECK_MODULES(XPM, xpm)
332	XDM_CFLAGS="$XDM_CFLAGS $XPM_CFLAGS"
333	XDM_LIBS="$XDM_LIBS $XPM_LIBS"
334	GREETER_CFLAGS="$GREETER_CFLAGS $XPM_CFLAGS"
335	GREETER_LIBS="$GREETER_LIBS $XPM_LIBS"
336	AC_DEFINE([XPM], 1, 
337		[Define to 1 to display XPM logos on greeter screen])
338fi
339AM_CONDITIONAL(USE_XPM, test "x$USE_XPM" = "xyes")
340
341AC_ARG_WITH(color-pixmap,
342	AC_HELP_STRING([--with-color-pixmap=<filename>],
343		[specify xpm file to use as color logo (default=xorg.xpm)]),
344	[XDM_PIXMAP="$withval"], [XDM_PIXMAP="xorg.xpm"])
345AC_ARG_WITH(bw-pixmap,
346	AC_HELP_STRING([--with-bw-pixmap=<filename>],
347      [specify xpm file to use as black-and-white logo (default=xorg-bw.xpm)]),
348	[XDM_BWPIXMAP="$withval"], [XDM_BWPIXMAP="xorg-bw.xpm"])
349AC_ARG_WITH(pixmapdir,
350	AC_HELP_STRING([--with-pixmapdir=<pathname>],
351	[specify directory for xpm files (default=xdmlibdir/pixmaps)]),
352	[XDM_PIXMAPDIR="$withval"], 
353	[XDM_PIXMAPDIR='${XDMLIBDIR}/pixmaps'])
354
355AC_SUBST(XDM_PIXMAP)
356AC_SUBST(XDM_BWPIXMAP)
357AC_SUBST(XDM_PIXMAPDIR)
358
359# Packages used by multiple programs
360
361PKG_CHECK_MODULES(XDM_PRINT, xaw7)
362PKG_CHECK_MODULES(DMCP, xdmcp)
363PKG_CHECK_MODULES(XLIB, x11)
364PKG_CHECK_MODULES(AUTH, xau)
365
366#
367# Greeter
368#
369
370AC_MSG_CHECKING([if the greeter should be built as a dynamically loaded shared object])
371
372AC_ARG_ENABLE(dynamic-greeter,
373	AC_HELP_STRING([--enable-dynamic-greeter],
374         [Build greeter as dynamically loaded shared object]),
375	[DYNAMIC_GREETER="$enableval"], [DYNAMIC_GREETER="auto"])
376
377# Not all OS'es built dynamic greeter in monolith, but all the ones supported
378# in the modular tree should be able to use it.   We'll leave this here in case
379# some are found that can't.
380if test "x$DYNAMIC_GREETER" = "xauto" ; then
381	case $host_os in
382	    *)	DYNAMIC_GREETER="yes" ;;
383	esac
384fi
385
386AC_MSG_RESULT([$DYNAMIC_GREETER])
387
388if test "x$DYNAMIC_GREETER" = "xyes" ; then
389
390	GREETER_CFLAGS="$GREETER_CFLAGS -DGREET_LIB"
391
392	# The xdm binary needs to export symbols so that they can be used from
393	# libXdmGreet.so.  Some platforms require extra flags to do this.   
394	# gcc should set these flags when -rdynamic is passed to it, other 
395	# compilers/linkers may need to be added
396	if test "x$GCC" = "xyes"; then
397		XDM_LDFLAGS="$XDM_LDFLAGS -rdynamic"
398	fi	
399
400	PKG_CHECK_MODULES(XDMGREET, xt x11 xext)
401
402	GREETERLIB="${XDMLIBDIR}/libXdmGreet.so"
403	AC_DEFINE_DIR(DEF_GREETER_LIB, GREETERLIB, 
404			[Location of Xdm Greeter library])
405
406	XDMGREET_CFLAGS="$XDMGREET_CFLAGS $XDM_PRINT_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $OS_CFLAGS $GREETER_CFLAGS $AUTH_CFLAGS"
407	XDMGREET_LIBS="$XDMGREET_LIBS $XDM_PRINT_LIBS $DMCP_LIBS $GREETER_LIBS"
408
409	AC_SUBST(XDMGREET_CFLAGS)
410	AC_SUBST(XDMGREET_LIBS)
411else
412	XDM_CFLAGS="$XDM_CFLAGS $XDM_PRINT_CFLAGS $GREETER_CFLAGS -DGREET_USER_STATIC"
413	XDM_LIBS="$XDM_LIBS $XDM_PRINT_LIBS $GREETER_LIBS"
414fi
415
416AM_CONDITIONAL(DYNAMIC_GREETER, test x$DYNAMIC_GREETER = xyes)
417
418#
419#  XDM
420#
421
422XDM_CFLAGS="$XDM_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $OS_CFLAGS $AUTH_CFLAGS"
423XDM_LIBS="$XDM_LIBS $DMCP_LIBS"
424
425AC_CHECK_LIB(Xdmcp, XdmcpWrap, [xdmauth="yes"], [xdmauth="no"], [$DMCP_LIBS])
426
427AC_ARG_ENABLE(xdm-auth,
428	AC_HELP_STRING([--enable-xdm-auth],
429       [Support XDM-AUTHENTICATION-1 and XDM-AUTHORIZATION-1 (default: auto)]),
430	[xdmauth_enable="$enableval"], [xdmauth_enable="auto"])
431if test "x$xdmauth_enable" = "xyes" -a "x$xdmauth" = "xno" ; then
432	AC_MSG_ERROR([XDM-AUTH support requested, but XdmcpWrap not found in libXdmcp.])
433fi
434
435AM_CONDITIONAL(HAS_XDM_AUTH, test x$xdmauth = xyes -a x$xdmauth_enable != xno)
436
437AC_SEARCH_LIBS(crypt, crypt)
438
439AC_SUBST(XDM_CFLAGS)
440AC_SUBST(XDM_LIBS)
441AC_SUBST(XDM_LDFLAGS)
442
443#
444# xdmshell
445#
446
447PKG_CHECK_MODULES(XT, xt)
448XDMSHELL_CFLAGS="$XDM_CFLAGS $XDM_PRINT_CFLAGS $AUTH_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $XT_CFLAGS"
449XDMSHELL_LIBS="$XDM_LIBS $XDM_PRINT_LIBS $DMCP_LIBS"
450
451AC_SUBST(XDMSHELL_CFLAGS)
452AC_SUBST(XDMSHELL_LIBS)
453
454#
455# Chooser
456#
457
458CHOOSER_CFLAGS="$CHOOSER_CFLAGS $XDM_PRINT_CFLAGS $XLIB_CFLAGS $DMCP_CFLAGS $AUTH_CFLAGS"
459CHOOSER_LIBS="$CHOOSER_LIBS $XDM_PRINT_LIBS $DMCP_LIBS"
460
461AC_SUBST(CHOOSER_CFLAGS)
462AC_SUBST(CHOOSER_LIBS)
463
464# Defaults for X session - should probably be configure --with-* flags
465# Currently just trying to mirror what defaults were set in Imake
466
467# -DDEF_SERVER_LINE=":0 local $(DEF_SERVER) :0"
468if test -z "$DEF_SERVER" ; then 
469	DEF_SERVER="${bindir}/X"
470fi
471if test -z "$DEF_SERVER_LINE" ; then 
472	DEF_SERVER_LINE=":0 local ${DEF_SERVER} :0"
473fi
474AC_DEFINE_DIR(DEF_SERVER_LINE, DEF_SERVER_LINE,
475	[Define to default Xserver file entry for local X server])
476
477# -DXRDB_PROGRAM="$(BINDIR)/xrdb"
478AC_ARG_WITH(xrdb, AC_HELP_STRING([--with-xrdb=path],
479			[Use path for xrdb (default: bindir/xrdb)]),
480	    [XRDB=$withval], [XRDB=${bindir}/xrdb])
481AC_DEFINE_DIR(XRDB_PROGRAM, XRDB, 
482	[Define to pathname for xrdb program])
483
484# -DDEF_SESSION="$(BINDIR)/xterm -ls"
485AC_ARG_WITH(default-session, AC_HELP_STRING([--with-default-session=command],
486		[Use command for default session (default: bindir/xterm -ls)]),
487	    [DEF_SESSION=$withval], [DEF_SESSION="${bindir}/xterm -ls"])
488AC_DEFINE_DIR(DEF_SESSION, DEF_SESSION,
489	[Define to default command to start X session])
490
491# -DDEF_USER_PATH="$(DEF_USER_PATH)"
492# Default values taken from DefaultUserPath setting in the
493# old Imake *.cf files for each platform
494if test -z "$DEF_USER_PATH" ; then
495	case $host_os in
496	    dragonfly*)
497		DEF_USER_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}:/usr/local/bin"
498		;;
499	    freebsd*)
500		DEF_USER_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}:/usr/gnu/bin:/usr/local/bin"
501		;;
502	    netbsd*)
503		DEF_USER_PATH="/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:${bindir}"
504		;;
505	    openbsd*|bsdi*)
506		DEF_USER_PATH="/bin:/usr/bin:/usr/local/bin:${bindir}"
507		;;
508	    solaris*)
509		DEF_USER_PATH="/usr/bin:${bindir}"
510		;;
511	    *)
512		DEF_USER_PATH="/bin:/usr/bin:${bindir}:/usr/ucb"
513		;;
514	esac
515fi
516AC_DEFINE_DIR(DEF_USER_PATH, DEF_USER_PATH,
517	[Define to default PATH environment variable for user sessions])
518
519# -DDEF_SYSTEM_PATH="$(DEF_SYSTEM_PATH)"
520# Default values taken from DefaultSystemPath setting in the
521# old Imake *.cf files for each platform
522if test -z "$DEF_SYSTEM_PATH" ; then
523	case $host_os in
524	    freebsd*|dragonfly*)
525		DEF_SYSTEM_PATH="/bin:/usr/bin:/sbin:/usr/sbin:${bindir}"
526		;;
527	    netbsd*|openbsd*|bsdi*)
528		DEF_SYSTEM_PATH="/sbin:/usr/sbin:/bin:/usr/bin:${bindir}"
529		;;
530	    solaris*)
531		DEF_SYSTEM_PATH="/sbin:/usr/sbin:/usr/bin:${bindir}"
532		;;
533	    *)
534		DEF_SYSTEM_PATH="/etc:/bin:/usr/bin:${bindir}:/usr/ucb"
535		;;
536	esac
537fi
538AC_DEFINE_DIR(DEF_SYSTEM_PATH, DEF_SYSTEM_PATH,
539	[Define to default PATH environment variable for system commands])
540
541# -DDEF_SYSTEM_SHELL="$(BOURNE_SHELL)"
542if test -z "$BOURNE_SHELL" ; then
543	BOURNE_SHELL=/bin/sh
544fi
545AC_DEFINE_DIR(DEF_SYSTEM_SHELL, BOURNE_SHELL,
546	[Define to default shell])
547
548# -DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm"
549
550AC_DEFINE_DIR(DEF_FAILSAFE_CLIENT, bindir/xterm,
551	[Define to default command to start failsafe X session])
552
553# -DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config"
554
555AC_DEFINE_DIR(DEF_XDM_CONFIG, XDMCONFIGDIR/xdm-config, 
556	[Define to pathname of default xdm-config file])
557
558# -DDEF_CHOOSER="$(CHOOSERPATH)"
559
560AC_DEFINE_DIR(DEF_CHOOSER, XDMLIBDIR/chooser, 
561	[Define to pathname of where chooser binary is installed])
562
563# -DDEF_AUTH_DIR="$(XDMDIR)"
564
565AC_ARG_WITH(authdir,
566	AC_HELP_STRING([--with-authdir=<pathname>],
567	  [specify directory for X auth files (default=/var/lib/xdm)]),
568	[XDMXAUTHDIR="$withval"], [XDMXAUTHDIR="/var/lib/xdm"])
569AC_SUBST(XDMXAUTHDIR)
570
571AC_DEFINE_DIR(DEF_AUTH_DIR, XDMXAUTHDIR,
572	[Define to pathname where authentication cookie files should be stored])
573
574# -DDEF_GREETER_LIB="$(XDMDIR)/libXdmGreet.so"
575
576AC_DEFINE_DIR(DEF_GREETER_LIB, XDMLIBDIR/libXdmGreet.so, 
577	[Define to pathname where greeter shared object is installed (if used)])
578
579PKG_CHECK_MODULES(APPDEFS, xt)
580xt_appdefaultdir=$(pkg-config --variable=appdefaultdir xt)
581AC_ARG_WITH(appdefaultdir,
582	AC_HELP_STRING([--with-appdefaultdir=<pathname>],
583	  [specify directory for app-defaults files (default is autodetected)]),
584	[appdefaultdir="$withval"], [appdefaultdir="${xt_appdefaultdir}"])
585AC_SUBST(appdefaultdir)
586
587AC_SUBST(MKTEMP_COMMAND)
588
589AC_OUTPUT([Makefile config/Makefile greeter/Makefile])
590