summaryrefslogtreecommitdiff
path: root/configure.ac
blob: f681fc9d917fc5caeaa42fc8bc9abc7f4d40c711 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
AC_PREREQ([2.64])

m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [0])
m4_define([wayland_micro_version], [0])
m4_define([wayland_version],
          [wayland_major_version.wayland_minor_version.wayland_micro_version])

AC_INIT([wayland],
        [wayland_version],
        [https://bugs.freedesktop.org/enter_bug.cgi?product=wayland],
        [wayland],
        [http://wayland.freedesktop.org/])

AC_SUBST([WAYLAND_VERSION_MAJOR], [wayland_major_version])
AC_SUBST([WAYLAND_VERSION_MINOR], [wayland_minor_version])
AC_SUBST([WAYLAND_VERSION_MICRO], [wayland_micro_version])
AC_SUBST([WAYLAND_VERSION], [wayland_version])

AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])

AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])

AM_SILENT_RULES([yes])

# Check for programs
AC_PROG_CC

# Initialize libtool
LT_PREREQ([2.2])
LT_INIT

PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES(FFI, [libffi])

if test "x$GCC" = "xyes"; then
	GCC_CFLAGS="-Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden"
fi
AC_SUBST(GCC_CFLAGS)

AC_CHECK_FUNCS([accept4 mkostemp])

AC_ARG_ENABLE([scanner],
              [AC_HELP_STRING([--disable-scanner],
                              [Disable compilation of wayland-scanner])],
              [],
              [enable_scanner=yes])

AC_ARG_ENABLE([documentation],
	      [AC_HELP_STRING([--disable-documentation],
		              [Disable building the documentation])],
	      [],
	      [enable_documentation=yes])

AM_CONDITIONAL(ENABLE_SCANNER, test "x$enable_scanner" = xyes)

AC_ARG_WITH(icondir, [  --with-icondir=<dir>    Look for cursor icons here],
		     [  ICONDIR=$withval],
		     [  ICONDIR=${datadir}/icons])
AC_SUBST([ICONDIR])

EXPAT_LIB=""
AC_ARG_WITH(expat, [  --with-expat=<dir>      Use expat from here],
		   [ expat=$withval
		     CPPFLAGS="$CPPFLAGS -I$withval/include"
		     LDFLAGS="$LDFLAGS -L$withval/lib" ] )
if test "x$enable_scanner" = "xyes"; then
	AC_CHECK_HEADERS(expat.h, [AC_DEFINE(HAVE_EXPAT_H)],
			 [AC_MSG_ERROR([Can't find expat.h. Please install expat.])])
	AC_CHECK_LIB(expat, XML_ParserCreate, [EXPAT_LIBS="-lexpat"],
		     [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
	AC_SUBST(EXPAT_LIBS)
fi

AC_PATH_PROG(XSLTPROC, xsltproc)
AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])

AM_CONDITIONAL(BUILD_DOCS, [test x$enable_documentation = xyes])
if test "x$enable_documentation" = "xyes"; then
	AC_PATH_PROG(DOXYGEN, doxygen)

	if test "x$DOXYGEN" = "x"; then
		AC_MSG_ERROR([Documentation build requested but doxygen not found. Install doxygen or disable the documentation using --disable-documentation])
	fi

	AC_PATH_PROG(PUBLICAN, publican)

	if test "x$PUBLICAN" != "x"; then
		PUBLICAN_VERSION=`$PUBLICAN -v | cut -d'=' -f2`

		if test [ 1 -eq `echo "${PUBLICAN_VERSION} < 2.8" | bc` ]; then
			AC_MSG_ERROR([Publican version is not supported. Install publican >= 2.8 or disable the documentation using --disable-documentation])
		fi
	fi

	AC_CONFIG_FILES([
	doc/doxygen/wayland.doxygen
	])

fi
AM_CONDITIONAL([HAVE_PUBLICAN], [test "x$PUBLICAN" != "x"])

AC_CONFIG_FILES([Makefile
		 wayland-scanner.m4
		 cursor/Makefile
		 cursor/wayland-cursor.pc
		 cursor/wayland-cursor-uninstalled.pc
		 doc/Makefile
		 doc/Wayland/Makefile
		 doc/doxygen/Makefile
		 doc/man/Makefile
		 src/Makefile
		 src/wayland-server-uninstalled.pc
		 src/wayland-client-uninstalled.pc
		 src/wayland-server.pc
		 src/wayland-client.pc
		 src/wayland-version.h
		 protocol/Makefile
		 tests/Makefile])
AC_OUTPUT