Codebase list wayland / 57c3b339-d456-4cdb-bfbb-68b1bb831648/main configure.ac
57c3b339-d456-4cdb-bfbb-68b1bb831648/main

Tree @57c3b339-d456-4cdb-bfbb-68b1bb831648/main (Download .tar.gz)

configure.ac @57c3b339-d456-4cdb-bfbb-68b1bb831648/main

5b7e43a
18a770c
14b76a0
e091839
 
18a770c
 
 
5b7e43a
18a770c
7846d4b
5b7e43a
7846d4b
5b7e43a
18a770c
 
 
 
 
d0c3b9d
5b7e43a
 
267b288
5b7e43a
f0152da
d4de54e
5b7e43a
 
e3dc9a7
b5fca03
f66e2d5
6903e4d
e3dc9a7
 
 
 
 
 
 
 
 
 
 
5b7e43a
 
 
f34af17
5b7e43a
d4de54e
 
8216abc
 
 
 
 
 
 
 
 
48f975d
8216abc
d4de54e
 
 
371c26d
 
ff50f6b
5cfdbef
 
 
 
 
bc3e020
21f80b8
 
 
53200f0
21f80b8
53200f0
ecfb79b
 
 
 
 
 
f66e2d5
 
 
 
4a41d26
f66e2d5
21f80b8
53200f0
5cfdbef
 
dd8891b
 
 
 
 
5cfdbef
bc3b66d
5cfdbef
 
 
 
 
 
 
 
 
 
 
bd56f9e
a1f3f60
4a41d26
 
f66e2d5
 
 
 
 
015c42e
eccc324
015c42e
e8ce683
 
 
 
 
 
 
 
 
 
 
 
 
 
0087608
ecfb79b
0087608
 
 
 
 
 
480b437
 
 
 
 
 
 
 
f3e7eed
e2db4cf
f3e7eed
 
5606167
 
b5fca03
 
 
 
 
313b26f
b5fca03
 
 
 
 
 
e2db4cf
 
 
 
ecfb79b
f3e7eed
c3d56a0
fcfb4e3
775002c
693e598
c3d56a0
9d296fc
e2db4cf
49dee9a
1fcb4d1
 
693e598
 
40fc79d
4c260db
015c42e
40fc79d
7ecb102
4a8767b
AC_PREREQ([2.64])

m4_define([wayland_major_version],  [1])
m4_define([wayland_minor_version], [17])
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://gitlab.freedesktop.org/wayland/wayland/issues/],
        [wayland],
        [https://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 subdir-objects])

AM_SILENT_RULES([yes])

# Check for programs
AC_PROG_CC
AC_PROG_CXX
AC_PROG_GREP
AM_PROG_AS
AC_PROG_NM

# check if we have C++ compiler. This is hacky workaround,
# for a reason why it is this way see
# http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
have_cpp_compiler=yes

if ! which "$CXX" &>/dev/null; then
	have_cpp_compiler=no
fi

AM_CONDITIONAL(ENABLE_CPP_TEST, test "x$have_cpp_compiler" = "xyes")

# Initialize libtool
LT_PREREQ([2.2])
LT_INIT([disable-static])

PKG_PROG_PKG_CONFIG()

AC_ARG_ENABLE([fatal-warnings],
	      AC_HELP_STRING([--enable-fatal-warnings],
			     [Build with -Werror]),
	      [enable_fatal_warnings=$enableval],
	      [enable_fatal_warnings=no])
AS_IF([test x"$enable_fatal_warnings" != "xno"], [
      WERROR_CFLAGS="-Werror"
])

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

AC_CHECK_HEADERS([sys/prctl.h])
AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl])

AC_ARG_ENABLE([libraries],
	      [AC_HELP_STRING([--disable-libraries],
			      [Disable compilation of wayland libraries])],
	      [],
	      [enable_libraries=yes])

AC_ARG_WITH([host-scanner],
              [AC_HELP_STRING([--with-host-scanner],
                              [Use installed wayland-scanner from host PATH during build])],
              [],
              [with_host_scanner=no])

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

AC_ARG_ENABLE([dtd-validation],
	      [AC_HELP_STRING([--disable-dtd-validation],
			      [Disable DTD validation of the protocol])],
	      [],
	      [enable_dtd_validation=yes])

