]> git.lyx.org Git - lyx.git/blobdiff - config/lyxinclude.m4
fix writing of tabulars; output the real lyx version number at the top of generated...
[lyx.git] / config / lyxinclude.m4
index edb7a521400b9590446f9100459f3b3d6e9584f7..f37f8f9c6b7813fb3eabe3466d7bd8956f5979ab 100644 (file)
@@ -81,9 +81,7 @@ cat <<EOF
 **** (see the section 'Problems' in the INSTALL file)
 $lyx_error_txt
 $lyx_warning_txt
-deleting cache $cache_file
 EOF
-  rm -f $cache_file
 else
 
 if test x$lyx_warning = xyes; then
@@ -156,7 +154,7 @@ AC_DEFUN(LYX_PROG_CXX,
 LYX_SEARCH_PROG(CXX, $CXX $CCC g++ gcc c++ CC cxx xlC cc++, [LYX_PROG_CXX_WORKS])
 
 if test -z "$CXX" ; then
-  AC_ERROR([Unable to find a good enough C++ compiler])
+  AC_MSG_ERROR([Unable to find a good enough C++ compiler])
 fi
 AC_MSG_RESULT($CXX)
 
@@ -206,13 +204,14 @@ if test x$GXX = xyes; then
     CXXFLAGS="$ac_save_CXXFLAGS"
   else
     case $gxx_version in
-      2.95.1)  CXXFLAGS="$lyx_opt -fpermissive";;
-      2.95.2)  CXXFLAGS="$lyx_opt";;
-      2.95.*)  CXXFLAGS="$lyx_opt";;
-      2.96*)  CXXFLAGS="$lyx_opt";;
+      2.95.1)  CXXFLAGS="$lyx_opt -fpermissive -ftemplate-depth-30";;
+      2.95.*)  CXXFLAGS="$lyx_opt -Wno-non-template-friend -ftemplate-depth-30";;
+      2.96*)  CXXFLAGS="$lyx_opt -fno-exceptions -ftemplate-depth-30 -Wno-non-template-friend";;
       3.0*)    CXXFLAGS="$lyx_opt";;
-      3.1*)    CXXFLAGS="$lyx_opt";;
-      3.2*)    CXXFLAGS="$lyx_opt";;
+      3.1*)    CXXFLAGS="$lyx_opt -finline-limit=500 -fno-exceptions";;
+      3.2*)    CXXFLAGS="$lyx_opt -fno-exceptions";;
+      3.3*)    CXXFLAGS="$lyx_opt -fno-exceptions";;
+      3.4*)    CXXFLAGS="$lyx_opt -fno-exceptions";;
       *)       CXXFLAGS="$lyx_opt";;
     esac
     if test x$enable_debug = xyes ; then
@@ -223,15 +222,9 @@ if test x$GXX = xyes; then
     case $gxx_version in
        2.95.*) CXXFLAGS="$CXXFLAGS -W -Wall";;
        2.96*)  CXXFLAGS="$CXXFLAGS -W -Wall";;
+       3.1*)  CXXFLAGS="$CXXFLAGS -W -Wall";;
        *)      CXXFLAGS="$CXXFLAGS -W -Wall";;
     esac
-    if test $lyx_devel_version = yes ; then
-      case $gxx_version in
-         2.95.*) ;;
-         2.96*) ;;
-         *) CXXFLAGS="$CXXFLAGS -Winline";;
-      esac
-    fi
   fi
 fi])dnl
 
@@ -284,7 +277,7 @@ AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
  [AC_TRY_COMPILE([
 class Expl {
 public:
-       explicit Expl() {};
+       explicit Expl() {}
 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
 ])
 if test $lyx_cv_explicit = no ; then
@@ -398,6 +391,17 @@ dnl    AC_MSG_RESULT([$with_included_string])
 ])
 
 
