fixxref: update for the index.sgml -> devhelp2 change
[gtk-doc.git] / configure.ac
blob2bc110cd7366ff5751f0f205d7613f86712a16ed
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ([2.63])
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.26.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([gtk-doc.pc.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
21 # to make
22 AM_SILENT_RULES([yes])
24 # Check for programs
25 AC_PROG_CC
27 # Initialize libtool
28 LT_PREREQ([2.2])
29 LT_INIT
31 dnl Make sure we have pkg-config >= 0.19, so installing in $(datadir) is OK.
32 PKG_PROG_PKG_CONFIG([0.19])
34 dnl
35 dnl Check for Python.
36 dnl
37 AM_PATH_PYTHON([2.7])
39 dnl
40 dnl Check for xsltproc
41 dnl
42 AC_PATH_PROG([XSLTPROC], [xsltproc])
43 if test -z "$XSLTPROC"; then
44         AC_MSG_ERROR([xsltproc not found])
47 dnl
48 dnl Check for dblatex/fop (for pdf output)
49 dnl
50 AC_PATH_PROG([DBLATEX], [dblatex])
51 if test -z "$DBLATEX"; then
52         AC_PATH_PROG([FOP], [fop])
53         if test -z "$FOP"; then
54                 AC_MSG_WARN([neither dblatex nor fop found, so no pdf output from xml])
55         fi
58 dnl check for DocBook DTD and stylesheets in the local catalog.
59 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.3//EN], [DocBook XML DTD V4.3])
60 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl], [DocBook XSL Stylesheets])
62 dnl
63 dnl Check for syntax highlighters
64 dnl
65 AC_ARG_WITH([highlight],
66         AS_HELP_STRING([--with-highlight], [Select source code syntax highlighter (no|source-highlight|highlight|vim|auto)]),
67         , [with_highlight=auto])
69 case $with_highlight in
70         no|source-highlight|highlight|vim|auto) ;;
71         *) AC_MSG_ERROR([Invalid value for syntax highlighting option.]) ;;
72 esac
74 HIGHLIGHT_OPTIONS=""
75 if test "$with_highlight" = "auto"; then
76         AC_PATH_PROG([HIGHLIGHT], [source-highlight])
77         if test -n "$HIGHLIGHT"; then
78                 HIGHLIGHT_OPTIONS="-t4 -s\$SRC_LANG -cstyle.css --no-doc -i"
79         else
80                 AC_PATH_PROG([HIGHLIGHT], [highlight])
81                 if test -n "$HIGHLIGHT"; then
82                         HIGHLIGHT_OPTIONS="--syntax=\$SRC_LANG --out-format=xhtml -f --class-name=gtkdoc "
83                 else
84                         AC_PATH_PROG([HIGHLIGHT], [vim])
85                         if test -n "$HIGHLIGHT"; then
86                                 dnl vim is useless if it does not support syntax highlighting
87                                 AC_MSG_CHECKING([whether vim has +syntax feature])
88                                 if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
89                                         AC_MSG_RESULT([yes])
90                                 else
91                                         AC_MSG_RESULT([no])
92                                         HIGHLIGHT=
93                                 fi
94                         fi
95                 fi
96         fi
97 else
98         if test "$with_highlight" != "no"; then
99                 AC_PATH_PROG([HIGHLIGHT], [$with_highlight], [no])
100         fi
102         case $with_highlight in
103                 source-highlight) HIGHLIGHT_OPTIONS="-t4 -s\$SRC_LANG -cstyle.css --no-doc -i";;
104                 highlight) HIGHLIGHT_OPTIONS="--syntax=\$SRC_LANG --out-format=xhtml -f --class-name=gtkdoc ";;
105                 vim)
106                         AC_MSG_CHECKING([whether vim has +syntax feature])
107                         if $HIGHLIGHT --version | grep '+syntax' >/dev/null; then
108                                 AC_MSG_RESULT([yes])
109                         else
110                                 AC_MSG_RESULT([no])
111                                 HIGHLIGHT=no
112                         fi
113                 ;;
114         esac
116         if test "$HIGHLIGHT" = "no" && test "$with_highlight" != "no"; then
117                 AC_MSG_ERROR([Could not find requested syntax highlighter])
118         fi
120 AC_SUBST([HIGHLIGHT_OPTIONS])
123 dnl Set runtime package dirs so we can find the script containing common routines.
125 dnl From Autoconf Macro Archive:
126 m4_define([AC_DEFINE_DIR], [
127         prefix_NONE=
128         exec_prefix_NONE=
129         test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
130         test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
131         eval ac_define_dir="\"[$]$2\""
132         eval ac_define_dir="\"$ac_define_dir\""
133         AC_SUBST($1, "$ac_define_dir")
134         test "$prefix_NONE" && prefix=NONE
135         test "$exec_prefix_NONE" && exec_prefix=NONE
137 PACKAGE_DATA_DIR="${datadir}/${PACKAGE}/data"
138 AC_DEFINE_DIR([PACKAGE_DATA_DIR], [PACKAGE_DATA_DIR])
139 PYTHON_PACKAGE_DIR="${datadir}/${PACKAGE}/python"
140 AC_DEFINE_DIR([PYTHON_PACKAGE_DIR], [PYTHON_PACKAGE_DIR])
142 dnl Only use -Wall if we have gcc
143 if test "x$GCC" = "xyes"; then
144         if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
145                 CFLAGS="$CFLAGS -Wall"
146         fi
149 dnl if glib is available we can enable the tests
150 PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0],
151         [       glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`"
152                 gtk_doc_use_libtool="yes"
153                 build_tests="yes"
154         ],
155         [       gtk_doc_use_libtool="no"
156                 build_tests="no"
157         ]
159 AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes )
160 dnl this enables the rule in test/Makefile.am
161 AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes)
162 AC_SUBST(glib_prefix)
164 dnl enable runtime debugging code
165 AC_MSG_CHECKING(whether to enable runtime debugging code)
166 AC_ARG_ENABLE([debug],
167         AS_HELP_STRING([--enable-debug],
168         [enable runtime debugging code (default=no)]),,
169         [enable_debug="no"])
170 AC_MSG_RESULT($enable_debug)
172 dnl check what date format we can use for the makefile tracing in tests
173 dnl this is mostly to detect the date command on macosx that is quite cripled
174 dnl  and broken too
175 AC_MSG_CHECKING(whether date can output nanoseconds)
176 date +%s.%N | grep -q 'N'
177 if test "$?" = "1"; then
178   TS_FMT="+%s.%N"
179   ELAPSED_FMT="+%H:%M:%S.%N"
180   AC_MSG_RESULT(yes)
181 else
182   TS_FMT="+%s.0"
183   ELAPSED_FMT="+%H:%M:%S"
184   AC_MSG_RESULT(no)
186 AC_SUBST(TS_FMT)
187 AC_SUBST(ELAPSED_FMT)
189 AC_MSG_CHECKING(whether date can format dates)
190 date >/dev/null 2>&1 --utc --date @1.1 $ELAPSED_FMT
191 if test "$?" = "0"; then
192   DATE_FMT_CMD="date --utc $ELAPSED_FMT --date @0"
193   AC_MSG_RESULT(yes)
194 else
195   DATE_FMT_CMD="echo "
196   AC_MSG_RESULT(no)
198 AC_SUBST(DATE_FMT_CMD)
201 dnl Documentation
203 AC_MSG_CHECKING([for yelp-tools])
204 have_yelp_tools=no
205 m4_ifdef([YELP_HELP_INIT],[
206 AC_MSG_RESULT([yes])
207 YELP_HELP_INIT
208 have_yelp_tools=yes
210 if test "x$have_yelp_tools" != "xyes"; then
211   AC_MSG_RESULT([no])
213 AM_CONDITIONAL([HAVE_YELP_TOOLS],[test x$have_yelp_tools = xyes])
215 AC_CONFIG_FILES([Makefile
216 gtk-doc.pc
217 cmake/Makefile
218 cmake/GtkDocConfig.cmake
219 cmake/GtkDocConfigVersion.cmake
220 gtkdoc/config.py
221 help/Makefile
222 help/manual/Makefile
223 tests/Makefile
224 tests/annotations/Makefile
225 tests/annotations/src/Makefile
226 tests/annotations/docs/Makefile
227 tests/bugs/Makefile
228 tests/bugs/src/Makefile
229 tests/bugs/docs/Makefile
230 tests/empty/Makefile
231 tests/empty/src/Makefile
232 tests/empty/docs/Makefile
233 tests/fail/Makefile
234 tests/fail/src/Makefile
235 tests/fail/docs/Makefile
236 tests/gobject/Makefile
237 tests/gobject/src/Makefile
238 tests/gobject/docs/Makefile
239 tests/program/Makefile
240 tests/program/src/Makefile
241 tests/program/docs/Makefile
242 tests/repro/Makefile
243 tests/repro/src/Makefile
244 tests/repro/docs/Makefile
247 dnl run chmod on these after parsing them.
248 AC_CONFIG_FILES([gtkdoc-check],    [chmod +x gtkdoc-check])
249 AC_CONFIG_FILES([gtkdoc-depscan],  [chmod +x gtkdoc-depscan])
250 AC_CONFIG_FILES([gtkdoc-fixxref],  [chmod +x gtkdoc-fixxref])
251 AC_CONFIG_FILES([gtkdoc-mkdb],     [chmod +x gtkdoc-mkdb])
252 AC_CONFIG_FILES([gtkdoc-mkhtml],   [chmod +x gtkdoc-mkhtml])
253 AC_CONFIG_FILES([gtkdoc-mkman],    [chmod +x gtkdoc-mkman])
254 AC_CONFIG_FILES([gtkdoc-mkpdf],    [chmod +x gtkdoc-mkpdf])
255 AC_CONFIG_FILES([gtkdoc-rebase],   [chmod +x gtkdoc-rebase])
256 AC_CONFIG_FILES([gtkdoc-scan],     [chmod +x gtkdoc-scan])
257 AC_CONFIG_FILES([gtkdoc-scangobj], [chmod +x gtkdoc-scangobj])
258 AC_CONFIG_FILES([gtkdocize],       [chmod +x gtkdocize])
259 AC_CONFIG_FILES([tests/tools.sh],  [chmod +x tests/tools.sh])
260 AC_OUTPUT
262 AC_MSG_NOTICE([
263 gtk-doc was configured with the following options:
264 ==================================================])
266 test -n "$DBLATEX$FOP" \
267     && AC_MSG_NOTICE([** PDF support enabled, using $DBLATEX$FOP]) \
268     || AC_MSG_NOTICE([   PDF support disabled, no dblatex or fop available])
269 test -n "$HIGHLIGHT" \
270     && AC_MSG_NOTICE([** Syntax highlighting of examples enabled, using $HIGHLIGHT]) \
271     || AC_MSG_NOTICE([   Syntax highlighting of examples disabled])
272 test "x$build_tests" != "xno" \
273     && AC_MSG_NOTICE([** Building regression tests]) \
274     || AC_MSG_NOTICE([   Skipping regression tests])
275 test "x$enable_debug" != "xno" \
276     && AC_MSG_NOTICE([** Debug tracing enabled]) \
277     || AC_MSG_NOTICE([   Debug tracing disabled])
278 test "x$have_yelp_tools" != "xno" \
279     && AC_MSG_NOTICE([** Documentation enabled]) \
280     || AC_MSG_NOTICE([   Documentation disabled])