X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Flyxinclude.m4;h=2c1a9af12a8e9285424e9a13011612dd6b4c5197;hb=59b60f3f86f7519abb4ddd175470ed6e0b5ef009;hp=7bddfb09da05500ff6672dc5e548985c187a4740;hpb=41e409f8f7f437ff958b35073d5e2c3f0c90dd87;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index 7bddfb09da..2c1a9af12a 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -3,6 +3,12 @@ dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr) dnl Lars Gullik Bjønnes (larsbj@lyx.org) dnl Allan Rae (rae@lyx.org) +dnl Compute the default build type from AC_PACKAGE_VERSION at autoconf time. +m4_define([LYX_BUILD_TYPE], [m4_bmatch(AC_PACKAGE_VERSION, + [dev], [development], + [pre\|alpha\|beta\|rc], [prerelease], + [release])]) + dnl Usage LYX_CHECK_VERSION Displays version of LyX being built and dnl sets variable "build_type" @@ -13,7 +19,7 @@ AC_MSG_CHECKING([for build type]) lyx_devel_version=no lyx_prerelease=no AC_ARG_ENABLE(build-type, - AC_HELP_STRING([--enable-build-type=TYPE],[set build setting according to TYPE=rel(ease), pre(release), dev(elopment), prof(iling), gprof]), + AC_HELP_STRING([--enable-build-type=STR],[set build type to rel(ease), pre(release), dev(elopment), prof(iling), or gprof (default: LYX_BUILD_TYPE)]), [case $enableval in dev*) build_type=development;; pre*) build_type=prerelease;; @@ -22,16 +28,11 @@ AC_ARG_ENABLE(build-type, 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 - *dev*) build_type=development;; - *pre*|*alpha*|*beta*|*rc*) build_type=prerelease;; - *) build_type=release ;; - esac]) + [build_type=LYX_BUILD_TYPE]) AC_MSG_RESULT([$build_type]) 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 @@ -48,7 +49,7 @@ AC_MSG_CHECKING([for version suffix]) dnl We need the literal double quotes in the rpm spec file RPM_VERSION_SUFFIX='""' AC_ARG_WITH(version-suffix, - [AC_HELP_STRING([--with-version-suffix@<:@=VERSION@:>@], install lyx files as lyxVERSION (VERSION=-AC_PACKAGE_VERSION))], + [AC_HELP_STRING([--with-version-suffix@<:@=STR@:>@], install lyx files as lyxSTR (default STR: -AC_PACKAGE_VERSION))], [if test "x$withval" = "xyes"; then withval="-"AC_PACKAGE_VERSION @@ -352,7 +353,7 @@ AC_ARG_ENABLE(stdlib-debug, ### set up optimization AC_ARG_ENABLE(optimization, - AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),, + AC_HELP_STRING([--enable-optimization@<:@=ARG@:>@],[enable compiler optimisation]),, enable_optimization=yes;) case $enable_optimization in yes) @@ -419,6 +420,7 @@ if test x$GXX = xyes; then lyx_flags="$lyx_flags stdlib-debug" AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode]) AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode]) + AC_SUBST(STDLIB_DEBUG, "-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC") ;; esac fi @@ -449,6 +451,7 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[ AM_CONDITIONAL(USE_INCLUDED_BOOST, test x$lyx_cv_with_included_boost = xyes) AC_MSG_RESULT([$lyx_cv_with_included_boost]) if test x$lyx_cv_with_included_boost = xyes ; then + lyx_included_libs="$lyx_included_libs boost" BOOST_INCLUDES='-I$(top_srcdir)/3rdparty/boost' if test $lyx_std_regex = yes ; then BOOST_LIBS="" @@ -507,12 +510,14 @@ dnl be used. AC_DEFUN([LYX_USE_INCLUDED_ICONV],[ AC_MSG_CHECKING([whether to use included iconv library]) AC_ARG_WITH(included-iconv, - [AC_HELP_STRING([--without-included-iconv], [do not use the iconv lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [AC_HELP_STRING([--with-included-iconv], [use the iconv lib supplied with LyX instead of the system one])], [lyx_cv_with_included_iconv=$withval], [lyx_cv_with_included_iconv=no]) AM_CONDITIONAL(USE_INCLUDED_ICONV, test x$lyx_cv_with_included_iconv = xyes) AC_MSG_RESULT([$lyx_cv_with_included_iconv]) if test x$lyx_cv_with_included_iconv = xyes ; then + lyx_included_libs="$lyx_included_libs iconv" + dnl Some bits from libiconv configure.ac to avoid a nested configure call: AC_EILSEQ AC_TYPE_MBSTATE_T @@ -571,12 +576,13 @@ dnl be used. AC_DEFUN([LYX_USE_INCLUDED_ZLIB],[ AC_MSG_CHECKING([whether to use included zlib library]) AC_ARG_WITH(included-zlib, - [AC_HELP_STRING([--without-included-zlib], [do not use the zlib lib supplied with LyX, try to find one in the system directories - compilation will abort if nothing suitable is found])], + [AC_HELP_STRING([--with-included-zlib], [use the zlib lib supplied with LyX instead of the system one])], [lyx_cv_with_included_zlib=$withval], [lyx_cv_with_included_zlib=no]) AM_CONDITIONAL(USE_INCLUDED_ZLIB, test x$lyx_cv_with_included_zlib = xyes) AC_MSG_RESULT([$lyx_cv_with_included_zlib]) if test x$lyx_cv_with_included_zlib = xyes ; then + lyx_included_libs="$lyx_included_libs zlib" ZLIB_INCLUDES='-I$(top_srcdir)/3rdparty/zlib/1.2.8 -I$(top_builddir)/3rdparty/zlib' ZLIB_LIBS='$(top_builddir)/3rdparty/zlib/liblyxzlib.a' mkdir -p 3rdparty/zlib @@ -622,31 +628,44 @@ 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]) - 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]) - 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 + AC_ARG_WITH(included-mythes, + [AC_HELP_STRING([--with-included-mythes], [force to use the MyThes lib supplied with LyX])], + [use_included_mythes=$withval], + [use_included_mythes=no]) + if test x$use_included_mythes != xyes ; then + AC_LANG_PUSH(C++) + use_included_mythes=yes + AC_CHECK_HEADERS([mythes.hxx mythes/mythes.hxx], + [mythes_h_location="<$ac_header>" + save_LIBS=$LIBS + AC_MSG_CHECKING([checking for MyThes library]) + for ac_lib in mythes mythes-1.2 ; do + LIBS="-l$ac_lib $save_LIBS" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include ] + [#include $mythes_h_location], [MyThes dummy("idx","dat")])], + [MYTHES_LIBS=-l$ac_lib + AC_MSG_RESULT([$MYTHES_LIBS]) + use_included_mythes=no]) + done + if test $use_included_mythes != no ; then + AC_MSG_RESULT([not found]) + fi + break]) + AC_LANG_POP(C++) + fi + if test $use_included_mythes = yes ; then + mythes_h_location="" + MYTHES_INCLUDES='-I$(top_srcdir)/3rdparty/mythes/1.2.5/' + MYTHES_LIBS='$(top_builddir)/3rdparty/mythes/liblyxmythes.a' + lyx_included_libs="$lyx_included_libs mythes" + fi + AM_CONDITIONAL(USE_INCLUDED_MYTHES, test x$use_included_mythes = xyes) + AC_DEFINE_UNQUOTED(MYTHES_H_LOCATION,$mythes_h_location,[Location of mythes.hxx]) + AC_SUBST(MYTHES_INCLUDES) + AC_SUBST(MYTHES_LIBS) + AC_MSG_CHECKING([whether to use included MyThes library]) + AC_MSG_RESULT([$use_included_mythes]) ]) @@ -663,7 +682,8 @@ AC_DEFUN([LYX_WITH_DIR],[ test "x$with_$3" = xyes && with_$3=$5 lyx_cv_$3="$with_$3" fi - AC_MSG_RESULT($lyx_cv_$3)]) + AC_MSG_RESULT($lyx_cv_$3) +]) dnl Usage: LYX_LOOP_DIR(value,action) @@ -737,8 +757,8 @@ rm -f conftest*]) AC_DEFUN([LYX_USE_PACKAGING], [AC_MSG_CHECKING([what packaging should be used]) AC_ARG_WITH(packaging, - [AC_HELP_STRING([--with-packaging=THIS], [use THIS packaging for installation: - Possible values: posix, windows, macosx, haiku])], + [AC_HELP_STRING([--with-packaging=STR], [set packaging for installation among: + posix, windows, macosx, haiku (default is autodetected)])], [lyx_use_packaging="$withval"], [ case $host in *-apple-darwin*) lyx_use_packaging=macosx ;; @@ -917,23 +937,3 @@ AC_DEFUN([LYX_SET_VERSION_INFO], 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])])