configure.ac revision c81d8f5e
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
23c81d8f5eSmrg# Initialize Autoconf
2429004570SmrgAC_PREREQ([2.60])
25c81d8f5eSmrgAC_INIT([xinit], [1.3.1],
2629004570Smrg        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xinit])
27c81d8f5eSmrgAC_CONFIG_SRCDIR([Makefile.am])
28c81d8f5eSmrgAC_CONFIG_HEADERS([config.h])
29c81d8f5eSmrg
30c81d8f5eSmrg# Initialize Automake
31bf4a254eSmrgAM_INIT_AUTOMAKE([foreign dist-bzip2])
32a73027baSmrgAM_MAINTAINER_MODE
33a73027baSmrg
3429004570Smrg# Require X.Org macros 1.8 or later for AC_PROG_SED in XORG_DEFAULT_OPTIONS
35bf4a254eSmrgm4_ifndef([XORG_MACROS_VERSION],
3629004570Smrg          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
3729004570SmrgXORG_MACROS_VERSION(1.8)
38bf4a254eSmrgXORG_DEFAULT_OPTIONS
39bf4a254eSmrg
40a73027baSmrgXORG_PROG_RAWCPP
41a73027baSmrgAC_CANONICAL_HOST
42a73027baSmrg
43a73027baSmrg# Build options
44a73027baSmrgDEFAULT_XRDB=xrdb
45a73027baSmrgDEFAULT_XMODMAP=xmodmap
46a73027baSmrgDEFAULT_TWM=twm
47a73027baSmrgDEFAULT_XCLOCK=xclock
48a73027baSmrgDEFAULT_XTERM=xterm
49a73027baSmrg# You always want to specify the full path to the X server
50a73027baSmrgDEFAULT_XSERVER=${bindir}/X
51a73027baSmrgDEFAULT_XAUTH=xauth
52a73027baSmrgDEFAULT_XINIT=xinit
53bf4a254eSmrgDEFAULT_XINITDIR=${libdir}/X11/xinit
54a73027baSmrg
55a73027baSmrgAC_ARG_WITH(xrdb,
56a73027baSmrg	 AS_HELP_STRING([--with-xrdb=XRDB], [Path to xrdb]),
57a73027baSmrg	[XRDB="$withval"],
58a73027baSmrg	[XRDB="$DEFAULT_XRDB"])
59a73027baSmrg
60a73027baSmrgAC_ARG_WITH(xmodmap,
61a73027baSmrg	 AS_HELP_STRING([--with-xmodmap=XMODMAP], [Path to xmodmap]),
62a73027baSmrg	[XMODMAP="$withval"],
63a73027baSmrg	[XMODMAP="$DEFAULT_XMODMAP"])
64a73027baSmrg
65a73027baSmrgAC_ARG_WITH(twm,
66a73027baSmrg	 AS_HELP_STRING([--with-twm=TWM], [Path to twm]),
67a73027baSmrg	[TWM="$withval"],
68a73027baSmrg	[TWM="$DEFAULT_TWM"])
69a73027baSmrg
70a73027baSmrgAC_ARG_WITH(xclock,
71a73027baSmrg	 AS_HELP_STRING([--with-xclock=XCLOCK], [Path to xclock]),
72a73027baSmrg	[XCLOCK="$withval"],
73a73027baSmrg	[XCLOCK="$DEFAULT_XCLOCK"])
74a73027baSmrg
75a73027baSmrgAC_ARG_WITH(xterm,
76a73027baSmrg	 AS_HELP_STRING([--with-xterm=XTERM], [Path to xterm]),
77a73027baSmrg	[XTERM="$withval"],
78a73027baSmrg	[XTERM="$DEFAULT_XTERM"])
79a73027baSmrg
80a73027baSmrgAC_ARG_WITH(xserver,
81a73027baSmrg	 AS_HELP_STRING([--with-xserver=XSERVER], [Path to default X server]),
82a73027baSmrg	[XSERVER="$withval"],
83a73027baSmrg	[XSERVER="$DEFAULT_XSERVER"])
84a73027baSmrg
85a73027baSmrgAC_ARG_WITH(xauth,
86a73027baSmrg	 AS_HELP_STRING([--with-xauth=XAUTH], [Path to xauth]),
87a73027baSmrg	[XAUTH="$withval"],
88a73027baSmrg	[XAUTH="$DEFAULT_XAUTH"])
89a73027baSmrg
90a73027baSmrgAC_ARG_WITH(xinit,
91a73027baSmrg	 AS_HELP_STRING([--with-xinit=XINIT], [Path to xinit]),
92a73027baSmrg	[XINIT="$withval"],
93a73027baSmrg	[XINIT="$DEFAULT_XINIT"])
94a73027baSmrg
95bf4a254eSmrgAC_ARG_WITH(xinitdir,
96bf4a254eSmrg	 AS_HELP_STRING([--with-xinitdir=XINITDIR], [Path to xinitdir]),
97bf4a254eSmrg	[XINITDIR="$withval"],
98bf4a254eSmrg	[XINITDIR="$DEFAULT_XINITDIR"])
99bf4a254eSmrg
100a73027baSmrgAC_ARG_WITH(launchd,            AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
101a73027baSmrgAC_ARG_WITH(launchagents-dir,   AS_HELP_STRING([--with-launchagents-dir=PATH], [Path to launchd's LaunchAgents directory (default: /Library/LaunchAgents)]),
102a73027baSmrg                                [ launchagentsdir="${withval}" ],
103a73027baSmrg                                [ launchagentsdir="/Library/LaunchAgents" ])
104a73027baSmrgAC_ARG_WITH(launchdaemons-dir,  AS_HELP_STRING([--with-launchdaemons-dir=PATH], [Path to launchd's LaunchDaemonss directory (default: /Library/LaunchDaemons)]),
105a73027baSmrg                                [ launchdaemonsdir="${withval}" ],
106a73027baSmrg                                [ launchdaemonsdir="/Library/LaunchDaemons" ])
107c81d8f5eSmrgAC_ARG_WITH(launchd-id-prefix,  AS_HELP_STRING([--with-launchd-id-prefix=PATH], [Deprecated: Use --with-bundle-id-prefix.]),
108c81d8f5eSmrg                                [ bundleidprefix="${withval}" ],
109c81d8f5eSmrg                                [ bundleidprefix="org.x" ])
110c81d8f5eSmrgAC_ARG_WITH(bundle-id-prefix,  AS_HELP_STRING([--with-bundle-id-prefix=PATH], [Prefix to use for bundle identifiers (default: org.x)]),
111c81d8f5eSmrg                                [ bundleidprefix="${withval}" ])
112a73027baSmrg
113a73027baSmrgif test "x$LAUNCHD" = "xauto"; then
114a73027baSmrg	unset LAUNCHD
11529004570Smrg	AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no], [$PATH$PATH_SEPARATOR/sbin])
116a73027baSmrgfi
117a73027baSmrg
11872e81212SmrgTIGER_LAUNCHD=no
119a73027baSmrgif test "x$LAUNCHD" = "xyes" ; then
120a73027baSmrg	AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
12172e81212Smrg	case $host_os in
12272e81212Smrg		darwin8*)
12372e81212Smrg			TIGER_LAUNCHD=yes
12472e81212Smrg		;;
12572e81212Smrg	esac
126c81d8f5eSmrg        AC_CHECK_FUNC(dispatch_async,
127c81d8f5eSmrg                              AC_DEFINE([HAVE_LIBDISPATCH], 1, [Define to 1 if you have the libdispatch (GCD) available]),
128c81d8f5eSmrg                              [])
129a73027baSmrgelse
130a73027baSmrg        launchagentsdir=""
131a73027baSmrg        launchdaemonsdir=""
132a73027baSmrgfi
133bf4a254eSmrg
134c81d8f5eSmrgAC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$bundleidprefix", [Prefix to use for launchd identifiers])
135a73027baSmrgAC_SUBST([launchagentsdir])
136a73027baSmrgAC_SUBST([launchdaemonsdir])
137c81d8f5eSmrgAC_SUBST([bundleidprefix])
138a73027baSmrgAM_CONDITIONAL(LAUNCHD, [test "x$LAUNCHD" = "xyes"])
13972e81212SmrgAM_CONDITIONAL(TIGER_LAUNCHD, [test "x$TIGER_LAUNCHD" = "xyes"])
140a73027baSmrg
141a73027baSmrg# Checks for pkg-config packages
142a73027baSmrgPKG_CHECK_MODULES(XINIT, x11)
143a73027baSmrg
144a73027baSmrgcase $host_os in
145a73027baSmrg    *bsd*)
146a73027baSmrg        XINIT_CFLAGS="$XINIT_CFLAGS -DCSRG_BASED"
147a73027baSmrg        ;;
148a73027baSmrgesac
149a73027baSmrg
150a73027baSmrg
151a73027baSmrgAC_PATH_PROGS(MCOOKIE, [mcookie], [$MCOOKIE],
152a73027baSmrg  [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/local/bin])
153a73027baSmrg
154a73027baSmrgcase $host_os in
155a73027baSmrg	*openbsd*)
156a73027baSmrg	MCOOKIE='/usr/sbin/openssl rand -hex 16'
157a73027baSmrg	;;
158a73027baSmrg	*solaris*)
159a73027baSmrg	MCOOKIE="/usr/bin/od -X -A n -N 16 /dev/urandom | /usr/bin/tr -d ' '"
160a73027baSmrg	;;
161a73027baSmrgesac
162a73027baSmrg
163a73027baSmrgif test "x$MCOOKIE" != x ; then
164a73027baSmrg	STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="$(MCOOKIE)"'
165a73027baSmrgfi
166a73027baSmrgAC_SUBST(STARTX_COOKIE_FLAGS)
167a73027baSmrg
168a73027baSmrg# Additional substitutions in startx, xinitrc & man pages
169bf4a254eSmrgSHELL_CMD="/bin/sh"
170bf4a254eSmrgXSERVERNAME="Xorg"
171bf4a254eSmrgXCONFIGFILE="xorg.conf"
172c81d8f5eSmrgXCONFIGFILEMAN='${XCONFIGFILE} (${FILE_MAN_SUFFIX})'
173a73027baSmrgcase $host_os in
174bf4a254eSmrg    cygwin*)
175bf4a254eSmrg	XSERVERNAME="XWin"
176bf4a254eSmrg	XCONFIGFILE="XWinrc"
177bf4a254eSmrg	;;
178bf4a254eSmrg    darwin*)
179bf4a254eSmrg	XSERVERNAME="Xquartz"
180bf4a254eSmrg	XCONFIGFILE="defaults"
181bf4a254eSmrg	XCONFIGFILEMAN='defaults (1)'
182bf4a254eSmrg	;;
183a73027baSmrg    *solaris*)
184a73027baSmrg	SHELL_CMD="/bin/ksh"
185a73027baSmrg	;;
186a73027baSmrg    *sco*)
187a73027baSmrg	SHELL_CMD="/bin/ksh"
188c81d8f5eSmrg	SCOMAN=1
189a73027baSmrg	;;
190a73027baSmrgesac
191a73027baSmrgAC_SUBST(SHELL_CMD)
192c81d8f5eSmrgAC_SUBST(SCOMAN)
193bf4a254eSmrgAC_SUBST(XSERVERNAME)
194bf4a254eSmrgAC_SUBST(XCONFIGFILE)
195bf4a254eSmrgAC_SUBST(XCONFIGFILEMAN)
196a73027baSmrg
197a73027baSmrgAC_SUBST(XRDB)
198a73027baSmrgAC_SUBST(XMODMAP)
199a73027baSmrgAC_SUBST(TWM)
200a73027baSmrgAC_SUBST(XCLOCK)
201a73027baSmrgAC_SUBST(XTERM)
202a73027baSmrgAC_SUBST(XSERVER)
203a73027baSmrgAC_SUBST(XAUTH)
204a73027baSmrgAC_SUBST(XINIT)
205bf4a254eSmrgAC_SUBST(XINITDIR)
206a73027baSmrg
207c81d8f5eSmrgAC_CONFIG_FILES([Makefile
208c81d8f5eSmrg	man/Makefile
209c81d8f5eSmrg	launchd/Makefile
210c81d8f5eSmrg	launchd/privileged_startx/Makefile
211c81d8f5eSmrg	launchd/user_startx/Makefile])
212c81d8f5eSmrgAC_OUTPUT
213