X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=config%2Flyxinclude.m4;h=15f28fe870713c6c8c3a013a525ed0eefaae45a5;hb=b44d09a342aee50c15c4b17ce677cc660b2ad3bc;hp=adf69c1976cff28959dd4b2b950d05d287755a68;hpb=b0fbc29aa34345e1ffa54f6fd9193d7c42e577f2;p=lyx.git diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index adf69c1976..15f28fe870 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -7,10 +7,10 @@ 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],[ -changequote(, ) dnl 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 @@ -21,11 +21,7 @@ if echo "$VERSION" | grep 'pre' > /dev/null ; then else lyx_prerelease=no fi -changequote([, ]) dnl -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]) +AC_SUBST(lyx_devel_version)]) dnl Define the option to set a LyX version on installed executables and directories @@ -33,6 +29,7 @@ dnl dnl AC_DEFUN([LYX_VERSION_SUFFIX],[ AC_MSG_CHECKING([for install target ... ]) +RPM_VERSION_SUFFIX='""' AC_ARG_WITH(version-suffix, [ --with-version-suffix[=] install lyx files as lyx], [if test "x$withval" = "xyes"; @@ -41,8 +38,10 @@ AC_ARG_WITH(version-suffix, ac_configure_args=`echo $ac_configure_args | sed "s,--with-version-suffix,--with-version-suffix=$withval,"` fi lyxname="lyx$withval" - program_suffix=$withval], + program_suffix=$withval + RPM_VERSION_SUFFIX="--with-version-suffix=$withval"], [lyxname=lyx]) +AC_SUBST(RPM_VERSION_SUFFIX) AC_MSG_RESULT([$lyxname]) ]) @@ -179,12 +178,28 @@ fi ### We might want to disable debug AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],[enable debug information]),, - [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes && test $ac_cv_prog_gxx = yes ; then + [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then enable_debug=yes; else enable_debug=no; fi;]) +AC_ARG_ENABLE(stdlib-debug, + AC_HELP_STRING([--enable-stdlib-debug],[enable debug mode in the standard library]),, + [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then + enable_stdlib_debug=yes; + else + enable_stdlib_debug=no; + fi;]) + +AC_ARG_ENABLE(concept-checks, + AC_HELP_STRING([--enable-concept-checks],[enable concept checks]),, + [ if test $lyx_devel_version = yes -o $lyx-prerelease = yes ; then + enable_concept_checks=yes; + else + enable_concept_checks=no; + fi;]) + ### set up optimization AC_ARG_ENABLE(optimization, AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),, @@ -195,9 +210,12 @@ case $enable_optimization in *) lyx_opt=${enable_optimization};; esac +AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch],[enable precompiled headers]),, + enable_pch=yes;) lyx_pch_comp=no -# set the debug flags correctly. +# set the compiler options correctly. if test x$GXX = xyes; then dnl Useful for global version info gxx_version=`${CXX} -dumpversion` @@ -210,36 +228,51 @@ if test x$GXX = xyes; then 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 -finline-limit=500 -fno-exceptions";; - 3.2*) CXXFLAGS="$lyx_opt -fno-exceptions";; - 3.3*) CXXFLAGS="$lyx_opt -fno-exceptions";; - 3.4*|3.5*) + 3.2*|3.3*) CXXFLAGS="$lyx_opt -fno-exceptions";; + 3.4*|4.0*) CXXFLAGS="$lyx_opt -fno-exceptions" - lyx_pch_comp=yes;; + test $enable_pch = yes && lyx_pch_comp=yes + ;; *) CXXFLAGS="$lyx_opt";; esac if test x$enable_debug = xyes ; then - case $gxx_version in - 3.4*|3.5*) CXXFLAGS="-g $CXXFLAGS" - AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode]) - AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode]) - ;; - *) CXXFLAGS="-g $CXXFLAGS";; - esac + CXXFLAGS="-g $CXXFLAGS" fi fi + if test x$enable_stdlib_debug = xyes ; then + case $gxx_version in + 3.4*|4.0*) + lyx_flags="$lyx_flags stdlib-debug" + AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode]) + AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode]) + ;; + esac + fi + if test x$enable_concept_checks = xyes ; then + case $gxx_version in + 3.3*) + lyx_flags="$lyx_flags concept-checks" + AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) + ;; + 3.4*|4.0*) + lyx_flags="$lyx_flags concept-checks" + AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) + ;; + esac + fi if test x$enable_warnings = xyes ; then case $gxx_version in - 2.95.*) CXXFLAGS="$CXXFLAGS -W -Wall";; - 2.96*) CXXFLAGS="$CXXFLAGS -W -Wall";; - 3.1*) CXXFLAGS="$CXXFLAGS -W -Wall";; - 3.2*) CXXFLAGS="$CXXFLAGS -W -Wall";; - 3.3*) CXXFLAGS="$CXXFLAGS -W -Wall";; - *) CXXFLAGS="$CXXFLAGS -Wextra -Wall";; + 2.*|3.1*|3.2*|3.3*) + CPPFLAGS="$CPPFLAGS -W -Wall" + ;; + *) + CPPFLAGS="$CPPFLAGS -Wextra -Wall" + ;; esac fi fi +test "$lyx_pch_comp" = yes && lyx_flags="$lyx_flags pch" AM_CONDITIONAL(LYX_BUILD_PCH, test "$lyx_pch_comp" = yes) ])dnl @@ -402,25 +435,6 @@ AC_DEFUN([LYX_CXX_PARTIAL], [ ]) -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_CXX_GLOBAL_CSTD: checks whether C library functions dnl are already in the global namespace AC_DEFUN([LYX_CXX_GLOBAL_CSTD],[ @@ -527,7 +541,7 @@ 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], + Possible values: xforms, qt, gtk(EXPERIMENTAL)], [FRONTENDS="$withval"], [FRONTENDS="xforms"]) AC_MSG_RESULT($FRONTENDS) AC_SUBST(FRONTENDS) @@ -536,6 +550,39 @@ 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) +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]) + default_prefix="/Applications/LyX.app" + bindir='${prefix}/Contents/MacOS' + libdir='${prefix}/Contents/Resources' + datadir='${prefix}/Contents/Resources' + mandir='${prefix}/Contents/Resources/man' ;; + windows) AC_DEFINE(USE_WINDOWS_PACKAGING, 1, [Define to 1 if LyX should use a Windows-style file layout]) + default_prefix="C:/Program Files/LyX" + bindir='${prefix}/bin' + libdir='${prefix}/Resources' + datadir='${prefix}/Resources' + mandir='${prefix}/Resources/man' ;; + posix) AC_DEFINE(USE_POSIX_PACKAGING, 1, [Define to 1 if LyX should use a POSIX-style file layout]) + default_prefix=$ac_default_prefix ;; + *) LYX_ERROR([Unknown packaging type $lyx_use_packaging]) ;; +esac +]) + ## ------------------------------------------------------------------------ ## Find a file (or one of more files in a list of dirs) @@ -571,3 +618,28 @@ AM_PROG_LIBTOOL dnl for libraries CC=$ac_save_cc CFLAGS="$ac_save_cflags" ]) + + +## ------------------------------------------------------------------------ +## Check whether mkdir() is mkdir or _mkdir, and whether it takes +## one or two arguments. +## +## http://ac-archive.sourceforge.net/C_Support/ac_func_mkdir.html +## ------------------------------------------------------------------------ +## +AC_DEFUN([AC_FUNC_MKDIR], +[AC_CHECK_FUNCS([mkdir _mkdir]) +AC_CACHE_CHECK([whether mkdir takes one argument], + [ac_cv_mkdir_takes_one_arg], +[AC_TRY_COMPILE([ +#include +#if HAVE_UNISTD_H +# include +#endif +], [mkdir (".");], +[ac_cv_mkdir_takes_one_arg=yes], [ac_cv_mkdir_takes_one_arg=no])]) +if test x"$ac_cv_mkdir_takes_one_arg" = xyes; then + AC_DEFINE([MKDIR_TAKES_ONE_ARG], 1, + [Define if mkdir takes only one argument.]) +fi +])