configure.ac revision 34f90d55
1bbe1b32bSmrgdnl  Copyright 2005 Red Hat, Inc.
2bbe1b32bSmrgdnl 
3bbe1b32bSmrgdnl  Permission to use, copy, modify, distribute, and sell this software and its
4bbe1b32bSmrgdnl  documentation for any purpose is hereby granted without fee, provided that
5bbe1b32bSmrgdnl  the above copyright notice appear in all copies and that both that
6bbe1b32bSmrgdnl  copyright notice and this permission notice appear in supporting
7bbe1b32bSmrgdnl  documentation, and that the name of Red Hat not be used in
8bbe1b32bSmrgdnl  advertising or publicity pertaining to distribution of the software without
9bbe1b32bSmrgdnl  specific, written prior permission.  Red Hat makes no
10bbe1b32bSmrgdnl  representations about the suitability of this software for any purpose.  It
11bbe1b32bSmrgdnl  is provided "as is" without express or implied warranty.
12bbe1b32bSmrgdnl 
13bbe1b32bSmrgdnl  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
14bbe1b32bSmrgdnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
15bbe1b32bSmrgdnl  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
16bbe1b32bSmrgdnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
17bbe1b32bSmrgdnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18bbe1b32bSmrgdnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19bbe1b32bSmrgdnl  PERFORMANCE OF THIS SOFTWARE.
20bbe1b32bSmrgdnl
21bbe1b32bSmrgdnl Process this file with autoconf to create configure.
22bbe1b32bSmrg
2330f8ce46Smrg# Initialize Autoconf
24ce6676dbSmrgAC_PREREQ([2.60])
2530f8ce46SmrgAC_INIT([xfs],
2634f90d55Smrg        [1.1.3],
2730f8ce46Smrg        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
2830f8ce46Smrg        [xfs])
29ce6676dbSmrg# Set common system defines for POSIX extensions, such as _GNU_SOURCE
30ce6676dbSmrg# Must be called before any macros that run the compiler (like AC_PROG_LIBTOOL)
31ce6676dbSmrgAC_USE_SYSTEM_EXTENSIONS
3234f90d55SmrgAC_CONFIG_HEADERS([config.h])
3330f8ce46SmrgAC_CONFIG_MACRO_DIR([m4])
34bbe1b32bSmrg
3530f8ce46Smrg# Initialize Automake
3630f8ce46SmrgAM_INIT_AUTOMAKE([foreign dist-bzip2])
3730f8ce46SmrgAM_MAINTAINER_MODE
38bbe1b32bSmrg
3930f8ce46Smrg# Require xorg-macros minimum of 1.10 for HAVE_STYLESHEETS in XORG_CHECK_SGML_DOCTOOLS
4030f8ce46Smrgm4_ifndef([XORG_MACROS_VERSION],
4130f8ce46Smrg	  [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
4230f8ce46SmrgXORG_MACROS_VERSION(1.10)
4330f8ce46SmrgXORG_DEFAULT_OPTIONS
4430f8ce46SmrgXORG_ENABLE_DEVEL_DOCS
4530f8ce46SmrgXORG_WITH_XMLTO(0.0.20)
4630f8ce46SmrgXORG_WITH_FOP
4730f8ce46SmrgXORG_CHECK_SGML_DOCTOOLS(1.5)
4830f8ce46SmrgXORG_WITH_LINT
49bbe1b32bSmrg
50bbe1b32bSmrgAC_CHECK_HEADERS([stdint.h])
51bbe1b32bSmrg
52bbe1b32bSmrgAC_ARG_WITH(default-config-file,
53bbe1b32bSmrg	AS_HELP_STRING([--with-default-config-file=PATH],
54bbe1b32bSmrg   [comma-separated list of paths to look for config file when not specified (default: ${sysconfdir}/X11/fs/config)]),
55bbe1b32bSmrg	[CONFIG_FILE="$withval"], [CONFIG_FILE="${sysconfdir}/X11/fs/config"])
56bbe1b32bSmrg
57bbe1b32bSmrgDEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g`
5830f8ce46SmrgAX_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE,
59bbe1b32bSmrg    [comma-separated list of strings for config file paths when not specified])
60bbe1b32bSmrg
61bbe1b32bSmrg# generate text for the man page
62bbe1b32bSmrgcase $CONFIG_FILE in
63bbe1b32bSmrg    *,*)
64ce6676dbSmrg	CONFIG_FILE_DESC="the first file found from the list:"
65bbe1b32bSmrg	CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'`
66bbe1b32bSmrg	;;
67bbe1b32bSmrg    *)
68bbe1b32bSmrg	CONFIG_FILE_DESC="the default file,"
69bbe1b32bSmrg	CONFIG_FILE_PATH="${CONFIG_FILE}"
70bbe1b32bSmrg	;;
71bbe1b32bSmrgesac
72bbe1b32bSmrgAC_SUBST([CONFIG_FILE_DESC])
73bbe1b32bSmrgAC_SUBST([CONFIG_FILE_PATH])
74bbe1b32bSmrg
7530f8ce46Smrg# Require X.Org's font util macros 1.1 or later for XORG_FONTROOTDIR
7630f8ce46Smrgm4_ifndef([XORG_FONT_MACROS_VERSION],
7730f8ce46Smrg	  [m4_fatal([must install X.Org font-util 1.1 or later before running autoconf/autogen])])
7830f8ce46SmrgXORG_FONT_MACROS_VERSION(1.1)
7930f8ce46Smrg
8030f8ce46SmrgXORG_FONTROOTDIR
8134f90d55SmrgXORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
8234f90d55SmrgXORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
8334f90d55SmrgXORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
8434f90d55SmrgXORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
8534f90d55SmrgXORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
8634f90d55SmrgXORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
8730f8ce46Smrg
88ce6676dbSmrg# Determine font path to put in config file
89ce6676dbSmrg# Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
9034f90d55Smrg# otherwise uses standard subdirectories of FONTROOTDIR. When cross
9134f90d55Smrg# compiling, assume default font path uses standard FONTROOTDIR directories.
9234f90d55SmrgDEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
9334f90d55Smrgif test "$cross_compiling" != yes; then
9434f90d55Smrg	AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
9534f90d55Smrg		[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
9634f90d55Smrg		[case $host_os in
9734f90d55Smrg			darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
9834f90d55Smrg		esac])
9934f90d55Smrgfi
10034f90d55SmrgAC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
10134f90d55Smrg				[ FONTPATH="$withval" ],
10234f90d55Smrg				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
10334f90d55Smrg
10434f90d55SmrgAC_MSG_CHECKING([for default font path])
10534f90d55SmrgAC_MSG_RESULT([$FONTPATH])
10634f90d55Smrg
107ce6676dbSmrgAC_SUBST([FONTPATH])
108ce6676dbSmrg
109ce6676dbSmrg# Option to enable support for starting from inetd
110ce6676dbSmrgAC_ARG_ENABLE(inetd,
111ce6676dbSmrg	AS_HELP_STRING([--enable-inetd],
112ce6676dbSmrg	    [Support -inetd flag for starting from inetd (default: enabled)]),
113ce6676dbSmrg	    [INETD=$enableval], [INETD=yes])
114ce6676dbSmrgif test "x$INETD" = xyes; then
115ce6676dbSmrg        AC_DEFINE(XFS_INETD, 1, [Build support for starting from inetd])
116ce6676dbSmrgfi
117ce6676dbSmrg
118ce6676dbSmrg# Option to enable support for logging to syslog
119ce6676dbSmrgAC_ARG_ENABLE(syslog,
120ce6676dbSmrg	AS_HELP_STRING([--enable-syslog],
121ce6676dbSmrg	    [Support option for logging via syslog (default: enabled)]),
122ce6676dbSmrg	    [SYSLOG=$enableval], [SYSLOG=yes])
123ce6676dbSmrgif test "x$SYSLOG" = xyes; then
124ce6676dbSmrg        AC_DEFINE(USE_SYSLOG, 1, [Build support for logging via syslog])
125ce6676dbSmrgfi
126ce6676dbSmrg
127ce6676dbSmrg
128ce6676dbSmrg# Checks for system functions / libraries
129ce6676dbSmrgAC_CHECK_FUNCS([daemon])
130ce6676dbSmrg
131bbe1b32bSmrg# Checks for pkg-config packages
13234f90d55Smrg#  - xproto >= 7.0.17 required for _X_NORETURN in <X11/Xfuncproto.h>
13334f90d55Smrg#  - xfont >= 1.4.5 required for matching MakeAtom prototypes in fontmisc.h
13434f90d55SmrgPKG_CHECK_MODULES(XFS, xproto >= 7.0.17 xfont >= 1.4.5 xtrans)
135bbe1b32bSmrg
136bbe1b32bSmrg# Transport selection macro from xtrans.m4
137bbe1b32bSmrgXTRANS_CONNECTION_FLAGS
138bbe1b32bSmrg
13930f8ce46SmrgAC_CONFIG_FILES([Makefile
14030f8ce46Smrg                 config/Makefile
14130f8ce46Smrg                 doc/Makefile
14230f8ce46Smrg                 man/Makefile])
14330f8ce46SmrgAC_OUTPUT
144