configure.ac revision bf4a254e
1a73027baSmrgdnl  Copyright 2005 Red Hat, Inc.
2a73027baSmrgdnl 
3a73027baSmrgdnl  Permission to use, copy, modify, distribute, and sell this software and its
4a73027baSmrgdnl  documentation for any purpose is hereby granted without fee, provided that
5a73027baSmrgdnl  the above copyright notice appear in all copies and that both that
6a73027baSmrgdnl  copyright notice and this permission notice appear in supporting
7a73027baSmrgdnl  documentation, and that the name of Red Hat not be used in
8a73027baSmrgdnl  advertising or publicity pertaining to distribution of the software without
9a73027baSmrgdnl  specific, written prior permission.  Red Hat makes no
10a73027baSmrgdnl  representations about the suitability of this software for any purpose.  It
11a73027baSmrgdnl  is provided "as is" without express or implied warranty.
12a73027baSmrgdnl 
13a73027baSmrgdnl  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
14a73027baSmrgdnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
15a73027baSmrgdnl  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
16a73027baSmrgdnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
17a73027baSmrgdnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18a73027baSmrgdnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19a73027baSmrgdnl  PERFORMANCE OF THIS SOFTWARE.
20a73027baSmrgdnl
21a73027baSmrgdnl Process this file with autoconf to create configure.
22a73027baSmrg
23a73027baSmrgAC_PREREQ([2.57])
24bf4a254eSmrgAC_INIT(xinit,[1.2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xinit)
25bf4a254eSmrgAM_INIT_AUTOMAKE([foreign dist-bzip2])
26a73027baSmrgAM_MAINTAINER_MODE
27a73027baSmrg
28bf4a254eSmrg# Require xorg-macros: XORG_DEFAULT_OPTIONS
29bf4a254eSmrgm4_ifndef([XORG_MACROS_VERSION],
30bf4a254eSmrg          [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
31bf4a254eSmrgXORG_MACROS_VERSION(1.3)
32bf4a254eSmrgXORG_DEFAULT_OPTIONS
33bf4a254eSmrg
34a73027baSmrgAM_CONFIG_HEADER(config.h)
35a73027baSmrg
36a73027baSmrgAC_PROG_CC
37a73027baSmrgAM_PROG_CC_C_O
38a73027baSmrgXORG_PROG_RAWCPP
39a73027baSmrgAC_PROG_INSTALL
40a73027baSmrgAC_PATH_PROG(SED,sed)
41a73027baSmrgAC_CANONICAL_HOST
42a73027baSmrg
43a73027baSmrgAC_TYPE_SIGNAL
44a73027baSmrgAC_FUNC_FORK
45a73027baSmrg
46a73027baSmrgAC_CHECK_FUNCS([killpg])
47a73027baSmrg
48a73027baSmrgm4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
49a73027baSmrg
50bf4a254eSmrg
51a73027baSmrg# Build options
52a73027baSmrgDEFAULT_XRDB=xrdb
53a73027baSmrgDEFAULT_XMODMAP=xmodmap
54a73027baSmrgDEFAULT_TWM=twm
55a73027baSmrgDEFAULT_XCLOCK=xclock
56a73027baSmrgDEFAULT_XTERM=xterm
57a73027baSmrg# You always want to specify the full path to the X server
58a73027baSmrgDEFAULT_XSERVER=${bindir}/X
59a73027baSmrgDEFAULT_XAUTH=xauth
60a73027baSmrgDEFAULT_XINIT=xinit
61bf4a254eSmrgDEFAULT_XINITDIR=${libdir}/X11/xinit
62a73027baSmrg
63a73027baSmrgAC_ARG_WITH(xrdb,
64a73027baSmrg	 AS_HELP_STRING([--with-xrdb=XRDB], [Path to xrdb]),
65a73027baSmrg	[XRDB="$withval"],
66a73027baSmrg	[XRDB="$DEFAULT_XRDB"])
67a73027baSmrg
68a73027baSmrgAC_ARG_WITH(xmodmap,
69a73027baSmrg	 AS_HELP_STRING([--with-xmodmap=XMODMAP], [Path to xmodmap]),
70a73027baSmrg	[XMODMAP="$withval"],
71a73027baSmrg	[XMODMAP="$DEFAULT_XMODMAP"])
72a73027baSmrg
73a73027baSmrgAC_ARG_WITH(twm,
74a73027baSmrg	 AS_HELP_STRING([--with-twm=TWM], [Path to twm]),
75a73027baSmrg	[TWM="$withval"],
76a73027baSmrg	[TWM="$DEFAULT_TWM"])
77a73027baSmrg
78a73027baSmrgAC_ARG_WITH(xclock,
79a73027baSmrg	 AS_HELP_STRING([--with-xclock=XCLOCK], [Path to xclock]),
80a73027baSmrg	[XCLOCK="$withval"],
81a73027baSmrg	[XCLOCK="$DEFAULT_XCLOCK"])
82a73027baSmrg
83a73027baSmrgAC_ARG_WITH(xterm,
84a73027baSmrg	 AS_HELP_STRING([--with-xterm=XTERM], [Path to xterm]),
85a73027baSmrg	[XTERM="$withval"],
86a73027baSmrg	[XTERM="$DEFAULT_XTERM"])
87a73027baSmrg
88a73027baSmrgAC_ARG_WITH(xserver,
89a73027baSmrg	 AS_HELP_STRING([--with-xserver=XSERVER], [Path to default X server]),
90a73027baSmrg	[XSERVER="$withval"],
91a73027baSmrg	[XSERVER="$DEFAULT_XSERVER"])
92a73027baSmrg
93a73027baSmrgAC_ARG_WITH(xauth,
94a73027baSmrg	 AS_HELP_STRING([--with-xauth=XAUTH], [Path to xauth]),
95a73027baSmrg	[XAUTH="$withval"],
96a73027baSmrg	[XAUTH="$DEFAULT_XAUTH"])
97a73027baSmrg
98a73027baSmrgAC_ARG_WITH(xinit,
99a73027baSmrg	 AS_HELP_STRING([--with-xinit=XINIT], [Path to xinit]),
100a73027baSmrg	[XINIT="$withval"],
101a73027baSmrg	[XINIT="$DEFAULT_XINIT"])
102a73027baSmrg
103bf4a254eSmrgAC_ARG_WITH(xinitdir,
104bf4a254eSmrg	 AS_HELP_STRING([--with-xinitdir=XINITDIR], [Path to xinitdir]),
105bf4a254eSmrg	[XINITDIR="$withval"],
106bf4a254eSmrg	[XINITDIR="$DEFAULT_XINITDIR"])
107bf4a254eSmrg
108a73027baSmrgAC_ARG_WITH(launchd,            AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
109a73027baSmrgAC_ARG_WITH(launchagents-dir,   AS_HELP_STRING([--with-launchagents-dir=PATH], [Path to launchd's LaunchAgents directory (default: /Library/LaunchAgents)]),
110a73027baSmrg                                [ launchagentsdir="${withval}" ],
111a73027baSmrg                                [ launchagentsdir="/Library/LaunchAgents" ])
112a73027baSmrgAC_ARG_WITH(launchdaemons-dir,  AS_HELP_STRING([--with-launchdaemons-dir=PATH], [Path to launchd's LaunchDaemonss directory (default: /Library/LaunchDaemons)]),
113a73027baSmrg                                [ launchdaemonsdir="${withval}" ],
114a73027baSmrg                                [ launchdaemonsdir="/Library/LaunchDaemons" ])
115bf4a254eSmrgAC_ARG_WITH(launchd-id-prefix,  AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Prefix to use for launchd identifiers (default: org.x)]),
116bf4a254eSmrg                                [ launchdidprefix="${withval}" ],
117bf4a254eSmrg                                [ launchdidprefix="org.x" ])
118a73027baSmrg
119a73027baSmrgif test "x$LAUNCHD" = "xauto"; then
120a73027baSmrg	unset LAUNCHD
12172e81212Smrg	AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no])
122a73027baSmrgfi
123a73027baSmrg
12472e81212SmrgTIGER_LAUNCHD=no
125a73027baSmrgif test "x$LAUNCHD" = "xyes" ; then
126a73027baSmrg	AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
12772e81212Smrg	case $host_os in
12872e81212Smrg		darwin8*)
12972e81212Smrg			TIGER_LAUNCHD=yes
13072e81212Smrg		;;
13172e81212Smrg	esac
132a73027baSmrgelse
133a73027baSmrg        launchagentsdir=""
134a73027baSmrg        launchdaemonsdir=""
135a73027baSmrgfi
136bf4a254eSmrg
137bf4a254eSmrgAC_DEFINE_UNQUOTED(LAUNCHD_ID_PREFIX, "$launchdidprefix", [Prefix to use for launchd identifiers])
138a73027baSmrgAC_SUBST([launchagentsdir])
139a73027baSmrgAC_SUBST([launchdaemonsdir])
140bf4a254eSmrgAC_SUBST([launchdidprefix])
141a73027baSmrgAM_CONDITIONAL(LAUNCHD, [test "x$LAUNCHD" = "xyes"])
14272e81212SmrgAM_CONDITIONAL(TIGER_LAUNCHD, [test "x$TIGER_LAUNCHD" = "xyes"])
143a73027baSmrg
144a73027baSmrg# Checks for pkg-config packages
145a73027baSmrgPKG_CHECK_MODULES(XINIT, x11)
146a73027baSmrg
147a73027baSmrgcase $host_os in
148a73027baSmrg    *bsd*)
149a73027baSmrg        XINIT_CFLAGS="$XINIT_CFLAGS -DCSRG_BASED"
150a73027baSmrg        ;;
151a73027baSmrgesac
152a73027baSmrg
153a73027baSmrgAC_SUBST(XINIT_CFLAGS)
154a73027baSmrgAC_SUBST(XINIT_LIBS)
155a73027baSmrg
156a73027baSmrgAC_PATH_PROGS(MCOOKIE, [mcookie], [$MCOOKIE],
157a73027baSmrg  [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/local/bin])
158a73027baSmrg
159a73027baSmrgcase $host_os in
160a73027baSmrg	*openbsd*)
161a73027baSmrg	MCOOKIE='/usr/sbin/openssl rand -hex 16'
162a73027baSmrg	;;
163a73027baSmrg	*solaris*)
164a73027baSmrg	MCOOKIE="/usr/bin/od -X -A n -N 16 /dev/urandom | /usr/bin/tr -d ' '"
165a73027baSmrg	;;
166a73027baSmrgesac
167a73027baSmrg
168a73027baSmrgif test "x$MCOOKIE" != x ; then
169a73027baSmrg	STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="$(MCOOKIE)"'
170a73027baSmrgfi
171a73027baSmrgAC_SUBST(STARTX_COOKIE_FLAGS)
172a73027baSmrg
173a73027baSmrg# Additional substitutions in startx, xinitrc & man pages
174bf4a254eSmrgARCHMANDEFS=""
175bf4a254eSmrgSHELL_CMD="/bin/sh"
176bf4a254eSmrgXSERVERNAME="Xorg"
177bf4a254eSmrgXCONFIGFILE="xorg.conf"
178bf4a254eSmrgXCONFIGFILEMAN='${XCONFIGFILE} (__filemansuffix__)'
179a73027baSmrgcase $host_os in
180bf4a254eSmrg    cygwin*)
181bf4a254eSmrg	XSERVERNAME="XWin"
182bf4a254eSmrg	XCONFIGFILE="XWinrc"
183bf4a254eSmrg	;;
184bf4a254eSmrg    darwin*)
185bf4a254eSmrg	XSERVERNAME="Xquartz"
186bf4a254eSmrg	XCONFIGFILE="defaults"
187bf4a254eSmrg	XCONFIGFILEMAN='defaults (1)'
188bf4a254eSmrg	;;
189a73027baSmrg    *solaris*)
190a73027baSmrg	SHELL_CMD="/bin/ksh"
191a73027baSmrg	;;
192a73027baSmrg    *sco*)
193a73027baSmrg	SHELL_CMD="/bin/ksh"
194a73027baSmrg	ARCHMANDEFS="-D__SCOMAN__"
195a73027baSmrg	;;
196a73027baSmrgesac
197a73027baSmrgAC_SUBST(SHELL_CMD)
198a73027baSmrgAC_SUBST(ARCHMANDEFS)
199bf4a254eSmrgAC_SUBST(XSERVERNAME)
200bf4a254eSmrgAC_SUBST(XCONFIGFILE)
201bf4a254eSmrgAC_SUBST(XCONFIGFILEMAN)
202a73027baSmrg
203a73027baSmrgAC_SUBST(XRDB)
204a73027baSmrgAC_SUBST(XMODMAP)
205a73027baSmrgAC_SUBST(TWM)
206a73027baSmrgAC_SUBST(XCLOCK)
207a73027baSmrgAC_SUBST(XTERM)
208a73027baSmrgAC_SUBST(XSERVER)
209a73027baSmrgAC_SUBST(XAUTH)
210a73027baSmrgAC_SUBST(XINIT)
211bf4a254eSmrgAC_SUBST(XINITDIR)
212a73027baSmrg
213a73027baSmrgAC_OUTPUT([Makefile])
214a73027baSmrgAC_OUTPUT([privileged_startx/Makefile])
215