+dnl Usage: LYX_USE_INCLUDED_BOOST : select if the included boost should
+dnl        be used.
+AC_DEFUN(LYX_USE_INCLUDED_BOOST,[
+       AC_ARG_WITH(included-boost,
+           [  --with-included-boost  use the boost lib supplied with LyX],
+           [lyx_cv_with_included_boost=$withval
+               AC_MSG_RESULT([$with_included_boost])],
+           [lyx_cv_with_included_boost=yes])
+       AM_CONDITIONAL(USE_INCLUDED_BOOST, test x$lyx_cv_with_included_boost = xyes)
+])
+
 dnl Usage: LYX_CXX_GOOD_STD_STRING : checks whether the C++ compiler
 dnl   has a std::string that is close to the standard. So close that
 dnl   methods not found in "unstandard" std::strings are present here.
@@ -435,14 +439,6 @@ AC_DEFUN(LYX_CXX_GOOD_STD_STRING,[
 ])
 
 
-dnl Usage: LYX_REGEX : checks if the header regex.h is available
-dnl   if it is not available the automake variable USE_REGEX will be
-dnl   defined and the regex.h and regex.c that we provide will be used.
-dnl AC_DEFUN(LYX_REGEX,[
-dnl     AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes)
-dnl     AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes)
-dnl ])
-
 dnl NOT USED CURRENTLY*************************************
 dnl LYX_CXX_PARTIAL
 AC_DEFUN(LYX_CXX_PARTIAL, [
@@ -507,214 +503,6 @@ AC_DEFUN(LYX_CXX_GLOBAL_CSTD,[
     fi
 ])
 
-dnl Usage LYX_PATH_XPM: Checks for xpm library and header
-AC_DEFUN(LYX_PATH_XPM,[
-### Check for Xpm library
-AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,XPM_LIB="-lXpm",
-       [LYX_LIB_ERROR(libXpm,Xpm)], $XPM_LIB)
-AC_SUBST(XPM_LIB)
-### Check for Xpm headers
-lyx_cv_xpm_h_location="<xpm.h>"
-AC_CHECK_HEADER(X11/xpm.h,[
-  ac_cv_header_xpm_h=yes
-  lyx_cv_xpm_h_location="<X11/xpm.h>"],[
-AC_CHECK_HEADER(xpm.h,[],[
-LYX_LIB_ERROR(xpm.h,Xpm)])])
-AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
-
-### Test for the header version
-if test $ac_cv_header_xpm_h = yes; then
-  AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
-  [ cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
-#include "confdefs.h"
-
-#include XPM_H_LOCATION
-"%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
-EOF
-    eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
-      grep '^"%%%"'  2>/dev/null | \
-      sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
-    case "$lyx_cv_xpmr" in
-changequote(,)
-     [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
-           lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
-changequote([,])
-        *) ;;
-    esac
-    lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
-    rm -f conftest*])
-  XPM_VERSION=${lyx_cv_xpmversion}
-  case "$lyx_cv_xpmr" in
-changequote(,)
-       [789]|[0-9][0-9]*) ;;
-changequote([,])
-       *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
-   If you experience strange crashes with LyX, try to upgrade
-   to at least version 4.7 (aka 3.4g).
-   If you have installed a newer version of the library, check whether you
-   have an old xpm.h header file in your include path.]);;
-  esac
-fi])
-
-
-dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
-dnl   If it is found, the variable XFORMS_LIB is set to the relevant -l flag.
-AC_DEFUN(LYX_PATH_XFORMS,[
-### Check for xforms library
-AC_CHECK_LIB(forms, fl_initialize, XFORMS_LIB="-lforms",
-  [AC_CHECK_LIB(xforms, fl_initialize, XFORMS_LIB="-lxforms",
-    [LYX_LIB_ERROR(libforms or libxforms,xforms)])])
-AC_SUBST(XFORMS_LIB)
-### Check for xforms headers
-lyx_cv_forms_h_location="<forms.h>"
-AC_CHECK_HEADER(X11/forms.h,[
-  ac_cv_header_forms_h=yes
-  lyx_cv_forms_h_location="<X11/forms.h>"],[
-AC_CHECK_HEADER(forms.h,[],[
-LYX_LIB_ERROR(forms.h,forms)])])
-AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
-if test $ac_cv_header_forms_h = yes; then
-  AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
-  [ cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
-#include "confdefs.h"
-
-#include FORMS_H_LOCATION
-#if ! defined(FL_INCLUDE_VERSION)
-"%%%"(unknown)"%%%"
-#else
-"%%%"FL_VERSION.FL_REVISION.FL_FIXLEVEL"%%%"
-#endif
-EOF
-lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
-  grep '^"%%%"'  2>/dev/null | \
-  sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
-rm -f conftest*])
-XFORMS_VERSION=$lyx_cv_xfversion
-case "$lyx_cv_xfversion" in
-  "(unknown)"|0.8[1-7]*)
-        LYX_ERROR(dnl
-Version $lyx_cv_xfversion of xforms is not compatible with LyX.
-   This version of LyX works best with versions 0.88 (recommended) and later.) ;;
-    0.88*) ;;
-    0.89[01234]) LYX_WARNING(dnl
-LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
-it is an unproven version and might still have some bugs. You should
-probably use version 0.89.6 (or 0.88) instead) ;;
-    0.89*) ;;
-       *) LYX_WARNING(dnl
-Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
- since it is newer than 0.89. You might have slight problems with it.);;
-esac
-fi])
-
-
-dnl Check whether the xforms library has a viable image loader
-AC_DEFUN(LYX_USE_XFORMS_IMAGE_LOADER,
-[
-save_LIBS=$LIBS
-LIBS="$XFORMS_LIB $LIBS"
-lyx_use_xforms_image_loader=no
-AC_CHECK_FUNCS(flimage_dup,[
-  AC_CHECK_FUNCS(flimage_to_pixmap,[
-    lyx_use_xforms_image_loader=yes
-    AC_CHECK_FUNCS(flimage_enable_ps)])])
-LIBS=$save_LIBS
-test $lyx_use_xforms_image_loader = yes && lyx_flags="$lyx_flags xforms-image-loader"
-### If the gui cannot load images itself, then we default to the
-### very simple one in graphics/GraphicsImageXPM.[Ch]
-AM_CONDITIONAL(USE_BASIC_IMAGE_LOADER,
-              test $lyx_use_xforms_image_loader = no)
-])
-
-
-dnl Check if the image loader needs libjpeg
-AC_DEFUN(LYX_XFORMS_IMAGE_LOADER_NEEDS_JPEG,
-[
-    if test "$lyx_use_xforms_image_loader" = "yes" ; then
-       AC_MSG_CHECKING([whether libjpeg is needed])
-       AC_LANG_SAVE
-       AC_LANG_C
-       save_LIBS=$LIBS
-       LIBS="$XFORMS_LIB $LIBS"
-       AC_TRY_LINK([#include <forms.h>],
-           [jpeg_abort(0);],
-           [lyx_need_jpeg=no],[lyx_need_jpeg=yes])
-       LIBS=$save_LIBS
-       AC_LANG_RESTORE
-       AC_MSG_RESULT($lyx_need_jpeg)
-       if test "$lyx_need_jpeg" = "yes" ; then
-           LIBS="-ljpeg $LIBS"
-       fi
-    fi
-])
-
-
-dnl Usage: LYX_HPUX  Checks for HP-UX and update CXXFLAGS accordingly
-AC_DEFUN(LYX_HPUX,
-[#It seems that HPUX requires using -fpcc-struct-return with gcc.
-AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
-os=`uname -s | tr '[A-Z]' '[a-z]'`
-ac_cv_hpux=no
-test "$os" = hp-ux && ac_cv_hpux=yes])
-if test "$ac_cv_hpux" = yes; then
- test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
-fi])
-
-
-dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
-dnl   if necessary
-AC_DEFUN(LYX_SUNOS4,
-[#The headers are not correct under SunOS4
-AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
-changequote(, ) dnl
-os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
-changequote([, ]) dnl
-ac_cv_sunos4=no
-test "$os" = SunOS4 && ac_cv_sunos4=yes])
-if test "$ac_cv_sunos4" = yes; then
- test "x$GXX" = xyes && lyx_broken_headers=yes
-fi])
-
-
-dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
-dnl   if necessary
-AC_DEFUN(LYX_SCO,
-[AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
-ac_cv_sco=no
-if test `uname -s` != "SCO_SV"; then
-  lyx_machine_rel=`uname -m`:`uname -r`
-  if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
-  then
-    if test -f /usr/options/cb.name; then
-      ac_cv_sco=no
-    elif /bin/uname -X 2>/dev/null >/dev/null ; then
-      ac_cv_sco=yes
-    fi
-  fi
-fi])
-if test "$ac_cv_sco" = yes; then
- test "x$GXX" = xyes && lyx_broken_headers=yes
-fi])
-
-dnl Usage: LYX_FUNC_PUTENV_ARGTYPE
-dnl Checks whether putenv() takes 'char const *' or 'char *' as
-dnl argument. This is needed because Solaris 7 (wrongly?) uses 'char *',
-dnl while everybody else uses the former...
-AC_DEFUN(LYX_FUNC_PUTENV_ARGTYPE,
-[AC_MSG_CHECKING([type of argument for putenv()])
- AC_CACHE_VAL(lyx_cv_func_putenv_arg,dnl
-  [AC_TRY_COMPILE(dnl
-[#include <cstdlib>],
-[char const * foo = "bar";
- putenv(foo);],dnl
-   [lyx_cv_func_putenv_arg='char const *'],[lyx_cv_func_putenv_arg='char *'])])
- AC_MSG_RESULT($lyx_cv_func_putenv_arg)
- AC_DEFINE_UNQUOTED(PUTENV_TYPE_ARG,$lyx_cv_func_putenv_arg,dnl
-   [Define to the type of the argument of putenv(). Needed on Solaris 7.])])
-
-
 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
 dnl                       [default-yes-value])
 dnl  Adds a --with-'dir-name' option (described by 'desc') and puts the
