1 dnl Process this file with autoconf to produce a configure script.
4 dnl Use a simple 2-digit version number for a while, since our old example
5 dnl Makefile can only cope with that, i.e. use 1.1, 1.2, 1.3 ... 9.9.
6 dnl FIXME: I can't see anything failing (1.14.1), lets try to use a three digit
7 dnl number for the development version
8 m4_define(gtk_doc_version, 1.25.1)
10 AC_INIT([gtk-doc],[gtk_doc_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk-doc],[gtk-doc])
12 AC_CONFIG_MACRO_DIR([m4])
13 AC_CONFIG_SRCDIR([gtkdoc-common.pl.in])
14 AC_CONFIG_AUX_DIR([build-aux])
16 AM_INIT_AUTOMAKE([1.11 check-news std-options -Wno-portability tar-ustar no-dist-gzip dist-xz])
17 AM_MAINTAINER_MODE([enable])
19 # Support silent build rules, requires at least automake-1.11. Disable
20 # by either passing --disable-silent-rules to configure or passing V=1
22 AM_SILENT_RULES([yes])
31 dnl Make sure we have pkg-config >= 0.19, so installing in $(datadir) is OK.
32 PKG_PROG_PKG_CONFIG([0.19])
37 AC_PATH_PROG([PERL], [perl])
38 if test -z "$PERL"; then
39 AC_MSG_ERROR([perl not found])
42 AC_MSG_CHECKING([if Perl version >= 5.16.0])
43 if "$PERL" -e "require v5.16.0"; then
47 AC_MSG_ERROR([perl >= 5.16.0 is required for gtk-doc])
56 dnl Check for xsltproc
58 AC_PATH_PROG([XSLTPROC], [xsltproc])
59 if test -z "$XSLTPROC"; then
60 AC_MSG_ERROR([xsltproc not found])
64 dnl Check for dblatex/fop (for pdf output)
66 AC_PATH_PROG([DBLATEX], [dblatex])
67 if test -z "$DBLATEX"; then
68 AC_PATH_PROG([FOP], [fop])
69 if test -z "$FOP"; then
70 AC_MSG_WARN([neither dblatex nor fop found, so no pdf output from xml])
74 dnl check for DocBook DTD and stylesheets in the local catalog.
75 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.3//EN], [DocBook XML DTD V4.3])
76 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl], [DocBook XSL Stylesheets])
79 dnl Check for syntax highlighters
81 AC_ARG_WITH([highlight],
82 AS_HELP_STRING([--with-highlight], [Select source code syntax highlighter (no|source-highlight|highlight|vim|auto)]),
83 , [with_highlight=auto])
85 case $with_highlight in
86 no|source-highlight|highlight|vim|auto) ;;
87 *) AC_MSG_ERROR([Invalid value for syntax highlighting option.]) ;;
91 if test "$with_highlight" = "auto"; then
92 AC_PATH_PROG([HIGHLIGHT], [source-highlight])
93 if test -n "$HIGHLIGHT"; then
94 HIGHLIGHT_OPTIONS="-t4 -s\$SRC_LANG -cstyle.css --no-doc -i"
96 AC_PATH_PROG([HIGHLIGHT], [highlight])
97 if test -n "$HIGHLIGHT"; then
98 HIGHLIGHT_OPTIONS="--syntax=\$SRC_LANG --out-format=xhtml -f --class-name=gtkdoc "
100 AC_PATH_PROG([HIGHLIGHT], [vim])
101 if test -n "$HIGHLIGHT"; then
102 dnl vim is useless if it does not support syntax highlighting
103 AC_MSG_CHECKING([whether vim has +syntax feature])
104 if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
114 if test "$with_highlight" != "no"; then
115 AC_PATH_PROG([HIGHLIGHT], [$with_highlight], [no])
118 case $with_highlight in
119 source-highlight) HIGHLIGHT_OPTIONS="-t4 -s\$SRC_LANG -cstyle.css --no-doc -i";;
120 highlight) HIGHLIGHT_OPTIONS="--syntax=\$SRC_LANG --out-format=xhtml -f --class-name=gtkdoc ";;
122 AC_MSG_CHECKING([whether vim has +syntax feature])
123 if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
132 if test "$HIGHLIGHT" = "no" && test "$with_highlight" != "no"; then
133 AC_MSG_ERROR([Could not find requested syntax highlighter])
136 AC_SUBST([HIGHLIGHT_OPTIONS])
139 dnl Set runtime package dirs so we can find the script containing common routines.
141 dnl From Autoconf Macro Archive:
142 m4_define([AC_DEFINE_DIR], [
145 test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
146 test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
147 eval ac_define_dir="\"[$]$2\""
148 eval ac_define_dir="\"$ac_define_dir\""
149 AC_SUBST($1, "$ac_define_dir")
150 test "$prefix_NONE" && prefix=NONE
151 test "$exec_prefix_NONE" && exec_prefix=NONE
153 PACKAGE_DATA_DIR="${datadir}/${PACKAGE}/data"
154 AC_DEFINE_DIR([PACKAGE_DATA_DIR], [PACKAGE_DATA_DIR])
155 PYTHON_PACKAGE_DIR="${datadir}/${PACKAGE}/python"
156 AC_DEFINE_DIR([PYTHON_PACKAGE_DIR], [PYTHON_PACKAGE_DIR])
158 dnl Only use -Wall if we have gcc
159 if test "x$GCC" = "xyes"; then
160 if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
161 CFLAGS="$CFLAGS -Wall"
165 dnl if glib is available we can enable the tests
166 PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
167 [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
168 gtk_doc_use_libtool="yes"
171 [ gtk_doc_use_libtool="no"
175 AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
176 dnl this enables the rule in test/Makefile.am
177 AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
178 AC_SUBST(glib_prefix)
180 dnl enable runtime debugging code
181 AC_MSG_CHECKING(whether to enable runtime debugging code)
182 AC_ARG_ENABLE([debug],
183 AS_HELP_STRING([--enable-debug],
184 [enable runtime debugging code (default=no)]),,
186 AC_MSG_RESULT($enable_debug)
188 if test "x$enable_debug" != "xno"; then
195 dnl check what date format we can use for the makefile tracing in tests
196 dnl this is mostly to detect the date command on macosx that is quite cripled
198 AC_MSG_CHECKING(whether date can output nanoseconds)
199 date +%s.%N | grep -q 'N'
200 if test "$?" = "1"; then
202 ELAPSED_FMT="+%H:%M:%S.%N"
206 ELAPSED_FMT="+%H:%M:%S"
210 AC_SUBST(ELAPSED_FMT)
212 AC_MSG_CHECKING(whether date can format dates)
213 date >/dev/null 2>&1 --utc --date @1.1 $ELAPSED_FMT
214 if test "$?" = "0"; then
215 DATE_FMT_CMD="date --utc $ELAPSED_FMT --date @0"
221 AC_SUBST(DATE_FMT_CMD)
226 AC_MSG_CHECKING([for yelp-tools])
228 m4_ifdef([YELP_HELP_INIT],[
233 if test "x$have_yelp_tools" != "xyes"; then
236 AM_CONDITIONAL([HAVE_YELP_TOOLS],[test x$have_yelp_tools = xyes])
238 AC_CONFIG_FILES([Makefile
242 cmake/GtkDocConfig.cmake
243 cmake/GtkDocConfigVersion.cmake
248 tests/gobject/Makefile
249 tests/gobject/src/Makefile
250 tests/gobject/docs/Makefile
252 tests/bugs/src/Makefile
253 tests/bugs/docs/Makefile
254 tests/annotations/Makefile
255 tests/annotations/src/Makefile
256 tests/annotations/docs/Makefile
258 tests/fail/src/Makefile
259 tests/fail/docs/Makefile
261 tests/empty/src/Makefile
262 tests/empty/docs/Makefile
263 tests/program/Makefile
264 tests/program/src/Makefile
265 tests/program/docs/Makefile
268 dnl run chmod on these after parsing them.
269 AC_CONFIG_FILES([gtkdoc-check], [chmod +x gtkdoc-check])
270 AC_CONFIG_FILES([gtkdoc-depscan], [chmod +x gtkdoc-depscan])
271 AC_CONFIG_FILES([gtkdoc-fixxref], [chmod +x gtkdoc-fixxref])
272 AC_CONFIG_FILES([gtkdoc-mkdb], [chmod +x gtkdoc-mkdb])
273 AC_CONFIG_FILES([gtkdoc-mkhtml], [chmod +x gtkdoc-mkhtml])
274 AC_CONFIG_FILES([gtkdoc-mkman], [chmod +x gtkdoc-mkman])
275 AC_CONFIG_FILES([gtkdoc-mkpdf], [chmod +x gtkdoc-mkpdf])
276 AC_CONFIG_FILES([gtkdoc-rebase], [chmod +x gtkdoc-rebase])
277 AC_CONFIG_FILES([gtkdoc-scan], [chmod +x gtkdoc-scan])
278 AC_CONFIG_FILES([gtkdoc-scangobj], [chmod +x gtkdoc-scangobj])
279 AC_CONFIG_FILES([gtkdocize], [chmod +x gtkdocize])
280 AC_CONFIG_FILES([tests/tools.sh], [chmod +x tests/tools.sh])
284 gtk-doc was configured with the following options:
285 ==================================================])
287 test -n "$DBLATEX$FOP" \
288 && AC_MSG_NOTICE([** PDF support enabled, using $DBLATEX$FOP]) \
289 || AC_MSG_NOTICE([ PDF support disabled, no dblatex or fop available])
290 test -n "$HIGHLIGHT" \
291 && AC_MSG_NOTICE([** Syntax highlighting of examples enabled, using $HIGHLIGHT]) \
292 || AC_MSG_NOTICE([ Syntax highlighting of examples disabled])
293 test "x$build_tests" != "xno" \
294 && AC_MSG_NOTICE([** Building regression tests]) \
295 || AC_MSG_NOTICE([ Skipping regression tests])
296 test "x$enable_debug" != "xno" \
297 && AC_MSG_NOTICE([** Debug tracing enabled]) \
298 || AC_MSG_NOTICE([ Debug tracing disabled])
299 test "x$have_yelp_tools" != "xno" \
300 && AC_MSG_NOTICE([** Documentation enabled]) \
301 || AC_MSG_NOTICE([ Documentation disabled])