X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=config%2Flyxinclude.m4;h=2f937339b2dc6c75cbc6b1a52b46dfdcda261af7;hb=7ecfcc91089b878cf364cafa2c9615151fb63b6c;hp=8ea6b2355a97728052b5512de991a5b75549842d;hpb=7aebf3d92fc1b33c616e87260c7f283e26f1d52e;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index 8ea6b2355a..2f937339b2 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -7,20 +7,17 @@ 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" AC_DEFUN([LYX_CHECK_VERSION],[ -echo "configuring LyX version $VERSION" -if echo "$VERSION" | grep 'cvs' >/dev/null ; then - lyx_devel_version=yes - AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX]) - 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 +echo "configuring LyX version" AC_PACKAGE_VERSION +lyx_devel_version=no +lyx_prerelease=no +case AC_PACKAGE_VERSION in + *svn*) lyx_devel_version=yes + AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX]) + LYX_DATE="not released yet" + echo "WARNING: This is a development version. Expect bugs.";; + *pre*|*alpha*|*beta*|*rc*) lyx_prerelease=yes + echo "WARNING: This is a prerelease. Be careful and backup your documents.";; +esac AC_SUBST(lyx_devel_version)]) @@ -28,21 +25,20 @@ dnl Define the option to set a LyX version on installed executables and director dnl dnl AC_DEFUN([LYX_VERSION_SUFFIX],[ -AC_MSG_CHECKING([for install target ... ]) +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, [ --with-version-suffix[=] install lyx files as lyx], [if test "x$withval" = "xyes"; then - withval="-$VERSION" + withval="-"AC_PACKAGE_VERSION ac_configure_args=`echo $ac_configure_args | sed "s,--with-version-suffix,--with-version-suffix=$withval,"` fi - lyxname="lyx$withval" - program_suffix=$withval - RPM_VERSION_SUFFIX="--with-version-suffix=$withval"], - [lyxname=lyx]) + AC_SUBST(version_suffix,$withval) + RPM_VERSION_SUFFIX="--with-version-suffix=$withval"]) AC_SUBST(RPM_VERSION_SUFFIX) -AC_MSG_RESULT([$lyxname]) +AC_MSG_RESULT([$withval]) ]) @@ -74,6 +70,14 @@ LYX_ERROR([Cannot find $1. Please check that the $2 library 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_warning = xyes; then +cat < -#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_CXX_GLOBAL_CSTD: checks whether C library functions dnl are already in the global namespace AC_DEFUN([LYX_CXX_GLOBAL_CSTD],[ @@ -447,7 +469,7 @@ 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_ARG_WITH($1,[AC_HELP_STRING([--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) @@ -524,14 +546,18 @@ rm -f conftest*]) ]) ### end of LYX_PATH_HEADER -### Check which frontends we want to use. The default is XForms only +### 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, [ --with-frontend=THIS Use THIS frontend as main GUI: - Possible values: xforms, qt, gtk(EXPERIMENTAL)], - [FRONTENDS="$withval"], [FRONTENDS="xforms"]) + 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) @@ -539,6 +565,51 @@ AC_SUBST(FRONTENDS_PROGS) ]) +## Check what kind of packaging should be used at install time. +## The default is autodetected. +AC_DEFUN([LYX_USE_PACKAGING], +[AC_MSG_CHECKING([what packaging should be used]) +AC_ARG_WITH(packaging, + [ --with-packaging=THIS Use THIS packaging for installation: + Possible values: posix, windows, macosx], + [lyx_use_packaging="$withval"], [ + case $host in + *-apple-darwin*) lyx_use_packaging=macosx ;; + *-pc-mingw32*) lyx_use_packaging=windows;; + *) lyx_use_packaging=posix;; + esac]) +AC_MSG_RESULT($lyx_use_packaging) +lyx_install_macosx=false +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" + bindir='${prefix}/Contents/MacOS' + libdir='${prefix}/Contents/Resources' + datadir='${prefix}/Contents/Resources' + pkgdatadir='${datadir}' + mandir='${datadir}/man' + lyx_install_macosx=true ;; + windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout]) + PACKAGE=LyX${version_suffix} + default_prefix="C:/Program Files/${PACKAGE}" + bindir='${prefix}/bin' + libdir='${prefix}/Resources' + datadir='${prefix}/Resources' + pkgdatadir='${datadir}' + mandir='${prefix}/Resources/man' ;; + posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout]) + PACKAGE=lyx${version_suffix} + program_suffix=$version_suffix + pkgdatadir='${datadir}/${PACKAGE}' + default_prefix=$ac_default_prefix ;; + *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;; +esac +AM_CONDITIONAL(INSTALL_MACOSX, $lyx_install_macosx) +AC_SUBST(pkgdatadir) +AC_SUBST(program_suffix) +]) + ## ------------------------------------------------------------------------ ## Find a file (or one of more files in a list of dirs) @@ -570,7 +641,7 @@ ac_save_cc=$CC ac_save_cflags="$CFLAGS" CC=$CXX CFLAGS="$CXXFLAGS" -AM_PROG_LIBTOOL dnl for libraries +AC_PROG_LIBTOOL dnl for libraries CC=$ac_save_cc CFLAGS="$ac_save_cflags" ]) @@ -599,3 +670,65 @@ if test x"$ac_cv_mkdir_takes_one_arg" = xyes; then [Define if mkdir takes only one argument.]) fi ]) + + +dnl Set VAR to the canonically resolved absolute equivalent of PATHNAME, +dnl (which may be a relative path, and need not refer to any existing +dnl entity). + +dnl On Win32-MSYS build hosts, the returned path is resolved to its true +dnl native Win32 path name, (but with slashes, not backslashes). + +dnl On any other system, it is simply the result which would be obtained +dnl if PATHNAME represented an existing directory, and the pwd command was +dnl executed in that directory. +AC_DEFUN([MSYS_AC_CANONICAL_PATH], +[ac_dir="$2" + ( exec 2>/dev/null; cd / && pwd -W ) | grep ':' >/dev/null && + ac_pwd_w="pwd -W" || ac_pwd_w=pwd + until ac_val=`exec 2>/dev/null; cd "$ac_dir" && $ac_pwd_w` + do + ac_dir=`AS_DIRNAME(["$ac_dir"])` + done + ac_dir=`echo "$ac_dir" | sed 's?^[[./]]*??'` + ac_val=`echo "$ac_val" | sed 's?/*$[]??'` + $1=`echo "$2" | sed "s?^[[./]]*$ac_dir/*?$ac_val/?"' + s?/*$[]??'` +]) + +dnl this is used by the macro blow to general a proper config.h.in entry +m4_define([LYX_AH_CHECK_DECL], +[AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_$1), + [Define if you have the prototype for function `$1'])]) + +dnl Check things are declared in headers to avoid errors or warnings. +dnl Called like LYX_CHECK_DECL(function, header1 header2...) +dnl Defines HAVE_DECL_{FUNCTION} +AC_DEFUN([LYX_CHECK_DECL], +[LYX_AH_CHECK_DECL($1) +for ac_header in $2 +do + AC_MSG_CHECKING([if $1 is declared by header $ac_header]) + AC_EGREP_HEADER($1, $ac_header, + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_DECL_$1)) + break], + [AC_MSG_RESULT(no)]) +done]) + +dnl Extract the single digits from PACKAGE_VERSION and make them available. +dnl Defines LYX_MAJOR_VERSION, LYX_MINOR_VERSION, LYX_RELEASE_LEVEL, and +dnl LYX_RELEASE_PATCH, the latter being possibly equal to 0. +AC_DEFUN([LYX_SET_VERSION_INFO], +[lyx_major=`echo $PACKAGE_VERSION | sed -e 's/[[.]].*//'` + lyx_patch=`echo $PACKAGE_VERSION | sed -e "s/^$lyx_major//" -e 's/^.//'` + lyx_minor=`echo $lyx_patch | sed -e 's/[[.]].*//'` + lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_minor//" -e 's/^.//'` + lyx_release=`echo $lyx_patch | sed -e 's/[[^0-9]].*//'` + lyx_patch=`echo $lyx_patch | sed -e "s/^$lyx_release//" -e 's/^[[.]]//' -e 's/[[^0-9]].*//'` + test "x$lyx_patch" = "x" && lyx_patch=0 + AC_SUBST(LYX_MAJOR_VERSION,$lyx_major) + AC_SUBST(LYX_MINOR_VERSION,$lyx_minor) + AC_SUBST(LYX_RELEASE_LEVEL,$lyx_release) + AC_SUBST(LYX_RELEASE_PATCH,$lyx_patch) +])