@@ -738,7 +526,7 @@ AC_DEFUN(LYX_LOOP_DIR,[
 IFS="${IFS=    }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
 for dir in `eval "echo $1"`; do
   if test ! "$dir" = NONE; then
-    test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
+    test ! -d "$dir" && AC_MSG_ERROR([\"$dir\" is not a directory])
     $2
   fi
 done
@@ -793,106 +581,17 @@ lyx_path_header_path=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
   sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
 eval "lyx_cv_path2_${ac_safe}=\$lyx_path_header_path"
 rm -f conftest*])
-  AC_DEFINE_UNQUOTED($ac_tr_safe, $lyx_path_header_path)])
+  AC_DEFINE_UNQUOTED($ac_tr_safe, $lyx_path_header_path, [dummy])])
 ])
 ### end of LYX_PATH_HEADER
 
-### Check for stl_string_fwd.h existence and location if it exists
-AC_DEFUN(LYX_STL_STRING_FWD,
-[ AC_CHECK_HEADER(stl_string_fwd.h,[
-  AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
-  [ cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
-#include "confdefs.h"
-
-#include <stl_string_fwd.h>
-EOF
-lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
-  grep 'stl_string_fwd.h'  2>/dev/null | \
-  sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
-rm -f conftest*])
-  AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h,
-[define this to the location of stl_string_fwd.h to be used with #include,
-  NOTE: Do not set it to <stl_string_fwd.h> as that will find the LyX
-       supplied version of the header.
-  e.g. <../include/stl_string_fwd.h> or better yet use an absolute path])])
-])
-
-
-dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
-dnl if the cache file is inconsistent with the current host,
-dnl target and build system types, execute CMD or print a default
-dnl error message.
-AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
-    AC_REQUIRE([AC_CANONICAL_SYSTEM])
-    AC_MSG_CHECKING([config.cache system type])
-    if { test x"${ac_cv_host_system_type+set}" = x"set" &&
-        test x"$ac_cv_host_system_type" != x"$host"; } ||
-       { test x"${ac_cv_build_system_type+set}" = x"set" &&
-        test x"$ac_cv_build_system_type" != x"$build"; } ||
-       { test x"${ac_cv_target_system_type+set}" = x"set" &&
-        test x"$ac_cv_target_system_type" != x"$target"; }; then
-       AC_MSG_RESULT([different])
-       ifelse($#, 1, [$1],
-               [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
-    else
-       AC_MSG_RESULT([same])
-    fi
-    ac_cv_host_system_type="$host"
-    ac_cv_build_system_type="$build"
-    ac_cv_target_system_type="$target"
-])
-
-dnl We use this until autoconf fixes its version.
-AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
-[AC_MSG_CHECKING([types of arguments for select()])
- AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
- [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
-  [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
-   [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
-     for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do      for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
-       AC_TRY_COMPILE(dnl
-[#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
-       [ac_not_found=no ; break 3],ac_not_found=yes)
-      done
-     done
-    done
-   ])dnl AC_CACHE_VAL
-  ])dnl AC_CACHE_VAL
- ])dnl AC_CACHE_VAL
- if test "$ac_not_found" = yes; then
-  ac_cv_func_select_arg1=int
-  ac_cv_func_select_arg234='int *'
-  ac_cv_func_select_arg5='struct timeval *'
- fi
- AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1,
-                   [Define to the type of arg1 for select().])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234),
-                   [Define to the type of args 2, 3 and 4 for select().])
- AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5),
-                   [Define to the type of arg5 for select().])
-])
-
 ### Check which frontend we want to use. The default is XForms
 ###
 AC_DEFUN(LYX_USE_FRONTEND,
 [AC_MSG_CHECKING([what frontend should be used as main GUI])
 AC_ARG_WITH(frontend,
   [  --with-frontend=THIS    Use THIS frontend as main GUI:
-                           Possible values: xforms, qt2, gnome],
+                           Possible values: xforms, qt],
   [lyx_use_frontend="$withval"], [lyx_use_frontend="xforms"])
 AC_MSG_RESULT($lyx_use_frontend)
 AC_SUBST(FRONTEND)
@@ -903,37 +602,6 @@ AC_SUBST(FRONTEND_LIBS)
 ])
 
 
