2 # Process this file with autoreconf to produce a configure script.
5 dnl Each time you want an updated version number for your build, you need to
6 dnl (re-)run autoreconf.
7 AC_INIT([awesome window manager],
8 [m4_esyscmd([./build-utils/package-version . version-stamp])],
9 [http://awesome.naquadah.org/bugs/],
11 AC_CONFIG_AUX_DIR([auto-aux])
12 AC_CONFIG_SRCDIR([awesome.c])
13 dnl The AC_CONFIG_HEADER and awesome's own config.h are different beasts
14 dnl AC_CONFIG_HEADER([config.h])
16 dnl check-news to check that NEWS has been adapted to current version
21 filename-length-max=99
27 AC_DEFINE_UNQUOTED([AWESOME_RELEASE], [m4_esyscmd([./build-utils/package-codename . codename-stamp])], [release code name])
29 AC_MSG_CHECKING([package version according to autoconf])
30 AC_MSG_RESULT([${PACKAGE_VERSION}])
31 AC_MSG_CHECKING([package version according to version script])
32 version_script=`"${srcdir}/build-utils/package-version" "${srcdir}" version-stamp`
33 AC_MSG_RESULT([${version_script}])
35 # Checks for programs.
41 AC_ARG_VAR([ASCIIDOC], [asciidoc doc generation tool])
42 AC_ARG_VAR([XMLTO], [xmlto converter from xml to other formats])
43 AC_ARG_VAR([DOXYGEN], [doxygen source documentation system])
45 test "x$ASCIIDOC" = "x" && AC_PATH_PROG([ASCIIDOC], [asciidoc], [:])
46 test "x$XMLTO" = "x" && AC_PATH_PROG([XMLTO], [xmlto], [:])
47 test "x$DOXYGEN" = "x" && AC_PATH_PROG([DOXYGEN], [doxygen], [:])
49 test "x$ASCIIDOC" = "x:" && AC_MSG_WARN([awesome man page generation requires asciidoc])
50 test "x$XMLTO" = "x:" && AC_MSG_WARN([awesome man page generation requires xmlto])
51 test "x$DOXYGEN" = "x:" && AC_MSG_WARN([awesome developer doc generation requires doxygen])
53 AM_CONDITIONAL([HAVE_ASCIIDOC], [test "x$ASCIIDOC" != "x:"])
54 AM_CONDITIONAL([HAVE_XMLTO], [test "x$XMLTO" != "x:"])
55 AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$DOXYGEN" != "x:"])
58 if test ="x$XMLTO" != "x:"; then dnl try generating an example man page
60 cat>conf-example.1.xml<<MANEOF
61 <?xml version="1.0" encoding="UTF-8"?>
62 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
63 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
66 <refentrytitle>conf-example</refentrytitle>
67 <manvolnum>1</manvolnum>
70 <refname>conf-example</refname>
71 <refpurpose>'configure' time test for working 'xmlto man'</refpurpose>
74 <simpara>foo</simpara>
77 <title>DESCRIPTION</title>
78 <simpara>bar</simpara>
82 AC_MSG_CHECKING([whether xmlto can create a man page])
83 if ${XMLTO} man conf-example.1.xml >/dev/null 2>&1 && test -s conf-example.1; then
86 rm -f conf-example.1 conf-example.1.xml
89 AC_MSG_WARN([awesome man page generation requires 'xmlto man', but it does not work.
90 Do you need to (properly) install http://docbook.sourceforge.net/projects/xsl/?])
93 AM_CONDITIONAL([XMLTO_MAN_WORKS], [test "x$xmlto_man_works" = "xyes"])
95 AM_CONDITIONAL([USING_GCC], [test "x$GCC" = "xyes"])
98 AC_DEFINE_UNQUOTED([AWESOME_COMPILE_MACHINE], ["$host"], [build for this machine])
100 AC_DEFINE_UNQUOTED([AWESOME_COMPILE_HOSTNAME], ["${ac_hostname}"], [build host])
102 AC_ARG_VAR([WHOAMI], [whoami(1) command])
103 AC_PATH_PROG([WHOAMI], [whoami], [false])
104 AS_IF([test "x$WHOAMI" = "xfalse"], [aw_whoami="???"], [aw_whoami=`$WHOAMI`])
105 AC_DEFINE_UNQUOTED([AWESOME_COMPILE_BY], ["$aw_whoami"], [build user])
107 # Checks for libraries.
109 PKG_CHECK_MODULES([CAIRO], [cairo],,
110 [AC_MSG_ERROR([awesome requires cairo.])])
111 PKG_CHECK_MODULES([CONFUSE], [libconfuse >= 2.6],,
112 [AC_MSG_ERROR([awesome requires libconfuse >= 2.6.])])
113 PKG_CHECK_MODULES([XFT], [xft],,
114 [AC_MSG_ERROR([awesome requires xft.])])
115 PKG_CHECK_MODULES([XINERAMA], [xinerama],,
116 [AC_MSG_ERROR([awesome requires Xinerama.])])
117 PKG_CHECK_MODULES([XRANDR], [xrandr],,
118 [AC_MSG_ERROR([awesome requires Xrandr.])])
120 # Checks for header files.
124 AC_CHECK_HEADERS([fcntl.h limits.h locale.h stdlib.h string.h sys/socket.h unistd.h])
126 # Checks for typedefs, structures, and compiler characteristics.
132 # Checks for library functions.
135 AC_FUNC_SELECT_ARGTYPES
138 AC_CHECK_FUNCS([memchr regcomp select setenv socket strchr strrchr strstr])
140 AC_CONFIG_FILES([Makefile])
141 AC_CONFIG_FILES([awesome.doxygen])