]> git.lyx.org Git - lyx.git/blob - config/lyxinclude.m4
Set buffer_ correctly when inseting a math macro over a selection
[lyx.git] / config / lyxinclude.m4
1 dnl Some useful functions for LyXs configure.in                 -*- sh -*-
2 dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
3 dnl         Lars Gullik Bjønnes (larsbj@lyx.org)
4 dnl         Allan Rae (rae@lyx.org)
5
6 dnl Compute the default build type from AC_PACKAGE_VERSION at autoconf time.
7 m4_define([LYX_BUILD_TYPE], [m4_bmatch(AC_PACKAGE_VERSION,
8     [dev], [development],
9     [pre\|alpha\|beta\|rc], [prerelease],
10     [release])])
11
12
13 dnl Usage LYX_CHECK_VERSION   Displays version of LyX being built and
14 dnl sets variable "build_type"
15 AC_DEFUN([LYX_CHECK_VERSION],[
16 echo "configuring LyX version" AC_PACKAGE_VERSION
17
18 AC_MSG_CHECKING([for build type])
19 lyx_devel_version=no
20 lyx_prerelease=no
21 AC_ARG_ENABLE(build-type,
22   AS_HELP_STRING([--enable-build-type=STR],[set build type to rel(ease), pre(release), dev(elopment), prof(iling), or gprof (default: LYX_BUILD_TYPE)]),
23   [case $enableval in
24     dev*) build_type=development;;
25     pre*) build_type=prerelease;;
26     prof*)  build_type=profiling;;
27     gprof*) build_type=gprof;;
28     rel*) build_type=release;;
29     *) AC_MSG_ERROR([bad build type specification '$enableval'. Please use one of rel(ease), pre(release), dev(elopment), prof(iling), or gprof]);;
30    esac],
31   [build_type=LYX_BUILD_TYPE])
32 AC_MSG_RESULT([$build_type])
33 lyx_flags="$lyx_flags build=$build_type"
34 case $build_type in
35     development) lyx_devel_version=yes
36                  LYX_DATE="not released yet" ;;
37     prerelease) lyx_prerelease=yes ;;
38 esac
39
40 AC_SUBST(lyx_devel_version)
41 ])
42
43
44 dnl Define the option to set a LyX version on installed executables and directories
45 dnl
46 dnl
47 AC_DEFUN([LYX_VERSION_SUFFIX],[
48 AC_MSG_CHECKING([for version suffix])
49 dnl We need the literal double quotes in the rpm spec file
50 RPM_VERSION_SUFFIX='""'
51 AC_ARG_WITH(version-suffix,
52   [AS_HELP_STRING([--with-version-suffix@<:@=STR@:>@], install lyx files as lyxSTR (default STR: -AC_PACKAGE_VERSION))],
53   [if test "x$withval" = "xyes";
54    then
55      withval="-"AC_PACKAGE_VERSION
56      ac_configure_args=`echo "$ac_configure_args" | sed "s,--with-version-suffix,--with-version-suffix=$withval,"`
57    fi
58    AC_SUBST(version_suffix,$withval)
59    RPM_VERSION_SUFFIX="--with-version-suffix=$withval"])
60 AC_SUBST(RPM_VERSION_SUFFIX)
61 AC_SUBST(program_base_name,"lyx")
62 AC_MSG_RESULT([$withval])
63 ])
64
65
66 dnl Check whether to configure for Qt5, or Qt6. Default is Qt5.
67 dnl
68 AC_DEFUN([LYX_CHECK_QT6],[
69 AC_MSG_CHECKING([whether Qt6 is requested])
70 AC_ARG_ENABLE([qt6],
71   [AS_HELP_STRING([--enable-qt6],[use Qt6 for building])],
72   USE_QT6=$enableval, USE_QT6=no)
73 AC_MSG_RESULT([$USE_QT6])
74 AC_SUBST([USE_QT6])
75 ])
76 dnl
77
78
79 dnl Usage: LYX_WARNING(message)  Displays the warning "message" and sets the
80 dnl flag lyx_warning to yes.
81 AC_DEFUN([LYX_WARNING],[
82 lyx_warning_txt="$lyx_warning_txt
83 == $1
84 "
85 lyx_warning=yes])
86
87
88 dnl Usage: LYX_LIB_ERROR(file,library)  Displays an error message indication
89 dnl  that 'file' cannot be found because 'lib' may be uncorrectly installed.
90 AC_DEFUN([LYX_LIB_ERROR],[
91 AC_MSG_ERROR([cannot find $1. Please check that the $2 library
92    is correctly installed on your system.])])
93
94
95 dnl Usage: LYX_CHECK_WARNINGS  Displays a warning message if a LYX_WARNING
96 dnl   has occurred previously.
97 AC_DEFUN([LYX_CHECK_WARNINGS],[
98 if test x$lyx_warning = xyes; then
99 cat <<EOF
100 === The following minor problems have been detected by configure.
101 === Please check the messages below before running 'make'.
102 === (see the section 'Problems' in the INSTALL file)
103 $lyx_warning_txt
104
105 EOF
106 fi])
107
108
109 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
110 dnl
111 define(LYX_SEARCH_PROG,[dnl
112 for ac_prog in $2 ; do
113 # Extract the first word of "$ac_prog", so it can be a program name with args.
114   set dummy $ac_prog ; ac_word=$[2]
115   if test -z "[$]$1"; then
116     IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
117     for ac_dir in $PATH; do
118       test -z "$ac_dir" && ac_dir=.
119       if test -f [$ac_dir/$ac_word]; then
120         $1="$ac_prog"
121         break
122       fi
123     done
124     IFS="$ac_save_ifs"
125   fi
126
127   if test -n "[$]$1"; then
128     ac_result=yes
129   else
130     ac_result=no
131   fi
132   ifelse($3,,,[$3])
133   test -n "[$]$1" && break
134 done
135 ])dnl
136
137
138 dnl Usage: LYX_PROG_CLANG: set CLANG to yes if the compiler is clang.
139 AC_DEFUN([LYX_PROG_CLANG],
140 [AC_CACHE_CHECK([whether the compiler is clang],
141                [lyx_cv_prog_clang],
142 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
143 #ifndef __clang__
144             this is not clang
145 #endif
146 ]])],[lyx_cv_prog_clang=yes ; CLANG=yes],[lyx_cv_prog_clang=no ; CLANG=no])])
147 if test $CLANG = yes ; then
148   AC_CACHE_CHECK([for clang version],
149     [lyx_cv_clang_version],
150     [clang_noversion=no
151      AC_COMPUTE_INT(clang_major,__clang_major__,,[clang_noversion_=yes])
152      AC_COMPUTE_INT(clang_minor,__clang_minor__,,[clang_noversion_=yes])
153      AC_COMPUTE_INT(clang_patchlevel,__clang_patchlevel__,,[clang_noversion_=yes])
154      if test $clang_noversion = yes ; then
155        clang_version=unknown
156      else
157        clang_version=$clang_major.$clang_minor.$clang_patchlevel
158      fi
159      lyx_cv_clang_version=$clang_version])
160 fi
161 ])
162
163
164 dnl Usage: LYX_CXX_CXX11_FLAGS(VERSION): add to AM_CXXFLAGS the best flag that
165 dnl selects C++11 mode; gives an error when C++11 mode is not found.
166 dnl VERSION is a list of years to try (e.g. 11 or {14,11}).
167 AC_DEFUN([LYX_CXX_CXX11_FLAGS],
168 [AC_CACHE_CHECK([for a good C++ mode], [lyx_cv_cxx11_flags],
169  [lyx_cv_cxx11_flags=none
170   for flag in `eval echo -std=c++$1 default -std=gnu++$1` ; do
171     if test $flag = default ; then
172       flag=
173     fi
174     save_CPPFLAGS=$CPPFLAGS
175     CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS"
176     save_CXXFLAGS=$CXXFLAGS
177     CXXFLAGS="$flag $AM_CXXFLAGS $CXXFLAGS"
178     dnl sample openmp source code to test
179     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
180        template <typename T>
181        struct check
182        {
183            static_assert(sizeof(int) <= sizeof(T), "not big enough");
184        };
185
186        typedef check<check<bool>> right_angle_brackets;
187
188        class TestDeleted
189        {
190        public:
191            TestDeleted() = delete;
192        };
193
194
195        int a;
196        decltype(a) b;
197
198        typedef check<int> check_type;
199        check_type c;
200        check_type&& cr = static_cast<check_type&&>(c);
201
202        auto d = a;]], [[]])],[lyx_cv_cxx11_flags=$flag; break],[])
203    CXXFLAGS=$save_CXXFLAGS
204    CPPFLAGS=$save_CPPFLAGS
205   done])
206   if test x$lyx_cv_cxx11_flags = xnone ; then
207     AC_MSG_ERROR([Cannot find suitable mode for compiler $CXX])
208   fi
209   AM_CXXFLAGS="$lyx_cv_cxx11_flags $AM_CXXFLAGS"
210 ])
211
212
213 dnl Usage: LYX_CXX_USE_CALL_ONCE
214 dnl check whether we can use std::call_once and set the
215 dnl LYX_USE_STD_CALL_ONCE macro and conditional accordingly.
216 AC_DEFUN([LYX_CXX_USE_CALL_ONCE],
217 [AC_MSG_CHECKING([for std::call_once availability])
218    save_CPPFLAGS=$CPPFLAGS
219    CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS"
220    save_CXXFLAGS=$CXXFLAGS
221    CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
222    AC_LINK_IFELSE([AC_LANG_PROGRAM([[
223         #include <mutex>
224         static std::once_flag flag;
225      ]], [[
226         std::call_once(flag, [](){ return; });
227    ]])],[lyx_std_call_once=yes],[lyx_std_call_once=no])
228    CXXFLAGS=$save_CXXFLAGS
229    CPPFLAGS=$save_CPPFLAGS
230    AC_MSG_RESULT([$lyx_std_call_once])
231
232  if test $lyx_std_call_once = yes ; then
233   AC_DEFINE([LYX_USE_STD_CALL_ONCE], 1, [define to 1 if std::call_once is supported by the compiler])
234  fi
235  AM_CONDITIONAL([LYX_USE_STD_CALL_ONCE], test $lyx_std_call_once = yes)
236 ])
237
238
239 dnl Usage: LYX_LIB_STDCXX: set lyx_cv_lib_stdcxx to yes if the STL library is libstdc++.
240 AC_DEFUN([LYX_LIB_STDCXX],
241 [AC_CACHE_CHECK([whether STL is libstdc++],
242                [lyx_cv_lib_stdcxx],
243 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include<vector>]], [[
244 #if ! defined(__GLIBCXX__) && ! defined(__GLIBCPP__)
245             this is not libstdc++
246 #endif
247 ]])],[lyx_cv_lib_stdcxx=yes],[lyx_cv_lib_stdcxx=no])])
248 ])
249
250
251 dnl Usage: LYX_LIB_STDCXX_CXX11_ABI: set lyx_cv_lib_stdcxx_cxx11_abi to yes
252 dnl        if the STL library is GNU libstdc++ and the C++11 ABI is used.
253 AC_DEFUN([LYX_LIB_STDCXX_CXX11_ABI],
254 [AC_CACHE_CHECK([whether STL is libstdc++ using the C++11 ABI],
255                [lyx_cv_lib_stdcxx_cxx11_abi],
256 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include<vector>]], [[
257 #if ! defined(_GLIBCXX_USE_CXX11_ABI) || ! _GLIBCXX_USE_CXX11_ABI
258             this is not libstdc++ using the C++11 ABI
259 #endif
260 ]])],[lyx_cv_lib_stdcxx_cxx11_abi=yes],[lyx_cv_lib_stdcxx_cxx11_abi=no])])
261 ])
262
263
264 AC_DEFUN([LYX_PROG_CXX],
265 [AC_REQUIRE([AC_PROG_CXX])
266 AC_REQUIRE([AC_PROG_CXXCPP])
267
268 ### We might want to force the C++ standard.
269 AC_ARG_ENABLE(cxx-mode,
270   AS_HELP_STRING([--enable-cxx-mode],[choose C++ standard (default: 17, 14, then 11)]),,
271   [enable_cxx_mode={17,14,11}]
272 )
273
274 AC_LANG_PUSH(C++)
275 LYX_PROG_CLANG
276 LYX_CXX_CXX11_FLAGS($enable_cxx_mode)
277 LYX_LIB_STDCXX
278 LYX_LIB_STDCXX_CXX11_ABI
279 LYX_CXX_USE_CALL_ONCE
280 AC_LANG_POP(C++)
281
282 if test $lyx_cv_lib_stdcxx = "yes" ; then
283   if test $lyx_cv_lib_stdcxx_cxx11_abi = "yes" ; then
284     AC_DEFINE(USE_GLIBCXX_CXX11_ABI, 1, [use GNU libstdc++ with C++11 ABI])
285   else
286     AC_DEFINE(STD_STRING_USES_COW, 1, [std::string uses copy-on-write])
287   fi
288 else
289   if test $lyx_cv_prog_clang = "yes" ; then
290     AC_DEFINE(USE_LLVM_LIBCPP, 1, [use libc++ provided by llvm instead of GNU libstdc++])
291   fi
292 fi
293
294 ### We might want to get or shut warnings.
295 AC_ARG_ENABLE(warnings,
296   AS_HELP_STRING([--enable-warnings],[tell the compiler to display more warnings]),,
297   [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes && test $GXX = yes ; then
298         enable_warnings=yes;
299     else
300         enable_warnings=no;
301     fi;])
302 if test x$enable_warnings = xyes ; then
303   lyx_flags="$lyx_flags warnings"
304 fi
305
306 ### We might want to disable debug
307 AC_ARG_ENABLE(debug,
308   AS_HELP_STRING([--enable-debug],[enable debug information]),,
309   [AS_CASE([$build_type], [rel*], [enable_debug=no], [enable_debug=yes])]
310 )
311
312 AC_ARG_ENABLE(stdlib-debug,
313   AS_HELP_STRING([--enable-stdlib-debug],[enable debug mode in libstdc++]),,
314   [enable_stdlib_debug=no]
315 )
316
317 AC_ARG_ENABLE(stdlib-assertions,
318   AS_HELP_STRING([--enable-stdlib-assertions],[enable assertions in libstdc++]),,
319   [AS_CASE([$build_type], [dev*], [enable_stdlib_assertions=yes],
320           [enable_stdlib_assertions=no])]
321 )
322
323 ### set up optimization
324 AC_ARG_ENABLE(optimization,
325     AS_HELP_STRING([--enable-optimization@<:@=ARG@:>@],[enable compiler optimisation]),,
326     enable_optimization=yes;)
327 case $enable_optimization in
328     yes)
329         if test $enable_debug = yes ; then
330             lyx_optim=-Og
331         else
332             lyx_optim=-O2
333         fi;;
334     no) lyx_optim=;;
335     *) lyx_optim=${enable_optimization};;
336 esac
337
338 AC_ARG_ENABLE(assertions,
339   AS_HELP_STRING([--enable-assertions],[add runtime sanity checks in the program]),,
340   [AS_CASE([$build_type], [dev*|pre*], [enable_assertions=yes],
341           [enable_assertions=no])]
342 )
343 if test "x$enable_assertions" = xyes ; then
344    lyx_flags="$lyx_flags assertions"
345    AC_DEFINE(ENABLE_ASSERTIONS,1,
346     [Define if you want assertions to be enabled in the code])
347 fi
348
349 # set the compiler options correctly.
350 if test x$GXX = xyes; then
351   dnl clang++ pretends to be g++ 4.2.1; this is not useful
352   if test x$CLANG = xno; then
353     dnl Useful for global version info
354     gxx_version=`${CXX} -dumpversion`
355     case $gxx_version in
356         *.*) ;;
357         *) gxx_version=`${CXX} -dumpfullversion` ;;
358     esac
359     CXX_VERSION="($gxx_version)"
360   else
361     gxx_version=clang-$clang_version
362     CXX_VERSION="($clang_version)"
363   fi
364
365   case $gxx_version in
366       2.*|3.*|4.@<:@0-8@:>@*) AC_MSG_ERROR([gcc >= 4.9 is required]);;
367   esac
368
369   AM_CXXFLAGS="$lyx_optim $AM_CXXFLAGS"
370   if test x$enable_debug = xyes ; then
371       AM_CXXFLAGS="-g $AM_CXXFLAGS"
372   fi
373   if test $build_type = gprof ; then
374     AM_CXXFLAGS="$AM_CXXFLAGS -pg"
375     AM_LDFLAGS="$AM_LDFLAGS -pg"
376   fi
377   if test $build_type = profiling ; then
378     AM_CXXFLAGS="$AM_CXXFLAGS -fno-omit-frame-pointer"
379   fi
380
381   AS_CASE([$host], [*mingw*|*cygwin*], [], [AM_CXXFLAGS="-fPIC $AM_CXXFLAGS"])
382
383   dnl Warnings are for preprocessor too
384   if test x$enable_warnings = xyes ; then
385       AM_CPPFLAGS="$AM_CPPFLAGS -Wall -Wextra"
386       dnl Shut off warning -Wdeprecated-copy, which triggers too much
387       dnl note that g++ always accepts -Wno-xxx, even when -Wxxx is an error.
388       AC_LANG_PUSH(C++)
389       AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy],
390         [AM_CXXFLAGS="$AM_CXXFLAGS -Wno-deprecated-copy"], [], [-Werror])
391       AC_LANG_POP(C++)
392     fi
393   if test x$enable_stdlib_debug = xyes ; then
394     dnl FIXME: for clang/libc++, one should define _LIBCPP_DEBUG2=0
395     dnl See http://clang-developers.42468.n3.nabble.com/libc-debug-mode-td3336742.html
396     if test x$lyx_cv_lib_stdcxx = xyes ; then
397         lyx_flags="$lyx_flags stdlib-debug"
398         AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode])
399         AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode])
400         AC_SUBST(STDLIB_DEBUG, "-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
401     else
402         enable_stdlib_debug=no
403     fi
404   fi
405   if test x$enable_stdlib_assertions = xyes ; then
406     if test x$lyx_cv_lib_stdcxx = xyes ; then
407         lyx_flags="$lyx_flags stdlib-assertions"
408         AC_DEFINE(_GLIBCXX_ASSERTIONS, 1, [libstdc++ assertions mode])
409     else
410         enable_stdlib_assertions=no
411     fi
412   fi
413 fi
414
415 # Some additional flags may be needed
416 if test x$GXX = xyes; then
417     case $gxx_version in
418       clang-3.0*|clang-3.1*|clang-3.2*|clang-3.3*)
419         dnl boost contains pragmas that are annoying on older clang versions
420         AM_CPPFLAGS="-Wno-unknown-pragmas $AM_CPPFLAGS";;
421     esac
422 fi
423 ])
424
425 dnl Usage: LYX_USE_INCLUDED_NOD : select if the included nod should be used.
426 AC_DEFUN([LYX_USE_INCLUDED_NOD],[
427         AC_MSG_CHECKING([whether to use included nod library])
428         AC_ARG_WITH(included-nod,
429             [AS_HELP_STRING([--without-included-nod], [do not use the nod lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])],
430             [lyx_cv_with_included_nod=$withval],
431             [lyx_cv_with_included_nod=yes])
432         AM_CONDITIONAL(USE_INCLUDED_NOD, test x$lyx_cv_with_included_nod = xyes)
433         AC_MSG_RESULT([$lyx_cv_with_included_nod])
434         if test x$lyx_cv_with_included_nod = xyes ; then
435             lyx_included_libs="$lyx_included_libs nod"
436             NOD_INCLUDES='-I$(top_srcdir)/3rdparty/nod'
437         else
438             NOD_INCLUDES=
439             AC_LANG_PUSH(C++)
440             AC_MSG_CHECKING([for nod library])
441             AC_LINK_IFELSE(
442                 [AC_LANG_PROGRAM([#include <nod.hpp>],
443                     [nod::scoped_connection conn;])],
444                 [AC_MSG_RESULT([yes])],
445                 [AC_MSG_RESULT([no])
446                 AC_MSG_ERROR([cannot find suitable nod library (do not use --without-included-nod)])
447             ])
448             AC_LANG_POP(C++)
449         fi
450         AC_SUBST(NOD_INCLUDES)
451 ])
452
453 dnl Usage: LYX_USE_INCLUDED_BOOST : select if the included boost should
454 dnl        be used.
455 AC_DEFUN([LYX_USE_INCLUDED_BOOST],[
456         AC_MSG_CHECKING([whether to use included boost library])
457         AC_ARG_WITH(included-boost,
458             [AS_HELP_STRING([--with-included-boost], [use the boost lib supplied with LyX])],
459             [lyx_cv_with_included_boost=$withval],
460             [lyx_cv_with_included_boost=no])
461         AM_CONDITIONAL(USE_INCLUDED_BOOST, test x$lyx_cv_with_included_boost = xyes)
462         AC_MSG_RESULT([$lyx_cv_with_included_boost])
463         if test x$lyx_cv_with_included_boost = xno ; then
464             AC_LANG_PUSH(C++)
465             AC_MSG_CHECKING([for boost library])
466             AC_LINK_IFELSE(
467                 [AC_LANG_PROGRAM([#include <boost/crc.hpp>],
468                     [boost::crc_32_type crc;])],
469                 [AC_MSG_RESULT([yes])],
470                 [AC_MSG_RESULT([no])
471                 lyx_cv_with_included_boost=yes
472             ])
473             AC_LANG_POP(C++)
474         fi
475         if test x$lyx_cv_with_included_boost = xyes ; then
476             lyx_included_libs="$lyx_included_libs boost"
477             BOOST_INCLUDES='-I$(top_srcdir)/3rdparty/boost'
478         else
479             BOOST_INCLUDES=
480         fi
481         AC_SUBST(BOOST_INCLUDES)
482 ])
483
484
485 dnl Usage: LYX_USE_INCLUDED_ICONV : select if the included iconv should
486 dnl        be used.
487 AC_DEFUN([LYX_USE_INCLUDED_ICONV],[
488   AC_MSG_CHECKING([whether to use included iconv library])
489   AC_ARG_WITH(included-iconv,
490     [AS_HELP_STRING([--with-included-iconv], [use the iconv lib supplied with LyX instead of the system one])],
491     [lyx_cv_with_included_iconv=$withval],
492     [lyx_cv_with_included_iconv=no])
493   AM_CONDITIONAL(USE_INCLUDED_ICONV, test x$lyx_cv_with_included_iconv = xyes)
494   AC_MSG_RESULT([$lyx_cv_with_included_iconv])
495   if test x$lyx_cv_with_included_iconv = xyes ; then
496   lyx_included_libs="$lyx_included_libs iconv"
497
498 dnl This is hardcoded to make it compile
499     AC_DEFINE([HAVE_WORKING_O_NOFOLLOW], 0, [Define to 1 if O_NOFOLLOW works.])
500
501 dnl Some bits from libiconv configure.ac to avoid a nested configure call:
502     AC_EILSEQ
503     AC_TYPE_MBSTATE_T
504     AC_CHECK_FUNCS([getc_unlocked mbrtowc wcrtomb mbsinit setlocale])
505 dnl Ymbstate_t is used if HAVE_WCRTOMB || HAVE_MBRTOWC, see 3rdparty/libiconv/1.15/lib/loop_wchar.h.
506     if test $ac_cv_func_wcrtomb = yes || test $ac_cv_func_mbrtowc = yes; then
507       USE_MBSTATE_T=1
508     else
509       USE_MBSTATE_T=0
510     fi
511     AC_SUBST([USE_MBSTATE_T])
512     AC_CACHE_CHECK([whether <wchar.h> is standalone],
513       [gl_cv_header_wchar_h_standalone],
514       [AC_COMPILE_IFELSE(
515         [AC_LANG_PROGRAM(
516           [[#include <wchar.h>
517             wchar_t w;]],
518           [[]])],
519         [gl_cv_header_wchar_h_standalone=yes],
520         [gl_cv_header_wchar_h_standalone=no])])
521     if test $gl_cv_header_wchar_h_standalone = yes; then
522       BROKEN_WCHAR_H=0
523     else
524       BROKEN_WCHAR_H=1
525     fi
526     AC_SUBST([BROKEN_WCHAR_H])
527 dnl we want const correctness
528     AC_DEFINE_UNQUOTED([ICONV_CONST], [const],
529       [Define as const if the declaration of iconv() needs const.])
530     ICONV_CONST=const
531     AC_SUBST([ICONV_CONST])
532 dnl we build a static lib
533     DLL_VARIABLE=
534     AC_SUBST([DLL_VARIABLE])
535     ICONV_INCLUDES='-I$(top_srcdir)/3rdparty/libiconv/1.15 -I$(top_builddir)/3rdparty/libiconv'
536     ICONV_LIBS='\$(top_builddir)/3rdparty/libiconv/liblyxiconv.a'
537     ICONV_ICONV_H_IN=3rdparty/libiconv/iconv.h:3rdparty/libiconv/1.15/include/iconv.h.in
538   else
539     ICONV_INCLUDES=
540     AM_ICONV
541     if test "$am_cv_func_iconv" = no; then
542       AC_MSG_ERROR([cannot find required library iconv.])
543     else
544       ICONV_LIBS="$LIBICONV"
545     fi
546     ICONV_ICONV_H_IN=
547   fi
548   AC_SUBST(ICONV_INCLUDES)
549   AC_SUBST(ICONV_LIBS)
550   AC_SUBST(ICONV_ICONV_H_IN)
551 ])
552
553
554 dnl Usage: LYX_USE_INCLUDED_ZLIB : select if the included zlib should
555 dnl        be used.
556 AC_DEFUN([LYX_USE_INCLUDED_ZLIB],[
557   AC_MSG_CHECKING([whether to use included zlib library])
558   AC_ARG_WITH(included-zlib,
559     [AS_HELP_STRING([--with-included-zlib], [use the zlib lib supplied with LyX instead of the system one])],
560     [lyx_cv_with_included_zlib=$withval],
561     [lyx_cv_with_included_zlib=no])
562   AM_CONDITIONAL(USE_INCLUDED_ZLIB, test x$lyx_cv_with_included_zlib = xyes)
563   AC_MSG_RESULT([$lyx_cv_with_included_zlib])
564   if test x$lyx_cv_with_included_zlib = xyes ; then
565     lyx_included_libs="$lyx_included_libs zlib"
566     ZLIB_INCLUDES='-I$(top_srcdir)/3rdparty/zlib/1.2.8 -I$(top_builddir)/3rdparty/zlib'
567     ZLIB_LIBS='$(top_builddir)/3rdparty/zlib/liblyxzlib.a'
568     mkdir -p 3rdparty/zlib
569 dnl include standard config.h for HAVE_UNISTD_H
570     echo "#include <../../config.h>" > 3rdparty/zlib/zconf.h
571 dnl prevent clash with system zlib that might be dragged in by other libs
572     echo "#define Z_PREFIX 1" >> 3rdparty/zlib/zconf.h
573     cat "${srcdir}/3rdparty/zlib/1.2.8/zconf.h.in" >> 3rdparty/zlib/zconf.h
574   else
575     ZLIB_INCLUDES=
576     AC_CHECK_HEADERS(zlib.h,
577       [AC_CHECK_LIB(z, gzopen, [ZLIB_LIBS="-lz"], LYX_LIB_ERROR(libz,zlib))],
578       [LYX_LIB_ERROR(zlib.h,zlib)])
579   fi
580   AC_SUBST(ZLIB_INCLUDES)
581   AC_SUBST(ZLIB_LIBS)
582 ])
583
584
585 dnl Usage: LYX_BUILD_INCLUDED_DTL : select if the included dtl should
586 dnl        be built and installed.
587 AC_DEFUN([LYX_BUILD_INCLUDED_DTL],[
588         AC_MSG_CHECKING([whether to build dv2dt and dt2dv])
589         AC_ARG_WITH(included-dtl,
590             [AS_HELP_STRING([--with-included-dtl], [build and install the dv2dt and dt2dv programs supplied with LyX])],
591             [lyx_cv_with_included_dtl=$withval],
592             [lyx_cv_with_included_dtl=no])
593         AM_CONDITIONAL(BUILD_INCLUDED_DTL, test x$lyx_cv_with_included_dtl = xyes)
594         AC_MSG_RESULT([$lyx_cv_with_included_dtl])
595         if test x$lyx_cv_with_included_dtl = xyes ; then
596             lyx_flags="$lyx_flags build-dtl"
597         fi])
598
599
600 dnl Usage: LYX_CHECK_CALLSTACK_PRINTING: define LYX_CALLSTACK_PRINTING if the
601 dnl        necessary APIs are available to print callstacks.
602 AC_DEFUN([LYX_CHECK_CALLSTACK_PRINTING],
603 [AC_ARG_ENABLE([callstack-printing],
604                [AS_HELP_STRING([--disable-callstack-printing],[do not print a callstack when crashing])],
605                lyx_cv_callstack_printing=$enableval, lyx_cv_callstack_printing=yes)
606
607 if test x"$lyx_cv_callstack_printing" = xyes; then
608   AC_CACHE_CHECK([whether printing callstack is possible],
609                  [lyx_cv_callstack_printing],
610   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
611   #include <execinfo.h>
612   #include <cxxabi.h>
613   ]], [[
614           void* array[200];
615           size_t size = backtrace(array, 200);
616           backtrace_symbols(array, size);
617           int status = 0;
618           abi::__cxa_demangle("abcd", 0, 0, &status);
619   ]])],[],[lyx_cv_callstack_printing=no])])
620 fi
621 if test x"$lyx_cv_callstack_printing" = xyes; then
622   AC_DEFINE([LYX_CALLSTACK_PRINTING], 1,
623             [Define if callstack can be printed])
624   lyx_flags="$lyx_flags callback-printing"
625   AM_LDFLAGS="${AM_LDFLAGS} -rdynamic"
626 fi
627 ])
628
629
630 dnl Usage: LYX_USE_INCLUDED_MYTHES : select if the included MyThes should
631 dnl        be used.
632 AC_DEFUN([LYX_USE_INCLUDED_MYTHES],[
633   AC_ARG_WITH(included-mythes,
634     [AS_HELP_STRING([--with-included-mythes], [force to use the MyThes lib supplied with LyX])],
635     [use_included_mythes=$withval],
636     [use_included_mythes=no])
637   if test x$use_included_mythes != xyes ; then
638     AC_LANG_PUSH(C++)
639     use_included_mythes=yes
640     AC_CHECK_HEADERS([mythes.hxx mythes/mythes.hxx],
641       [mythes_h_location="<$ac_header>"
642        save_LIBS=$LIBS
643        AC_MSG_CHECKING([checking for MyThes library])
644        for ac_lib in mythes mythes-1.2 ; do
645          LIBS="-l$ac_lib $save_LIBS"
646          AC_LINK_IFELSE(
647            [AC_LANG_PROGRAM([#include <cstdio>]
648               [#include $mythes_h_location], [MyThes dummy("idx","dat")])],
649            [MYTHES_LIBS=-l$ac_lib
650             AC_MSG_RESULT([$MYTHES_LIBS])
651             use_included_mythes=no])
652        done
653        if test $use_included_mythes != no ; then
654          AC_MSG_RESULT([not found])
655        fi
656        break])
657     AC_LANG_POP(C++)
658   fi
659   if test $use_included_mythes = yes ; then
660     mythes_h_location="<mythes.hxx>"
661     MYTHES_INCLUDES='-I$(top_srcdir)/3rdparty/mythes/1.2.5/'
662     MYTHES_LIBS='$(top_builddir)/3rdparty/mythes/liblyxmythes.a'
663     lyx_included_libs="$lyx_included_libs mythes"
664   fi
665   AM_CONDITIONAL(USE_INCLUDED_MYTHES, test x$use_included_mythes = xyes)
666   AC_DEFINE_UNQUOTED(MYTHES_H_LOCATION,$mythes_h_location,[Location of mythes.hxx])
667   AC_SUBST(MYTHES_INCLUDES)
668   AC_SUBST(MYTHES_LIBS)
669   AC_MSG_CHECKING([whether to use included MyThes library])
670   AC_MSG_RESULT([$use_included_mythes])
671 ])
672
673
674 dnl Usage: LYX_CHECK_MACOS_DEPLOYMENT_TARGET : select the macos deployment target
675 dnl                       [default-auto-value])
676 dnl  Assign the macosx-version-min value for compiler, linker and Info.plist.
677 dnl  Default is dynamic - depends on used Qt library version.
678 AC_DEFUN([LYX_CHECK_MACOS_DEPLOYMENT_TARGET],[
679   AC_ARG_WITH(macos-deployment-target,
680     [AS_HELP_STRING([--with-macos-deployment-target], [force the macos deployment target for LyX])],
681     [macos_deployment_target=$withval],
682     [macos_deployment_target=auto])
683   if test "${macos_deployment_target}" = "auto" ; then
684     macos_deployment_target="10.10"
685     case "$QTLIB_VERSION" in
686     5.12.*)
687       macos_deployment_target="10.12"
688       ;;
689     6.*)
690       macos_deployment_target="10.14"
691       ;;
692     esac
693   fi
694   AM_CPPFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_CPPFLAGS"
695   AM_LDFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_LDFLAGS"
696   AC_SUBST(macos_deployment_target,"${macos_deployment_target}")
697   AC_MSG_CHECKING([the macos deployment target for LyX])
698   AC_MSG_RESULT([$macos_deployment_target])
699 ])
700
701
702 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
703 dnl                       [default-yes-value])
704 dnl  Adds a --with-'dir-name' option (described by 'desc') and puts the
705 dnl  resulting directory name in 'dir-var-name'.
706 AC_DEFUN([LYX_WITH_DIR],[
707   AC_ARG_WITH($1,[AS_HELP_STRING([--with-$1],[specify $2])])
708   AC_MSG_CHECKING([for $2])
709   if test -z "$with_$3"; then
710      AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
711   else
712     test "x$with_$3" = xyes && with_$3=$5
713     lyx_cv_$3="$with_$3"
714   fi
715   AC_MSG_RESULT($lyx_cv_$3)
716 ])
717
718
719 dnl Usage: LYX_LOOP_DIR(value,action)
720 dnl Executes action for values of variable `dir' in `values'. `values' can
721 dnl use ":" as a separator.
722 AC_DEFUN([LYX_LOOP_DIR],[
723 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
724 for dir in `eval "echo $1"`; do
725   if test ! "$dir" = NONE; then
726     test ! -d "$dir" && AC_MSG_ERROR(['$dir' is not a directory])
727     $2
728   fi
729 done
730 IFS=$ac_save_ifs
731 ])
732
733
734 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
735 dnl var-name.
736 AC_DEFUN([LYX_ADD_LIB_DIR],[
737 $1="${$1} -L$2"
738 if test "`(uname) 2>/dev/null`" = SunOS &&
739     uname -r | grep '^5' >/dev/null; then
740   if test $GXX = yes ; then
741     $1="${$1} -Wl[,]-R$2"
742   else
743     $1="${$1} -R$2"
744   fi
745 fi])
746
747
748 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
749 dnl var-name.
750 AC_DEFUN([LYX_ADD_INC_DIR],[$1="${$1} -I$2 "])
751
752 ### Check for a headers existence and location iff it exists
753 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
754 ## It almost works.  I've tried a few variations but they give errors
755 ## of one sort or other: bad substitution or file not found etc.  The
756 ## actual header _is_ found though and the cache variable is set however
757 ## the reported setting (on screen) is equal to $ac_safe for some unknown
758 ## reason.
759 ## Additionally, autoheader can't figure out what to use as the name in
760 ## the config.h.in file so we need to write our own entries there -- one for
761 ## each header in the form PATH_HEADER_NAME_H
762 ##
763 AC_DEFUN([LYX_PATH_HEADER],
764 [ AC_CHECK_HEADER($1,[
765   ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
766 ### the only remaining problem is getting the second parameter to this
767 ### AC_CACHE_CACHE to print correctly. Currently it just results in value
768 ### of $ac_safe being printed.
769   AC_CACHE_CHECK([path to $1],[lyx_cv_path2_$ac_safe],
770   [ cat > conftest.$ac_ext <<EOF
771 #line __oline__ "configure"
772 #include "confdefs.h"
773
774 #include <$1>
775 EOF
776 lyx_path_header_path=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
777   grep $1  2>/dev/null | \
778   sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
779 eval "lyx_cv_path2_${ac_safe}=\$lyx_path_header_path"
780 rm -f conftest*])
781   AC_DEFINE_UNQUOTED($ac_tr_safe, $lyx_path_header_path, [dummy])])
782 ])
783 ### end of LYX_PATH_HEADER
784
785 ## Check what kind of packaging should be used at install time.
786 ## The default is autodetected.
787 AC_DEFUN([LYX_USE_PACKAGING],
788 [AC_MSG_CHECKING([what packaging should be used])
789 AC_ARG_WITH(packaging,
790   [AS_HELP_STRING([--with-packaging=STR], [set packaging for installation among:
791                             posix, windows, macosx, haiku (default is autodetected)])],
792   [lyx_use_packaging="$withval"], [
793   case $host in
794     *-apple-darwin*) lyx_use_packaging=macosx ;;
795     *-pc-mingw*) lyx_use_packaging=windows ;;
796     *-mingw32*) lyx_use_packaging=windows ;;
797     *haiku*) lyx_use_packaging=haiku ;;
798     *) lyx_use_packaging=posix ;;
799   esac])
800 AC_MSG_RESULT($lyx_use_packaging)
801 lyx_install_posix=false
802 lyx_install_macosx=false
803 lyx_install_cygwin=false
804 lyx_install_windows=false
805 case $lyx_use_packaging in
806    macosx) AC_DEFINE(USE_MACOSX_PACKAGING, 1, [Define to 1 if LyX should use a MacOS X application bundle file layout])
807            PACKAGE=LyX${version_suffix}
808            default_prefix="/Applications/${PACKAGE}.app"
809            AC_SUBST(osx_bundle_program_name,"${program_base_name}")
810            bindir='${prefix}/Contents/MacOS'
811            libdir='${prefix}/Contents/Resources'
812            datarootdir='${prefix}/Contents/Resources'
813            pkgdatadir='${datadir}'
814            mandir='${datadir}/man'
815            lyx_install_macosx=true ;;
816   windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout])
817            PACKAGE=LyX${version_suffix}
818            default_prefix="C:/Program Files/${PACKAGE}"
819            bindir='${prefix}/bin'
820            libdir='${prefix}/Resources'
821            datarootdir='${prefix}/Resources'
822            pkgdatadir='${datadir}'
823            mandir='${prefix}/Resources/man'
824            lyx_install_windows=true ;;
825     posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout])
826            PACKAGE=lyx${version_suffix}
827            program_suffix=$version_suffix
828            pkgdatadir='${datadir}/${PACKAGE}'
829            default_prefix=$ac_default_prefix
830            case ${host} in
831              *cygwin*) lyx_install_cygwin=true ;;
832              *apple-darwin*) lyx_install_macosx=true ;;
833            esac
834            lyx_install_posix=true ;;
835         haiku) AC_DEFINE(USE_HAIKU_PACKAGING, 1, [Define to 1 if LyX should use a Haiku-style file layout])
836            PACKAGE=lyx${version_suffix}
837            program_suffix=$version_suffix
838            pkgdatadir='${datadir}/${PACKAGE}'
839            default_prefix=$ac_default_prefix
840            lyx_install_posix=true ;;
841     *) AC_MSG_ERROR([unknown packaging type $lyx_use_packaging.]) ;;
842 esac
843 AM_CONDITIONAL(INSTALL_MACOSX, $lyx_install_macosx)
844 AM_CONDITIONAL(INSTALL_WINDOWS, $lyx_install_windows)
845 AM_CONDITIONAL(INSTALL_CYGWIN, $lyx_install_cygwin)
846 AM_CONDITIONAL(INSTALL_POSIX, $lyx_install_posix)
847 AC_SUBST(pkgdatadir)
848 AC_SUBST(program_suffix)
849 ])
850
851
852 ## ------------------------------------------------------------------------
853 ## Check whether mkdir() is mkdir or _mkdir, and whether it takes
854 ## one or two arguments.
855 ##
856 ## http://ac-archive.sourceforge.net/C_Support/ac_func_mkdir.html
857 ## ------------------------------------------------------------------------
858 ##
859 AC_DEFUN([AC_FUNC_MKDIR],
860 [AC_CHECK_FUNCS([mkdir _mkdir])
861 AC_CACHE_CHECK([whether mkdir takes one argument],
862                [ac_cv_mkdir_takes_one_arg],
863 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
864 #include <sys/stat.h>
865 #if HAVE_UNISTD_H
866 #  include <unistd.h>
867 #endif
868 ]], [[mkdir (".");]])],[ac_cv_mkdir_takes_one_arg=yes],[ac_cv_mkdir_takes_one_arg=no])])
869 if test x"$ac_cv_mkdir_takes_one_arg" = xyes; then
870   AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1,
871             [Define if mkdir takes only one argument.])
872 fi
873 ])
874
875
876 dnl Set VAR to the canonically resolved absolute equivalent of PATHNAME,
877 dnl (which may be a relative path, and need not refer to any existing
878 dnl entity).
879
880 dnl On Win32-MSYS build hosts, the returned path is resolved to its true
881 dnl native Win32 path name, (but with slashes, not backslashes).
882
883 dnl On any other system, it is simply the result which would be obtained
884 dnl if PATHNAME represented an existing directory, and the pwd command was
885 dnl executed in that directory.
886 AC_DEFUN([MSYS_AC_CANONICAL_PATH],
887 [ac_dir="$2"
888  ( exec 2>/dev/null; cd / && pwd -W ) | grep ':' >/dev/null &&
889     ac_pwd_w="pwd -W" || ac_pwd_w=pwd
890  until ac_val=`exec 2>/dev/null; cd "$ac_dir" && $ac_pwd_w`
891  do
892    ac_dir=`AS_DIRNAME(["$ac_dir"])`
893  done
894  ac_dir=`echo "$ac_dir" | sed 's?^[[./]]*??'`
895  ac_val=`echo "$ac_val" | sed 's?/*$[]??'`
896  $1=`echo "$2" | sed "s?^[[./]]*$ac_dir/*?$ac_val/?"'
897    s?/*$[]??'`
898 ])
899
900 dnl this is used by the macro blow to general a proper config.h.in entry
901 m4_define([LYX_AH_CHECK_DECL],
902 [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_$1),
903   [Define if you have the prototype for function `$1'])])dnl`
904
905 dnl Check things are declared in headers to avoid errors or warnings.
906 dnl Called like LYX_CHECK_DECL(function, header1 header2...)
907 dnl Defines HAVE_DECL_{FUNCTION}
908 AC_DEFUN([LYX_CHECK_DECL],
909 [LYX_AH_CHECK_DECL($1)
910 for ac_header in $2
911 do
912   AC_MSG_CHECKING([if $1 is declared by header $ac_header])
913   AC_EGREP_HEADER($1, $ac_header,
914       [AC_MSG_RESULT(yes)
915        AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_DECL_$1))
916        break],
917       [AC_MSG_RESULT(no)])
918 done])
919
920 dnl this is used by the macro below to generate a proper config.h.in entry
921 m4_define([LYX_AH_CHECK_DEF],
922 [AH_TEMPLATE(AS_TR_CPP(HAVE_DEF_$1),
923   [Define to 1 if `$1' is defined in `$2'])])dnl'
924
925 dnl Check whether name is defined in header by using it in codesnippet.
926 dnl Called like LYX_CHECK_DEF(name, header, codesnippet)
927 dnl Defines HAVE_DEF_{NAME}
928 AC_DEFUN([LYX_CHECK_DEF],
929 [LYX_AH_CHECK_DEF($1, $2)
930  AC_MSG_CHECKING([whether $1 is defined by header $2])
931  save_CPPFLAGS=$CPPFLAGS
932  CPPFLAGS="$AM_CPPFLAGS $CPPFLAGS"
933  save_CXXFLAGS=$CXXFLAGS
934  CXXFLAGS="$AM_CXXFLAGS $CXXFLAGS"
935  AC_LANG_PUSH(C++)
936  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$2>]], [[$3]])],[lyx_have_def_name=yes],[lyx_have_def_name=no])
937  AC_LANG_POP(C++)
938  CXXFLAGS=$save_CXXFLAGS
939  CPPFLAGS=$save_CPPFLAGS
940  AC_MSG_RESULT($lyx_have_def_name)
941  if test "x$lyx_have_def_name" = xyes; then
942    AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_DEF_$1))
943  fi
944 ])
945
946 dnl Extract the single digits from PACKAGE_VERSION and make them available.
947 dnl Defines LYX_MAJOR_VERSION, LYX_MINOR_VERSION, LYX_RELEASE_LEVEL,
948 dnl LYX_RELEASE_PATCH (possibly equal to 0), LYX_DIR_VER, and LYX_USERDIR_VER.
949 AC_DEFUN([LYX_SET_VERSION_INFO],
950 [lyx_major=`echo $PACKAGE_VERSION | sed -e 's/[[.]].*//'`
951  lyx_patch=`echo $PACKAGE_VERSION | sed -e "s/^$lyx_major//" -e 's/^.//'`
952  lyx_minor=`echo $lyx_patch | sed -e 's/[[.]].*//'`
953  lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_minor//" -e 's/^.//'`
954  lyx_release=`echo $lyx_patch | sed -e 's/[[^0-9]].*//'`
955  lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_release//" -e 's/^[[.]]//' -e 's/[[^0-9]].*//'`
956  test "x$lyx_patch" = "x" && lyx_patch=0
957  lyx_dir_ver=LYX_DIR_${lyx_major}${lyx_minor}x
958  lyx_userdir_ver=LYX_USERDIR_${lyx_major}${lyx_minor}x
959  AC_SUBST(LYX_MAJOR_VERSION,$lyx_major)
960  AC_SUBST(LYX_MINOR_VERSION,$lyx_minor)
961  AC_SUBST(LYX_RELEASE_LEVEL,$lyx_release)
962  AC_SUBST(LYX_RELEASE_PATCH,$lyx_patch)
963  AC_SUBST(LYX_DIR_VER,"$lyx_dir_ver")
964  AC_SUBST(LYX_USERDIR_VER,"$lyx_userdir_ver")
965 ])
966
967 AC_DEFUN([LYX_CHECK_WITH_SAXON],
968 [
969         lyx_use_saxon=true
970         AC_ARG_WITH(saxon, AS_HELP_STRING([--without-saxon],[do not install saxon library (epub export)]))
971         test "$with_saxon" = "no" && lyx_use_saxon=false
972
973         if $lyx_use_saxon ; then
974                 AC_MSG_RESULT(Set to installing internal saxon.)
975         fi
976
977         AM_CONDITIONAL(SAXON_INSTALL, $lyx_use_saxon)
978     ])
979
980 AC_DEFUN([LYX_CHECK_WITH_XSLT_SHEETS],
981 [
982         lyx_use_xslt_stylesheets=true
983         AC_ARG_WITH(xslt-stylesheets, AS_HELP_STRING([--without-xslt-stylesheets],[do not install XSLT Stylesheets (epub export)]))
984         test "$with_xslt_stylesheets" = "no" && lyx_use_xslt_stylesheets=false
985
986         if $lyx_use_xslt_stylesheets ; then
987                 AC_MSG_RESULT(Set to installing XSLT Stylesheets.)
988         fi
989
990         AM_CONDITIONAL(XSLT_SHEETS_INSTALL, $lyx_use_xslt_stylesheets)
991     ])
992