AM_CONDITIONAL(USE_HOST_SCANNER, test "x$with_host_scanner" = xyes)

AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes)

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

if test "x$enable_libraries" = "xyes"; then
	PKG_CHECK_MODULES(FFI, [libffi])
	AC_CHECK_DECL(SFD_CLOEXEC,[],
		      [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile wayland libraries")],
		      [[#include <sys/signalfd.h>]])
	AC_CHECK_DECL(TFD_CLOEXEC,[],
		      [AC_MSG_ERROR("TFD_CLOEXEC is needed to compile wayland libraries")],
		      [[#include <sys/timerfd.h>]])
	AC_CHECK_DECL(CLOCK_MONOTONIC,[],
		      [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")],
		      [[#include <time.h>]])
fi

PKG_CHECK_MODULES(EXPAT, [expat])

AM_CONDITIONAL([DTD_VALIDATION], [test "x$enable_dtd_validation" = "xyes"])
if test "x$enable_dtd_validation" = "xyes"; then
	PKG_CHECK_MODULES(LIBXML, [libxml-2.0])
	AC_DEFINE(HAVE_LIBXML, 1, [libxml-2.0 is available])
	AC_CONFIG_LINKS([src/wayland.dtd.embed:protocol/wayland.dtd])
fi

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

AC_MSG_CHECKING([for docbook manpages stylesheet])
MANPAGES_STYLESHEET=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
			    AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$MANPAGES_STYLESHEET" > /dev/null 2>&1`],
				  [HAVE_MANPAGES_STYLESHEET=yes]))
if test "x$HAVE_MANPAGES_STYLESHEET" = "xyes"; then
	AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], true)
	AC_SUBST(MANPAGES_STYLESHEET)
	AC_MSG_RESULT([yes])
else
	AM_CONDITIONAL([HAVE_MANPAGES_STYLESHEET], false)
	AC_MSG_RESULT([no])
fi

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_MSG_CHECKING([for compatible doxygen version])
	doxygen_version=`$DOXYGEN --version`
	AS_VERSION_COMPARE([$doxygen_version], [1.6.0],
	                   [AC_MSG_RESULT([no])
	                    AC_MSG_ERROR([Doxygen $doxygen_version too old. Doxygen 1.6+ required for documentation build. Install required doxygen version or disable the documentation using --disable-documentation])],
	                   [AC_MSG_RESULT([yes])],
	                   [AC_MSG_RESULT([yes])])

	AC_PATH_PROG(XMLTO, xmlto)

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

	AC_PATH_PROG(DOT, dot)
	if test "x$DOT" = "x"; then
		AC_MSG_ERROR([Documentation build requested but graphviz's dot not found. Install graphviz or disable the documentation using --disable-documentation])
	fi
	AC_MSG_CHECKING([for compatible dot version])
	dot_version=`$DOT -V 2>&1|$GREP -o ['[0-9]*\.[0-9]*\.[0-9]*']`
	AS_VERSION_COMPARE([$dot_version], [2.26.0],
	                   [AC_MSG_RESULT([no])
	                    AC_MSG_ERROR([Graphviz dot $dot_version too old. Graphviz 2.26+ required for documentation build. Install required graphviz version or disable the documentation using --disable-documentation])],
	                   [AC_MSG_RESULT([yes])],
	                   [AC_MSG_RESULT([yes])])

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

fi
AM_CONDITIONAL([HAVE_XMLTO], [test "x$XMLTO" != "x"])

AC_CONFIG_FILES([Makefile
		 cursor/wayland-cursor.pc
		 cursor/wayland-cursor-uninstalled.pc
		 doc/Makefile
		 doc/publican/Makefile
		 doc/doxygen/Makefile
		 doc/man/Makefile
		 egl/wayland-egl.pc
		 egl/wayland-egl-backend.pc
		 src/wayland-server-uninstalled.pc
		 src/wayland-client-uninstalled.pc
		 src/wayland-scanner-uninstalled.pc
		 src/wayland-server.pc
		 src/wayland-client.pc
		 src/wayland-scanner.pc
		 src/wayland-version.h])
AC_OUTPUT