X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Flyxinclude.m4;h=d1b78f95d210d81adfa7ff8782874cedb6ba1f32;hb=d4ac337f0bd89c279b2133e2475a662a3ada641b;hp=c742c2eb25c796ca38448959075ee181582e3f1e;hpb=4a2243135cf2b1182646de13d0a9cd0dd24f0332;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index c742c2eb25..d1b78f95d2 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -5,35 +5,38 @@ dnl Allan Rae (rae@lyx.org) dnl Usage LYX_CHECK_VERSION Displays version of LyX being built and -dnl sets variables "lyx_devel_version" and "lyx_prerelease" +dnl sets variable "build_type" AC_DEFUN([LYX_CHECK_VERSION],[ echo "configuring LyX version" AC_PACKAGE_VERSION lyx_devel_version=no lyx_prerelease=no -build_type=release AC_MSG_CHECKING([for build type]) AC_ARG_ENABLE(build-type, - AC_HELP_STRING([--enable-build-type=TYPE],[set build setting according to TYPE=dev(elopment), rel(ease) or pre(release)]), + AC_HELP_STRING([--enable-build-type=TYPE],[set build setting according to TYPE=rel(ease), pre(release), dev(elopment), prof(iling), gprof]), [case $enableval in - dev*) lyx_devel_version=yes - build_type=development;; - pre*) lyx_prerelease=yes - build_type=prerelease;; - rel*) ;; - *) AC_ERROR([Bad build type specification \"$enableval\". Please use one of dev(elopment), rel(ease) or pre(release)]);; + dev*) build_type=development;; + pre*) build_type=prerelease;; + prof*) build_type=profiling;; + gprof*) build_type=gprof;; + rel*) build_type=release;; + *) AC_MSG_ERROR([bad build type specification \"$enableval\". Please use one of rel(ease), pre(release), dev(elopment), prof(iling), or gprof]);; esac], [case AC_PACKAGE_VERSION in - *svn*) lyx_devel_version=yes - build_type=development;; - *pre*|*alpha*|*beta*|*rc*) lyx_prerelease=yes - build_type=prerelease;; + *dev*) build_type=development;; + *pre*|*alpha*|*beta*|*rc*) build_type=prerelease;; + *) build_type=release ;; esac]) AC_MSG_RESULT([$build_type]) -if test $lyx_devel_version = yes ; then - AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX]) - LYX_DATE="not released yet" -fi -AC_SUBST(lyx_devel_version)]) +lyx_flags="$lyx_flags build=$build_type" +case $build_type in + development) lyx_devel_version=yes + AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX]) + LYX_DATE="not released yet" ;; + prerelease) lyx_prerelease=yes ;; +esac + +AC_SUBST(lyx_devel_version) +]) dnl Define the option to set a LyX version on installed executables and directories @@ -53,19 +56,11 @@ AC_ARG_WITH(version-suffix, AC_SUBST(version_suffix,$withval) RPM_VERSION_SUFFIX="--with-version-suffix=$withval"]) AC_SUBST(RPM_VERSION_SUFFIX) +AC_SUBST(program_base_name,"lyx") AC_MSG_RESULT([$withval]) ]) -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],[ @@ -78,36 +73,20 @@ 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 +AC_MSG_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 Usage: LYX_CHECK_WARNINGS Displays a warning message if a LYX_WARNING dnl has occured previously. -AC_DEFUN([LYX_CHECK_ERRORS],[ +AC_DEFUN([LYX_CHECK_WARNINGS],[ if test x$lyx_warning = xyes; then cat <], [boost::signal s;])], [lyx_boost_plain=yes], []) + LIBS="$save_LIBS -lboost_signals-mt -lm $LIBTHREAD" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [boost::signal s;])], [lyx_boost_mt=yes], []) + + LIBS=$save_LIBS + AC_LANG_POP(C++) + + if test x$lyx_boost_mt = xyes ; then BOOST_MT="-mt" else BOOST_MT="" - if test x$lyx_boost_plain != xyes -a x$lyx_boost_underscore != xyes ; then - LYX_ERROR([No suitable boost library found (do not use --without-included-boost)]) + if test x$lyx_boost_plain != xyes ; then + AC_MSG_ERROR([cannot find suitable boost library (do not use --without-included-boost)]) fi fi - AC_SUBST(BOOST_SEP) AC_SUBST(BOOST_MT) fi ]) +dnl Usage: LYX_USE_INCLUDED_MYTHES : select if the included MyThes should +dnl be used. +AC_DEFUN([LYX_USE_INCLUDED_MYTHES],[ + AC_MSG_CHECKING([whether to use included MyThes library]) + AC_ARG_WITH(included-mythes, + [AC_HELP_STRING([--without-included-mythes], [do not use the MyThes lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [lyx_cv_with_included_mythes=$withval], + [lyx_cv_with_included_mythes=yes]) + AM_CONDITIONAL(USE_INCLUDED_MYTHES, test x$lyx_cv_with_included_mythes = xyes) + AC_MSG_RESULT([$lyx_cv_with_included_mythes]) + if test x$lyx_cv_with_included_mythes != xyes ; then + AC_LANG_PUSH(C++) + AC_CHECK_HEADER(mythes.hxx,[ac_cv_header_mythes_h=yes lyx_cv_mythes_h_location=""]) + if test x$ac_cv_header_mythes_h != xyes; then + AC_CHECK_HEADER(mythes/mythes.hxx,[ac_cv_header_mythes_h=yes lyx_cv_mythes_h_location=""]) + fi + AC_CHECK_LIB(mythes, main, [MYTHES_LIBS="-lmythes" lyx_mythes=yes], [lyx_mythes=no], [-lm]) + if test x$lyx_mythes != xyes; then + AC_CHECK_LIB(mythes-1.2, main, [MYTHES_LIBS="-lmythes-1.2" lyx_mythes=yes], [lyx_mythes=no], [-lm]) + fi + AC_LANG_POP(C++) + if test x$lyx_mythes != xyes -o x$ac_cv_header_mythes_h != xyes; then + AC_MSG_ERROR([cannot find suitable MyThes library (do not use --without-included-mythes)]) + fi + AC_DEFINE(USE_EXTERNAL_MYTHES, 1, [Define as 1 to use an external MyThes library]) + AC_DEFINE_UNQUOTED(MYTHES_H_LOCATION,$lyx_cv_mythes_h_location,[Location of mythes.hxx]) + AC_SUBST(MYTHES_LIBS) + fi +]) + + 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 @@ -426,25 +449,6 @@ rm -f conftest*]) ]) ### end of LYX_PATH_HEADER -### Check which frontends we want to use. -### -AC_DEFUN([LYX_USE_FRONTENDS], -[AC_MSG_CHECKING([what frontend should be used for the GUI]) -AC_ARG_WITH(frontend, - [AC_HELP_STRING([--with-frontend=THIS], [use THIS frontend as main GUI: - Possible values: qt4])], - [FRONTENDS="$withval"],[FRONTENDS="qt4"]) -if test "x$FRONTENDS" = x ; then - AC_MSG_RESULT(none) - AC_ERROR("Please select a frontend using --with-frontend") -fi -AC_MSG_RESULT($FRONTENDS) -AC_SUBST(FRONTENDS) -AC_SUBST(FRONTENDS_SUBDIRS) -AC_SUBST(FRONTENDS_PROGS) -]) - - ## Check what kind of packaging should be used at install time. ## The default is autodetected. AC_DEFUN([LYX_USE_PACKAGING], @@ -466,6 +470,7 @@ case $lyx_use_packaging in macosx) AC_DEFINE(USE_MACOSX_PACKAGING, 1, [Define to 1 if LyX should use a MacOS X application bundle file layout]) PACKAGE=LyX${version_suffix} default_prefix="/Applications/${PACKAGE}.app" + AC_SUBST(osx_bundle_program_name,"${program_base_name}") bindir='${prefix}/Contents/MacOS' libdir='${prefix}/Contents/Resources' datarootdir='${prefix}/Contents/Resources' @@ -488,15 +493,15 @@ case $lyx_use_packaging in default_prefix=$ac_default_prefix case ${host} in *cygwin*) lyx_install_cygwin=true ;; - esac ;; - *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;; + *apple-darwin*) lyx_install_macosx=true ;; + esac + lyx_install_posix=true ;; + *) AC_MSG_ERROR([unknown packaging type $lyx_use_packaging.]) ;; esac AM_CONDITIONAL(INSTALL_MACOSX, $lyx_install_macosx) -AM_CONDITIONAL(INSTALL_CYGWIN, $lyx_install_cygwin) AM_CONDITIONAL(INSTALL_WINDOWS, $lyx_install_windows) -dnl Next two lines are only for autoconf <= 2.59 -datadir='${datarootdir}' -AC_SUBST(datarootdir) +AM_CONDITIONAL(INSTALL_CYGWIN, $lyx_install_cygwin) +AM_CONDITIONAL(INSTALL_POSIX, $lyx_install_posix) AC_SUBST(pkgdatadir) AC_SUBST(program_suffix) ]) @@ -581,7 +586,7 @@ dnl Called like LYX_CHECK_DEF(name, header, codesnippet) dnl Defines HAVE_DEF_{NAME} AC_DEFUN([LYX_CHECK_DEF], [LYX_AH_CHECK_DEF($1, $2) - AC_MSG_CHECKING([if $1 is defined by header $2]) + AC_MSG_CHECKING([whether $1 is defined by header $2]) AC_TRY_COMPILE([#include <$2>], [$3], lyx_have_def_name=yes, lyx_have_def_name=no) @@ -611,3 +616,24 @@ AC_DEFUN([LYX_SET_VERSION_INFO], AC_SUBST(LYX_DIR_VER,"$lyx_dir_ver") AC_SUBST(LYX_USERDIR_VER,"$lyx_userdir_ver") ]) + +# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +# Copied from autoconf 2.68, added a check that python version is < 3.0 +# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +minverhex = 0 +maxverhex = 50331648 # = 3.0.0.0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex or sys.hexversion >= maxverhex)" + AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])