configure.ac revision 40c5823b
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],
2640c5823bSmrg        [1.2.0],
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
368f34cbf9SsnjAM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
37bbe1b32bSmrg
3830f8ce46Smrg# Require xorg-macros minimum of 1.10 for HAVE_STYLESHEETS in XORG_CHECK_SGML_DOCTOOLS
3930f8ce46Smrgm4_ifndef([XORG_MACROS_VERSION],
4030f8ce46Smrg	  [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])])
4130f8ce46SmrgXORG_MACROS_VERSION(1.10)
4230f8ce46SmrgXORG_DEFAULT_OPTIONS
4330f8ce46SmrgXORG_ENABLE_DEVEL_DOCS
4430f8ce46SmrgXORG_WITH_XMLTO(0.0.20)
4530f8ce46SmrgXORG_WITH_FOP
4630f8ce46SmrgXORG_CHECK_SGML_DOCTOOLS(1.5)
4730f8ce46SmrgXORG_WITH_LINT
48bbe1b32bSmrg
49bbe1b32bSmrgAC_CHECK_HEADERS([stdint.h])
50bbe1b32bSmrg
51bbe1b32bSmrgAC_ARG_WITH(default-config-file,
52bbe1b32bSmrg	AS_HELP_STRING([--with-default-config-file=PATH],
53bbe1b32bSmrg   [comma-separated list of paths to look for config file when not specified (default: ${sysconfdir}/X11/fs/config)]),
54bbe1b32bSmrg	[CONFIG_FILE="$withval"], [CONFIG_FILE="${sysconfdir}/X11/fs/config"])
55bbe1b32bSmrg
56bbe1b32bSmrgDEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g`
5730f8ce46SmrgAX_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE,
58bbe1b32bSmrg    [comma-separated list of strings for config file paths when not specified])
59bbe1b32bSmrg
60bbe1b32bSmrg# generate text for the man page
61bbe1b32bSmrgcase $CONFIG_FILE in
62bbe1b32bSmrg    *,*)
63ce6676dbSmrg	CONFIG_FILE_DESC="the first file found from the list:"
64bbe1b32bSmrg	CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'`
65bbe1b32bSmrg	;;
66bbe1b32bSmrg    *)
67bbe1b32bSmrg	CONFIG_FILE_DESC="the default file,"
68bbe1b32bSmrg	CONFIG_FILE_PATH="${CONFIG_FILE}"
69bbe1b32bSmrg	;;
70bbe1b32bSmrgesac
71bbe1b32bSmrgAC_SUBST([CONFIG_FILE_DESC])
72bbe1b32bSmrgAC_SUBST([CONFIG_FILE_PATH])
73bbe1b32bSmrg
7430f8ce46Smrg# Require X.Org's font util macros 1.1 or later for XORG_FONTROOTDIR
7530f8ce46Smrgm4_ifndef([XORG_FONT_MACROS_VERSION],
7630f8ce46Smrg	  [m4_fatal([must install X.Org font-util 1.1 or later before running autoconf/autogen])])
7730f8ce46SmrgXORG_FONT_MACROS_VERSION(1.1)
7830f8ce46Smrg
7930f8ce46SmrgXORG_FONTROOTDIR
8034f90d55SmrgXORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
8134f90d55SmrgXORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
8234f90d55SmrgXORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
8334f90d55SmrgXORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
8434f90d55SmrgXORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
8534f90d55SmrgXORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
8630f8ce46Smrg
87ce6676dbSmrg# Determine font path to put in config file
88ce6676dbSmrg# Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
8934f90d55Smrg# otherwise uses standard subdirectories of FONTROOTDIR. When cross
9034f90d55Smrg# compiling, assume default font path uses standard FONTROOTDIR directories.
9134f90d55SmrgDEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
9234f90d55Smrgif test "$cross_compiling" != yes; then
9334f90d55Smrg	AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
9434f90d55Smrg		[DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
9534f90d55Smrg		[case $host_os in
9634f90d55Smrg			darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
9734f90d55Smrg		esac])
9834f90d55Smrgfi
9934f90d55SmrgAC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
10034f90d55Smrg				[ FONTPATH="$withval" ],
10134f90d55Smrg				[ FONTPATH="${DEFAULT_FONT_PATH}" ])
10234f90d55Smrg
10334f90d55SmrgAC_MSG_CHECKING([for default font path])
10434f90d55SmrgAC_MSG_RESULT([$FONTPATH])
10534f90d55Smrg
106ce6676dbSmrgAC_SUBST([FONTPATH])
107ce6676dbSmrg
108ce6676dbSmrg# Option to enable support for starting from inetd
109ce6676dbSmrgAC_ARG_ENABLE(inetd,
110ce6676dbSmrg	AS_HELP_STRING([--enable-inetd],
111ce6676dbSmrg	    [Support -inetd flag for starting from inetd (default: enabled)]),
112ce6676dbSmrg	    [INETD=$enableval], [INETD=yes])
113ce6676dbSmrgif test "x$INETD" = xyes; then
114ce6676dbSmrg        AC_DEFINE(XFS_INETD, 1, [Build support for starting from inetd])
115ce6676dbSmrgfi
116ce6676dbSmrg
117ce6676dbSmrg# Option to enable support for logging to syslog
118ce6676dbSmrgAC_ARG_ENABLE(syslog,
119ce6676dbSmrg	AS_HELP_STRING([--enable-syslog],
120ce6676dbSmrg	    [Support option for logging via syslog (default: enabled)]),
121ce6676dbSmrg	    [SYSLOG=$enableval], [SYSLOG=yes])
122ce6676dbSmrgif test "x$SYSLOG" = xyes; then
123ce6676dbSmrg        AC_DEFINE(USE_SYSLOG, 1, [Build support for logging via syslog])
124ce6676dbSmrgfi
125ce6676dbSmrg
126ce6676dbSmrg
127ce6676dbSmrg# Checks for system functions / libraries
128ce6676dbSmrgAC_CHECK_FUNCS([daemon])
129ce6676dbSmrg
130bbe1b32bSmrg# Checks for pkg-config packages
13134f90d55Smrg#  - xproto >= 7.0.17 required for _X_NORETURN in <X11/Xfuncproto.h>
13240c5823bSmrg#  - xfont >= 2.0.1 for new server API
13340c5823bSmrgPKG_CHECK_MODULES(XFS, xproto >= 7.0.17 xfont2 >= 2.0.1 xtrans)
134bbe1b32bSmrg
1358f34cbf9Ssnjcase "$host_os" in
1368f34cbf9Ssnj  cygwin*|mingw*)
1378f34cbf9Ssnj    CFLAGS="$CFLAGS -DFD_SETSIZE=256"
1388f34cbf9Ssnj    LDFLAGS="$LDFLAGS -Wl,--export-all" ;;
1398f34cbf9Ssnjesac
1408f34cbf9Ssnj
141bbe1b32bSmrg# Transport selection macro from xtrans.m4
142bbe1b32bSmrgXTRANS_CONNECTION_FLAGS
143bbe1b32bSmrg
14430f8ce46SmrgAC_CONFIG_FILES([Makefile
14530f8ce46Smrg                 config/Makefile
14630f8ce46Smrg                 doc/Makefile
14730f8ce46Smrg                 man/Makefile])
14830f8ce46SmrgAC_OUTPUT
149