From d8bcd73543e3e4b48dd264823813cb555d410f8c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Sat, 8 Jan 2000 21:06:59 +0000 Subject: [PATCH] the new files git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@409 a592a061-630c-0410-9148-cb99ea01b6c8 --- config/gettext.m4.patch | 16 + config/libtool.m4 | 430 ++++++++++++++++++++++ config/lyxinclude.m4 | 786 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1232 insertions(+) create mode 100644 config/gettext.m4.patch create mode 100644 config/libtool.m4 create mode 100644 config/lyxinclude.m4 diff --git a/config/gettext.m4.patch b/config/gettext.m4.patch new file mode 100644 index 0000000000..24d9f4cf06 --- /dev/null +++ b/config/gettext.m4.patch @@ -0,0 +1,16 @@ +--- /usr/share/aclocal/gettext.m4 Thu Sep 23 05:05:24 1999 ++++ gettext.m4 Sat Jan 8 04:12:49 2000 +@@ -227,7 +227,12 @@ + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= +- for lang in ${LINGUAS=$ALL_LINGUAS}; do ++dnl ============== Fix is here! ====================== ++dnl Some sh do not like substitution in bounds of for loops ++dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do ++ tmplinguas=${LINGUAS=$ALL_LINGUAS} ++ for lang in ${tmplinguas}; do ++dnl ==== end of fix + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac diff --git a/config/libtool.m4 b/config/libtool.m4 new file mode 100644 index 0000000000..47abe43064 --- /dev/null +++ b/config/libtool.m4 @@ -0,0 +1,430 @@ +## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- +## Copyright (C) 1996-1999 Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 1996 +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +# serial 40 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# Save cache, so that ltconfig can load it +AC_CACHE_SAVE + +# Actually configure libtool. ac_aux_dir is where install-sh is found. +CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \ +|| AC_MSG_ERROR([libtool configure failed]) + +# Reload cache, that may have been modified by ltconfig +AC_CACHE_LOAD + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log +]) + +AC_DEFUN(AC_LIBTOOL_SETUP, +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_RANLIB])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +dnl + +case "$target" in +NONE) lt_target="$host" ;; +*) lt_target="$target" ;; +esac + +# Check for any special flags to pass to ltconfig. +libtool_flags="--cache-file=$cache_file" +test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" +test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" +test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" +test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], +[libtool_flags="$libtool_flags --enable-dlopen"]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[libtool_flags="$libtool_flags --enable-win32-dll"]) +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case "$lt_target" in +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; + +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +]) +esac +]) + +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_SHARED, [dnl +define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(shared, +changequote(<<, >>)dnl +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_shared=yes ;; +no) enable_shared=no ;; +*) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl +]) + +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) + +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_STATIC, [dnl +define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(static, +changequote(<<, >>)dnl +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_static=yes ;; +no) enable_static=no ;; +*) + enable_static=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl +]) + +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl +define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, +[AC_ARG_WITH(gnu-ld, +[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$ac_cv_prog_gcc" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + ac_prog=`($CC -print-prog-name=ld) 2>&5` + case "$ac_prog" in + # Accept absolute paths. +changequote(,)dnl + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' +changequote([,])dnl + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(ac_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + ac_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then + test "$with_gnu_ld" != no && break + else + test "$with_gnu_ld" != yes && break + fi + fi + done + IFS="$ac_save_ifs" +else + ac_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$ac_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +]) + +AC_DEFUN(AC_PROG_LD_GNU, +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 &5; then + ac_cv_prog_gnu_ld=yes +else + ac_cv_prog_gnu_ld=no +fi]) +]) + +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, +[AC_MSG_CHECKING([for BSD-compatible nm]) +AC_CACHE_VAL(ac_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -B" + break + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + ac_cv_path_NM="$ac_dir/nm -p" + break + else + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm +fi]) +NM="$ac_cv_path_NM" +AC_MSG_RESULT([$NM]) +]) + +# AC_CHECK_LIBM - check for math library +AC_DEFUN(AC_CHECK_LIBM, +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case "$lt_target" in +*-*-beos* | *-*-cygwin*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library, adds --enable-ltdl-convenience to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library, and adds --enable-ltdl-install to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + INCLTDL= + fi +]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl + +dnl This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL])dnl diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 new file mode 100644 index 0000000000..ea8fc35620 --- /dev/null +++ b/config/lyxinclude.m4 @@ -0,0 +1,786 @@ +dnl Some useful functions for LyXs configure.in -*- sh -*- +dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr) +dnl Lars Gullik Bjønnes (larsbj@lyx.org) + + +dnl Usage LYX_GET_VERSION Sets "lyx_version" to the version of LyX being +dnl built, displays it and sets variable "lyx_devel" to yes or no depending +dnl whether the version is a development release or not. +AC_DEFUN(LYX_GET_VERSION,[ +changequote(, ) dnl +VERSION=`grep '#define *LYX_VERSION' $1 | + sed -e 's/^.*"\(.*\)"$/\1/' 2>/dev/null` +echo "configuring LyX version $VERSION" +if echo "$VERSION" | grep 'cvs' >/dev/null ; then + lyx_devel_version=yes + echo "WARNING: This is a development version. Expect bugs." +else + lyx_devel_version=no +fi +if echo "$VERSION" | grep 'pre' > /dev/null ; then + lyx_prerelease=yes + echo "WARNING: This is a prerelease. Be careful and backup your documents." +else + lyx_prerelease=no +fi +changequote([, ]) dnl +PACKAGE=lyx${program_suffix} +AC_SUBST(lyx_devel_version) +if test $lyx_devel_version = yes ; then + AC_DEFINE(DEVEL_VERSION, 1, Define if you are building a development version of LyX) +fi]) + +dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the +dnl flag lyx_error to yes. +AC_DEFUN(LYX_ERROR,[ +lyx_error_txt="$lyx_error_txt +** $1 +" +lyx_error=yes]) + + +dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the +dnl flag lyx_warning to yes. +AC_DEFUN(LYX_WARNING,[ +lyx_warning_txt="$lyx_warning_txt +== $1 +" +lyx_warning=yes]) + + +dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication +dnl that 'file' cannot be found because 'lib' may be uncorrectly installed. +AC_DEFUN(LYX_LIB_ERROR,[ +LYX_ERROR([Cannot find $1. Please check that the $2 library + is correctly installed on your system.])]) + + +dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR +dnl has occured previously. +AC_DEFUN(LYX_CHECK_ERRORS,[ +if test x$lyx_error = xyes; then +cat <(bar); + if (bar1 == 0) + exit(1); + bar = foo2; + bar1 = dynamic_cast(bar); + if (bar1 != 0) + exit(1); + return 0; +} +],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no) +]) +if test x$lyx_cv_rtti = xyes ; then + AC_DEFINE(HAVE_RTTI, 1, + [Define to 1 if your compiler supports runtime type information]) +fi]) + + +dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler +dnl understands the "explicit" directive. +AC_DEFUN(LYX_CXX_EXPLICIT,[ +### Check whether the compiler understands the keyword `explicit' +AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit, + [AC_TRY_COMPILE([ +class Expl { +public: + explicit Expl() {}; +};],,lyx_cv_explicit=yes,lyx_cv_explicit=no) +]) +if test $lyx_cv_explicit = no ; then + AC_DEFINE(explicit,[ ], + [Define to nothing if your compiler does not understand the + 'explicit' directive]) +fi]) + + +dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler +dnl has a working stl stack template +AC_DEFUN(LYX_CXX_STL_STACK,[ +AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack, + [AC_TRY_COMPILE([ +#include +using std::stack; +],[ + stack stakk; + stakk.push(0); +],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes) +]) +if test $lyx_cv_broken_stack = yes ; then + AC_DEFINE(BROKEN_STL_STACK, 1, + [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined + correctly]) +fi]) + + +dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming +dnl count template, if not the old HP version is assumed. +AC_DEFUN(LYX_STD_COUNT,[ +AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count, + [AC_TRY_COMPILE([ +#include +#include +using std::string; +using std::count; +int countChar(string const & a, char const c) +{ + return count(a.begin(), a.end(), c); +} +],[ + string a("hello"); + int i = countChar(a, 'l'); +],lyx_cv_std_count=yes,lyx_cv_std_count=no) +]) +if test $lyx_cv_std_count = yes ; then + AC_DEFINE(HAVE_STD_COUNT, 1, + [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.]) +fi]) + + +dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler +dnl supports modern STL streams +AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[ +AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams, + [AC_TRY_COMPILE([ +#include +],[ + std::streambuf * test = std::cerr.rdbuf(); + test->pubsync(); +],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no) +]) +if test $lyx_cv_modern_streams = yes ; then + AC_DEFINE(MODERN_STL_STREAMS, 1, + [Define if you have modern standard-compliant STL streams]) +fi]) + + +dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler +dnl has a working stl string container, the check is really stupid +dnl and could need some improvement. +AC_DEFUN(LYX_CXX_STL_STRING,[ + AC_REQUIRE([LYX_PROG_CXX]) + AC_MSG_CHECKING(whether the included std::string should be used) + AC_ARG_WITH(included-string, + [ --with-included-string use LyX string class instead of STL string], + [with_included_string=$withval], + [AC_TRY_COMPILE([ + #include + using std::string; + ],[ + string a("hello there"); + a.clear(); + a = "hey"; + a.erase(); + ],[ + with_included_string=no + ],[ + with_included_string=yes + + ]) + ]) + if test x$with_included_string = xyes ; then + AC_DEFINE(USE_INCLUDED_STRING, 1, + [Define to use the lyxstring class bundled with LyX.]) + lyx_flags="$lyx_flags included-string" + fi + AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes) + AC_MSG_RESULT([$with_included_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. +AC_DEFUN(LYX_REGEX,[ + AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes) + AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes) +]) + + +dnl LYX_CXX_MUTABLE +AC_DEFUN(LYX_CXX_MUTABLE, [ +AC_REQUIRE([LYX_PROG_CXX]) +AC_MSG_CHECKING(if C++ compiler supports mutable) +AC_TRY_COMPILE( +[ +class k { + mutable char *c; +public: + void foo() const { c=0; } +}; +],[ +],[ + ac_mutable=yes + AC_DEFINE(HAVE_MUTABLE, 1, + [Defined if you compiler supports 'mutable'.]) +],[ + ac_mutable=no +]) +AC_MSG_RESULT([$ac_mutable]) +]) + + +dnl LYX_CXX_PARTIAL +AC_DEFUN(LYX_CXX_PARTIAL, [ +AC_REQUIRE([LYX_PROG_CXX]) +AC_MSG_CHECKING(if C++ compiler supports partial specialization) +AC_TRY_COMPILE( +[ +template +class k { +public: +}; +template class k { }; +],[ + k b; + k a; +],[ + ac_partial_specialization=yes + AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1, + [Defined if your compiler supports partial specialization.]) +],[ + ac_partial_specialization=no +]) +AC_MSG_RESULT([$ac_partial_specialization]) +]) + + +dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler +dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES +dnl if true. This macro does not do a thourough test, but it should be +dnl good enough to suit our needs. +AC_DEFUN(LYX_CXX_NAMESPACES,[ +AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace, + [AC_TRY_COMPILE([ + #include + using std::vector; +],[ + vector test; + return 0; +],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no) +]) +if test $lyx_cv_cxx_namespace = yes ; then + AC_DEFINE(CXX_WORKING_NAMESPACES, 1, + [Define if your C++ compiler has correct support for namespaces]) +fi]) + + +dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler +dnl provides wrappers for C headers and use our alternate version otherwise. +AC_DEFUN(LYX_CXX_CHEADERS,[ +AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders, + [AC_TRY_CPP([ +#include +#include +#include +#include +#include +#include +#include +#include +#include ],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])]) +if test $lyx_cv_cxx_cheaders = no ; then + LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders) +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,LYX_LIBS="-lXpm $LYX_LIBS", + [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS) + +### Check for Xpm headers +lyx_cv_xpm_h_location="" +AC_CHECK_HEADER(X11/xpm.h,[ + ac_cv_header_xpm_h=yes + lyx_cv_xpm_h_location=""],[ +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 <&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*]) + 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 +AC_DEFUN(LYX_PATH_XFORMS,[ +### Check for xforms library +AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS", + [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS", + [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS) + +### Check for xforms headers +lyx_cv_forms_h_location="" +AC_CHECK_HEADER(X11/forms.h,[ + ac_cv_header_forms_h=yes + lyx_cv_forms_h_location=""],[ +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 <&5 | \ + grep '^"%%%"' 2>/dev/null | \ + sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'` +rm -f conftest*]) +case "$lyx_cv_xfversion" in + "(unknown)"|0.82|0.83|0.84|0.85) + LYX_ERROR(dnl +Version $lyx_cv_xfversion of xforms is not compatible with LyX. + This version of LyX works best with version 0.88[,] although it + supports also versions 0.81[,] 0.86 and 0.87.) ;; + 0.81|0.86|0.87) + LYX_WARNING(dnl +While LyX is compatible with version $lyx_cv_xfversion of xforms[,] + it is recommended that you upgrade to version 0.88.) ;; + 0.88) ;; + 0.89) 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. If you +have problems[,] please use version 0.88 instead.) ;; + *) LYX_WARNING(dnl +Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,] + since it is newer than 0.88. You might have slight problems with it.);; +esac +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 +extern int putenv(const char *);],,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 +dnl resulting directory name in 'dir-var-name'. +AC_DEFUN(LYX_WITH_DIR,[ + AC_ARG_WITH($1,[ --with-$1 specify $2]) + AC_MSG_CHECKING([for $2]) + if test -z "$with_$3"; then + AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4) + else + test "x$with_$3" = xyes && with_$3=$5 + lyx_cv_$3="$with_$3" + fi + AC_MSG_RESULT($lyx_cv_$3)]) + + +dnl Usage: LYX_LOOP_DIR(value,action) +dnl Executes action for values of variable `dir' in `values'. `values' can +dnl use ":" as a separator. +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]) + $2 + fi +done +IFS=$ac_save_ifs +]) + + +dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable +dnl var-name. +AC_DEFUN(LYX_ADD_LIB_DIR,[ +$1="${$1} -L$2" +if test "`(uname) 2>/dev/null`" = SunOS && + uname -r | grep '^5' >/dev/null; then + if test $ac_cv_prog_gxx = yes ; then + $1="${$1} -Wl[,]-R$2" + else + $1="${$1} -R$2" + fi +fi]) + + +dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable +dnl var-name. +AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "]) + +### Check for a headers existence and location iff it exists +## This is supposed to be a generalised version of LYX_STL_STRING_FWD +## It almost works. I've tried a few variations but they give errors +## of one sort or other: bad substitution or file not found etc. The +## actual header _is_ found though and the cache variable is set however +## the reported setting (on screen) is equal to $ac_safe for some unknown +## reason. +AC_DEFUN(LYX_PATH_HEADER, +[ AC_CHECK_HEADER($1,[ + ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe, + [ cat > conftest.$ac_ext < +EOF +lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \ + grep $1 2>/dev/null | \ + sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"` +rm -f conftest*]) + AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})]) +]) +### 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 +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 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 +#endif +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_SYS_SELECT_H +#include +#endif +#ifdef HAVE_SYS_SOCKET_H +#include +#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) + AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234)) + AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5)) +]) + -- 2.39.2