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)
7 dnl Usage LYX_CHECK_VERSION Displays version of LyX being built and
8 dnl sets variables "lyx_devel_version" and "lyx_prerelease"
9 AC_DEFUN([LYX_CHECK_VERSION],[
10 echo "configuring LyX version" AC_PACKAGE_VERSION
14 AC_MSG_CHECKING([for build type])
15 AC_ARG_ENABLE(build-type,
16 AC_HELP_STRING([--enable-build-type=TYPE],[set build setting according to TYPE=dev(elopment), rel(ease) or pre(release)]),
18 dev*) lyx_devel_version=yes
19 build_type=development;;
20 pre*) lyx_prerelease=yes
21 build_type=prerelease;;
23 *) AC_ERROR([Bad build type specification \"$enableval\". Please use one of dev(elopment), rel(ease) or pre(release)]);;
25 [case AC_PACKAGE_VERSION in
26 *svn*) lyx_devel_version=yes
27 build_type=development;;
28 *pre*|*alpha*|*beta*|*rc*) lyx_prerelease=yes
29 build_type=prerelease;;
31 AC_MSG_RESULT([$build_type])
32 if test $lyx_devel_version == yes ; then
33 AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX])
34 LYX_DATE="not released yet"
36 AC_SUBST(lyx_devel_version)])
39 dnl Define the option to set a LyX version on installed executables and directories
42 AC_DEFUN([LYX_VERSION_SUFFIX],[
43 AC_MSG_CHECKING([for version suffix])
44 dnl We need the literal double quotes in the rpm spec file
45 RPM_VERSION_SUFFIX='""'
46 AC_ARG_WITH(version-suffix,
47 [ --with-version-suffix[=<version>] install lyx files as lyx<version>],
48 [if test "x$withval" = "xyes";
50 withval="-"AC_PACKAGE_VERSION
51 ac_configure_args=`echo $ac_configure_args | sed "s,--with-version-suffix,--with-version-suffix=$withval,"`
53 AC_SUBST(version_suffix,$withval)
54 RPM_VERSION_SUFFIX="--with-version-suffix=$withval"])
55 AC_SUBST(RPM_VERSION_SUFFIX)
56 AC_MSG_RESULT([$withval])
60 dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the
61 dnl flag lyx_error to yes.
62 AC_DEFUN([LYX_ERROR],[
63 lyx_error_txt="$lyx_error_txt
69 dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the
70 dnl flag lyx_warning to yes.
71 AC_DEFUN([LYX_WARNING],[
72 lyx_warning_txt="$lyx_warning_txt
78 dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication
79 dnl that 'file' cannot be found because 'lib' may be uncorrectly installed.
80 AC_DEFUN([LYX_LIB_ERROR],[
81 LYX_ERROR([Cannot find $1. Please check that the $2 library
82 is correctly installed on your system.])])
85 dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR
86 dnl has occured previously.
87 AC_DEFUN([LYX_CHECK_ERRORS],[
88 if test x$lyx_warning = xyes; then
90 === The following minor problems have been detected by configure.
91 === Please check the messages below before running 'make'.
92 === (see the section 'Problems' in the INSTALL file)
96 if test x$lyx_error = xyes; then
98 **** The following problems have been detected by configure.
99 **** Please check the messages below before running 'make'.
100 **** (see the section 'Problems' in the INSTALL file)
108 Configuration of LyX was successful.
109 Type 'make' to compile the program,
110 and then 'make install' to install it.
115 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
117 define(LYX_SEARCH_PROG,[dnl
118 for ac_prog in $2 ; do
119 # Extract the first word of "$ac_prog", so it can be a program name with args.
120 set dummy $ac_prog ; ac_word=$[2]
121 if test -z "[$]$1"; then
122 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
123 for ac_dir in $PATH; do
124 test -z "$ac_dir" && ac_dir=.
125 if test -f [$ac_dir/$ac_word]; then
133 if test -n "[$]$1"; then
139 test -n "[$]$1" && break
144 AC_DEFUN([LYX_PROG_CXX_WORKS],
146 cat >conftest.C <<EOF
148 // we require the mutable keyword
151 // we require namespace support
159 $CXX -c $CXXFLAGS $CPPFLAGS conftest.C >&5 || CXX=
160 rm -f conftest.C conftest.o conftest.obj || true
164 AC_DEFUN([LYX_PROG_CXX],
165 [AC_MSG_CHECKING([for a good enough C++ compiler])
166 LYX_SEARCH_PROG(CXX, $CXX $CCC g++ gcc c++ CC cxx xlC cc++, [LYX_PROG_CXX_WORKS])
168 if test -z "$CXX" ; then
169 AC_MSG_ERROR([Unable to find a good enough C++ compiler])
176 ### We might want to get or shut warnings.
177 AC_ARG_ENABLE(warnings,
178 AC_HELP_STRING([--enable-warnings],[tell the compiler to display more warnings]),,
179 [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes && test $ac_cv_prog_gxx = yes ; then
184 if test x$enable_warnings = xyes ; then
185 lyx_flags="warnings $lyx_flags"
188 ### We might want to disable debug
190 AC_HELP_STRING([--enable-debug],[enable debug information]),,
191 [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
197 AC_ARG_ENABLE(stdlib-debug,
198 AC_HELP_STRING([--enable-stdlib-debug],[enable debug mode in the standard library]),,
199 [ if test $lyx_devel_version = yes ; then
200 enable_stdlib_debug=yes;
202 enable_stdlib_debug=no;
205 AC_ARG_ENABLE(concept-checks,
206 AC_HELP_STRING([--enable-concept-checks],[enable concept checks]),,
207 [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
208 enable_concept_checks=yes;
210 enable_concept_checks=no;
213 AC_ARG_ENABLE(profiling,
214 AC_HELP_STRING([--enable-profiling],[enable profiling]),,
215 enable_profiling=no;)
217 ### set up optimization
218 AC_ARG_ENABLE(optimization,
219 AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),,
220 enable_optimization=yes;)
221 case $enable_optimization in
223 if test $lyx_devel_version = yes ; then
229 *) lyx_opt=${enable_optimization};;
233 AC_HELP_STRING([--enable-pch],[enable precompiled headers]),,
237 # set the compiler options correctly.
238 if test x$GXX = xyes; then
239 dnl Useful for global version info
240 gxx_version=`${CXX} -dumpversion`
241 CXX_VERSION="($gxx_version)"
243 if test "$ac_test_CXXFLAGS" = set; then
244 CXXFLAGS="$ac_save_CXXFLAGS"
248 if test x$enable_debug = xyes ; then
250 CXXFLAGS="-g $CXXFLAGS"
252 if test x$enable_profiling = xyes ; then
254 CXXFLAGS="-pg $CXXFLAGS"
255 LDFLAGS="-pg $LDFLAGS"
258 if test "$ac_env_CPPFLAGS_set" != set; then
259 if test x$enable_warnings = xyes ; then
262 CPPFLAGS="-W -Wall $CPPFLAGS"
265 CPPFLAGS="-Wextra -Wall $CPPFLAGS "
271 3.1*) AM_CXXFLAGS="-finline-limit=500 ";;
272 3.2*|3.3*) AM_CXXFLAGS="";;
275 test $enable_pch = yes && lyx_pch_comp=yes
279 if test x$enable_stdlib_debug = xyes ; then
282 lyx_flags="stdlib-debug $lyx_flags"
283 AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode])
284 AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode])
288 if test x$enable_concept_checks = xyes ; then
291 lyx_flags="concept-checks $lyx_flags"
292 AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS, 1, [libstdc++ concept checking])
295 lyx_flags="concept-checks $lyx_flags"
296 AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking])
301 test "$lyx_pch_comp" = yes && lyx_flags="pch $lyx_flags"
302 AM_CONDITIONAL(LYX_BUILD_PCH, test "$lyx_pch_comp" = yes)
306 dnl NOT USED CURRENTLY*************************************
307 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
309 AC_DEFUN([LYX_CXX_RTTI],[
310 ### Check whether the compiler supports runtime type information
311 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
315 virtual int tag() { return 0; }
317 class derived1 : public rtti {
319 int tag() { return 1; }
321 class derived2 : public rtti {
323 int tag() { return 2; }
326 derived1 * foo1 = new derived1();
327 derived2 * foo2 = new derived2();
329 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
333 bar1 = dynamic_cast<derived1 *>(bar);
338 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
340 if test x$lyx_cv_rtti = xyes ; then
341 AC_DEFINE(HAVE_RTTI, 1,
342 [Define to 1 if your compiler supports runtime type information])
346 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
347 dnl understands the "explicit" directive.
348 AC_DEFUN([LYX_CXX_EXPLICIT],[
349 ### Check whether the compiler understands the keyword `explicit'
350 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
355 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
357 if test $lyx_cv_explicit = no ; then
358 AC_DEFINE(explicit,[ ],
359 [Define to nothing if your compiler does not understand the
360 'explicit' directive])
364 dnl NOT USED CURRENTLY*************************************
365 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
366 dnl has a working stl stack template
367 AC_DEFUN([LYX_CXX_STL_STACK],[
368 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
375 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
377 if test $lyx_cv_broken_stack = yes ; then
378 AC_DEFINE(BROKEN_STL_STACK, 1,
379 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
384 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
385 dnl count template, if not the old HP version is assumed.
386 AC_DEFUN([LYX_STD_COUNT],[
387 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
391 int countChar(char * b, char * e, char const c)
393 return count(b, e, c);
397 int i = countChar(a, a + 5, 'l');
398 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
400 if test $lyx_cv_std_count = yes ; then
401 AC_DEFINE(HAVE_STD_COUNT, 1,
402 [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
406 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
407 dnl supports modern STL streams
408 AC_DEFUN([LYX_CXX_STL_MODERN_STREAMS],[
409 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
413 std::streambuf * test = std::cerr.rdbuf();
415 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
417 if test $lyx_cv_modern_streams = yes ; then
418 AC_DEFINE(MODERN_STL_STREAMS, 1,
419 [Define if you have modern standard-compliant STL streams])
423 dnl Usage: LYX_USE_INCLUDED_BOOST : select if the included boost should
425 AC_DEFUN([LYX_USE_INCLUDED_BOOST],[
426 AC_MSG_CHECKING([whether to use boost included library])
427 AC_ARG_WITH(included-boost,
428 [ --without-included-boost do not use the boost lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found],
429 [lyx_cv_with_included_boost=$withval],
430 [lyx_cv_with_included_boost=yes])
431 AM_CONDITIONAL(USE_INCLUDED_BOOST, test x$lyx_cv_with_included_boost = xyes)
432 AC_MSG_RESULT([$lyx_cv_with_included_boost])
436 dnl NOT USED CURRENTLY*************************************
438 AC_DEFUN([LYX_CXX_PARTIAL], [
439 AC_REQUIRE([AC_PROG_CXX])
440 AC_CACHE_CHECK([if C++ compiler supports partial specialization],
441 [lyx_cv_cxx_partial_specialization],
444 template<class T, class K>
448 template<class T> class k<void,T> { };
453 lyx_cv_cxx_partial_specialization=yes
455 lyx_cv_cxx_partial_specialization=no
458 if test x$lyx_cv_cxx_partial_specialization = xyes ; then
459 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
460 [Defined if your compiler supports partial specialization.])
465 dnl Usage: LYX_CXX_GLOBAL_CSTD: checks whether C library functions
466 dnl are already in the global namespace
467 AC_DEFUN([LYX_CXX_GLOBAL_CSTD],[
468 AC_CACHE_CHECK(whether C library functions are already in the global namespace,
469 lyx_cv_cxx_global_cstd,
475 ],[lyx_cv_cxx_global_cstd=no],[lyx_cv_cxx_global_cstd=yes])])
476 if test x$lyx_cv_cxx_global_cstd = xyes; then
477 AC_DEFINE(CXX_GLOBAL_CSTD,1,
478 [Define if your C++ compiler puts C library functions in the global namespace])
483 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
484 dnl [default-yes-value])
485 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
486 dnl resulting directory name in 'dir-var-name'.
487 AC_DEFUN([LYX_WITH_DIR],[
488 AC_ARG_WITH($1,[AC_HELP_STRING([--with-$1],[specify $2])])
489 AC_MSG_CHECKING([for $2])
490 if test -z "$with_$3"; then
491 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
493 test "x$with_$3" = xyes && with_$3=$5
496 AC_MSG_RESULT($lyx_cv_$3)])
499 dnl Usage: LYX_LOOP_DIR(value,action)
500 dnl Executes action for values of variable `dir' in `values'. `values' can
501 dnl use ":" as a separator.
502 AC_DEFUN([LYX_LOOP_DIR],[
503 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
504 for dir in `eval "echo $1"`; do
505 if test ! "$dir" = NONE; then
506 test ! -d "$dir" && AC_MSG_ERROR([\"$dir\" is not a directory])
514 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
516 AC_DEFUN([LYX_ADD_LIB_DIR],[
518 if test "`(uname) 2>/dev/null`" = SunOS &&
519 uname -r | grep '^5' >/dev/null; then
520 if test $ac_cv_prog_gxx = yes ; then
521 $1="${$1} -Wl[,]-R$2"
528 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
530 AC_DEFUN([LYX_ADD_INC_DIR],[$1="${$1} -I$2 "])
532 ### Check for a headers existence and location iff it exists
533 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
534 ## It almost works. I've tried a few variations but they give errors
535 ## of one sort or other: bad substitution or file not found etc. The
536 ## actual header _is_ found though and the cache variable is set however
537 ## the reported setting (on screen) is equal to $ac_safe for some unknown
539 ## Additionally, autoheader can't figure out what to use as the name in
540 ## the config.h.in file so we need to write our own entries there -- one for
541 ## each header in the form PATH_HEADER_NAME_H
543 AC_DEFUN([LYX_PATH_HEADER],
544 [ AC_CHECK_HEADER($1,[
545 ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
546 ### the only remaining problem is getting the second parameter to this
547 ### AC_CACHE_CACHE to print correctly. Currently it just results in value
548 ### of $ac_safe being printed.
549 AC_CACHE_CHECK([path to $1],[lyx_cv_path2_$ac_safe],
550 [ cat > conftest.$ac_ext <<EOF
551 #line __oline__ "configure"
552 #include "confdefs.h"
556 lyx_path_header_path=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
557 grep $1 2>/dev/null | \
558 sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
559 eval "lyx_cv_path2_${ac_safe}=\$lyx_path_header_path"
561 AC_DEFINE_UNQUOTED($ac_tr_safe, $lyx_path_header_path, [dummy])])
563 ### end of LYX_PATH_HEADER
565 ### Check which frontends we want to use.
567 AC_DEFUN([LYX_USE_FRONTENDS],
568 [AC_MSG_CHECKING([what frontend should be used for the GUI])
569 AC_ARG_WITH(frontend,
570 [ --with-frontend=THIS Use THIS frontend as main GUI:
571 Possible values: qt4],
572 [FRONTENDS="$withval"],[FRONTENDS="qt4"])
573 if test "x$FRONTENDS" = x ; then
575 AC_ERROR("Please select a frontend using --with-frontend")
577 AC_MSG_RESULT($FRONTENDS)
579 AC_SUBST(FRONTENDS_SUBDIRS)
580 AC_SUBST(FRONTENDS_PROGS)
584 ## Check what kind of packaging should be used at install time.
585 ## The default is autodetected.
586 AC_DEFUN([LYX_USE_PACKAGING],
587 [AC_MSG_CHECKING([what packaging should be used])
588 AC_ARG_WITH(packaging,
589 [ --with-packaging=THIS Use THIS packaging for installation:
590 Possible values: posix, windows, macosx],
591 [lyx_use_packaging="$withval"], [
593 *-apple-darwin*) lyx_use_packaging=macosx ;;
594 *-pc-mingw32*) lyx_use_packaging=windows;;
595 *) lyx_use_packaging=posix;;
597 AC_MSG_RESULT($lyx_use_packaging)
598 lyx_install_macosx=false
599 case $lyx_use_packaging in
600 macosx) AC_DEFINE(USE_MACOSX_PACKAGING, 1, [Define to 1 if LyX should use a MacOS X application bundle file layout])
601 PACKAGE=LyX${version_suffix}
602 default_prefix="/Applications/${PACKAGE}.app"
603 bindir='${prefix}/Contents/MacOS'
604 libdir='${prefix}/Contents/Resources'
605 datadir='${prefix}/Contents/Resources'
606 pkgdatadir='${datadir}'
607 mandir='${datadir}/man'
608 lyx_install_macosx=true ;;
609 windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout])
610 PACKAGE=LyX${version_suffix}
611 default_prefix="C:/Program Files/${PACKAGE}"
612 bindir='${prefix}/bin'
613 libdir='${prefix}/Resources'
614 datadir='${prefix}/Resources'
615 pkgdatadir='${datadir}'
616 mandir='${prefix}/Resources/man' ;;
617 posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout])
618 PACKAGE=lyx${version_suffix}
619 program_suffix=$version_suffix
620 pkgdatadir='${datadir}/${PACKAGE}'
621 default_prefix=$ac_default_prefix ;;
622 *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;;
624 AM_CONDITIONAL(INSTALL_MACOSX, $lyx_install_macosx)
626 AC_SUBST(program_suffix)
630 ## ------------------------------------------------------------------------
631 ## Find a file (or one of more files in a list of dirs)
632 ## ------------------------------------------------------------------------
634 AC_DEFUN([AC_FIND_FILE],
641 if test -r "$i/$j"; then
649 dnl just a wrapper to clean up configure.in
650 AC_DEFUN([LYX_PROG_LIBTOOL],
652 AC_REQUIRE([AC_ENABLE_SHARED])
653 AC_REQUIRE([AC_ENABLE_STATIC])
654 dnl libtool is only for C, so I must force him
655 dnl to find the correct flags for C++
657 ac_save_cflags="$CFLAGS"
660 AC_PROG_LIBTOOL dnl for libraries
662 CFLAGS="$ac_save_cflags"
666 ## ------------------------------------------------------------------------
667 ## Check whether mkdir() is mkdir or _mkdir, and whether it takes
668 ## one or two arguments.
670 ## http://ac-archive.sourceforge.net/C_Support/ac_func_mkdir.html
671 ## ------------------------------------------------------------------------
673 AC_DEFUN([AC_FUNC_MKDIR],
674 [AC_CHECK_FUNCS([mkdir _mkdir])
675 AC_CACHE_CHECK([whether mkdir takes one argument],
676 [ac_cv_mkdir_takes_one_arg],
678 #include <sys/stat.h>
683 [ac_cv_mkdir_takes_one_arg=yes], [ac_cv_mkdir_takes_one_arg=no])])
684 if test x"$ac_cv_mkdir_takes_one_arg" = xyes; then
685 AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1,
686 [Define if mkdir takes only one argument.])
691 dnl Set VAR to the canonically resolved absolute equivalent of PATHNAME,
692 dnl (which may be a relative path, and need not refer to any existing
695 dnl On Win32-MSYS build hosts, the returned path is resolved to its true
696 dnl native Win32 path name, (but with slashes, not backslashes).
698 dnl On any other system, it is simply the result which would be obtained
699 dnl if PATHNAME represented an existing directory, and the pwd command was
700 dnl executed in that directory.
701 AC_DEFUN([MSYS_AC_CANONICAL_PATH],
703 ( exec 2>/dev/null; cd / && pwd -W ) | grep ':' >/dev/null &&
704 ac_pwd_w="pwd -W" || ac_pwd_w=pwd
705 until ac_val=`exec 2>/dev/null; cd "$ac_dir" && $ac_pwd_w`
707 ac_dir=`AS_DIRNAME(["$ac_dir"])`
709 ac_dir=`echo "$ac_dir" | sed 's?^[[./]]*??'`
710 ac_val=`echo "$ac_val" | sed 's?/*$[]??'`
711 $1=`echo "$2" | sed "s?^[[./]]*$ac_dir/*?$ac_val/?"'
715 dnl this is used by the macro blow to general a proper config.h.in entry
716 m4_define([LYX_AH_CHECK_DECL],
717 [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_$1),
718 [Define if you have the prototype for function `$1'])])
720 dnl Check things are declared in headers to avoid errors or warnings.
721 dnl Called like LYX_CHECK_DECL(function, header1 header2...)
722 dnl Defines HAVE_DECL_{FUNCTION}
723 AC_DEFUN([LYX_CHECK_DECL],
724 [LYX_AH_CHECK_DECL($1)
727 AC_MSG_CHECKING([if $1 is declared by header $ac_header])
728 AC_EGREP_HEADER($1, $ac_header,
730 AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_DECL_$1))
735 dnl Extract the single digits from PACKAGE_VERSION and make them available.
736 dnl Defines LYX_MAJOR_VERSION, LYX_MINOR_VERSION, LYX_RELEASE_LEVEL, and
737 dnl LYX_RELEASE_PATCH, the latter being possibly equal to 0.
738 AC_DEFUN([LYX_SET_VERSION_INFO],
739 [lyx_major=`echo $PACKAGE_VERSION | sed -e 's/[[.]].*//'`
740 lyx_patch=`echo $PACKAGE_VERSION | sed -e "s/^$lyx_major//" -e 's/^.//'`
741 lyx_minor=`echo $lyx_patch | sed -e 's/[[.]].*//'`
742 lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_minor//" -e 's/^.//'`
743 lyx_release=`echo $lyx_patch | sed -e 's/[[^0-9]].*//'`
744 lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_release//" -e 's/^[[.]]//' -e 's/[[^0-9]].*//'`
745 test "x$lyx_patch" = "x" && lyx_patch=0
746 AC_SUBST(LYX_MAJOR_VERSION,$lyx_major)
747 AC_SUBST(LYX_MINOR_VERSION,$lyx_minor)
748 AC_SUBST(LYX_RELEASE_LEVEL,$lyx_release)
749 AC_SUBST(LYX_RELEASE_PATCH,$lyx_patch)