-dnl Check things are declared in headers to avoid errors or warnings.
-dnl Called like LYX_CHECK_DECL(function, headerfile)
-dnl Defines HAVE_DECL_{FUNCTION}
-AC_DEFUN(LYX_CHECK_DECL,
-[AC_MSG_CHECKING(if $1 is declared by header $2)
-tr_func=`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-
-tr_hdr=`echo $2 | tr . _`
-AC_CACHE_VAL([lyx_cv_declare_${tr_hdr}_$1],
-[AC_EGREP_HEADER($1, $2, [eval "lyx_cv_declare_${tr_hdr}_$1=yes"], [eval "lyx_cv_declare_${tr_hdr}_$1=no"])])
-if eval "test \"\${lyx_cv_declare_${tr_hdr}_$1}\" = \"yes\""; then
-       AC_DEFINE_UNQUOTED(HAVE_DECL_${tr_func})
-       AC_MSG_RESULT(yes)
-else
-       AC_MSG_RESULT(no)
-fi])
-
-dnl This is the multiple headers version of the LYX_CHECK_DECL macro above.
-dnl Called like LYX_CHECK_DECL_HDRS(function, file1 file2 file3)
-AC_DEFUN(LYX_CHECK_DECL_HDRS,
-[ got="no"
-for I in $2; do
-tr_hdr=`echo $I | tr . _`
-if test "${got}" = "no"; then
-    LYX_CHECK_DECL($1, $I)
-fi
-if eval "test \"\${lyx_cv_declare_${tr_hdr}_$1}\" = \"yes\""; then
-     got="yes"
-fi
-done])
-
 
 ## ------------------------------------------------------------------------
 ## Find a file (or one of more files in a list of dirs)