From 98b48a496946b1d8e03c1cd72d78695bb4b32e01 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Tue, 25 Jan 2011 13:49:49 +0000 Subject: [PATCH] Add and document build types profinling and gprof. Some clean up of build_type code in configure git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37323 a592a061-630c-0410-9148-cb99ea01b6c8 --- INSTALL | 10 ++++---- config/lyxinclude.m4 | 60 ++++++++++++++++++++++---------------------- configure.ac | 2 +- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/INSTALL b/INSTALL index 987b76a45e..9a39b000a7 100644 --- a/INSTALL +++ b/INSTALL @@ -106,18 +106,18 @@ to create the Makefile by typing For more complicated cases, LyX configure honors the following specific flags: - o --enable-build-type=[rel(ease), dev(elopment), pre(release)] + o --enable-build-type=[rel(ease), pre(release), dev(elopment), prof(iling), gprof] allows to tweak the compiled code. The following table describes the settings in terms of various options that are described later - release prerelease development gprof - optimization -O2 -O2 -O -O2 + release prerelease development profiling gprof + optimization -O2 -O2 -O -O2 -O2 assertions X X stdlib-debug X concept-checks X X warnings X X - debug X X X - gprof X + debug X X X X + gprof X The default are as follows in terms of version number release: stable release (1.x.y) diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index d1836acd2a..982c03d699 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -10,32 +10,37 @@ AC_DEFUN([LYX_CHECK_VERSION],[ echo "configuring LyX version" AC_PACKAGE_VERSION lyx_devel_version=no lyx_prerelease=no +enable_debug=yes 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;; - gp*) lyx_profiling=yes - build_type=gprof;; - 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_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;; + *svn*) build_type=development;; + *pre*|*alpha*|*beta*|*rc*) build_type=prerelease;; 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 + release) enable_debug=no ;; + 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 ;; + profiling) ;; + gprof);; +esac + +AC_SUBST(lyx_devel_version) +]) dnl Define the option to set a LyX version on installed executables and directories @@ -184,17 +189,12 @@ AC_ARG_ENABLE(warnings, enable_warnings=no; fi;]) if test x$enable_warnings = xyes ; then - lyx_flags="warnings $lyx_flags" + lyx_flags="$lyx_flags warnings" 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 -o $lyx_profiling = yes ; then - enable_debug=yes; - else - enable_debug=no; - fi;]) + AC_HELP_STRING([--enable-debug],[enable debug information])) AC_ARG_ENABLE(stdlib-debug, AC_HELP_STRING([--enable-stdlib-debug],[enable debug mode in the standard library]),, @@ -248,7 +248,7 @@ AC_ARG_ENABLE(assertions, enable_assertions=no; fi;]) if test "x$enable_assertions" = xyes ; then - lyx_flags="assertions $lyx_flags" + lyx_flags="$lyx_flags assertions" AC_DEFINE(ENABLE_ASSERTIONS,1, [Define if you want assertions to be enabled in the code]) fi @@ -300,7 +300,7 @@ if test x$GXX = xyes; then if test x$enable_stdlib_debug = xyes ; then case $gxx_version in 3.4*|4.*) - lyx_flags="stdlib-debug $lyx_flags" + lyx_flags="$lyx_flags stdlib-debug" AC_DEFINE(_GLIBCXX_DEBUG, 1, [libstdc++ debug mode]) AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic debug mode]) ;; @@ -309,17 +309,17 @@ if test x$GXX = xyes; then if test x$enable_concept_checks = xyes ; then case $gxx_version in 3.3*) - lyx_flags="concept-checks $lyx_flags" + lyx_flags="$lyx_flags concept-checks" AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) ;; 3.4*|4.*) - lyx_flags="concept-checks $lyx_flags" + lyx_flags="$lyx_flags concept-checks" AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) ;; esac fi fi -test "$lyx_pch_comp" = yes && lyx_flags="pch $lyx_flags" +test "$lyx_pch_comp" = yes && lyx_flags="$lyx_flags pch" AM_CONDITIONAL(LYX_BUILD_PCH, test "$lyx_pch_comp" = yes) ])dnl diff --git a/configure.ac b/configure.ac index ae5dda8784..cc7b1128c5 100644 --- a/configure.ac +++ b/configure.ac @@ -222,7 +222,7 @@ real_pkgdatadir=`eval "echo \`eval \"echo \\\`eval \\\"echo ${pkgdatadir}\\\"\\\ real_localedir=`eval "echo \`eval \"echo ${datadir}/locale\"\`"` VERSION_INFO="Configuration\n\ Host type: ${host}\n\ - Special build flags: ${lyx_flags}\n\ + Special build flags: ${lyx_flags}\n\ C Compiler: ${CC} ${CC_VERSION}\n\ C Compiler LyX flags: ${AM_CPPFLAGS} ${AM_CFLAGS}\n\ C Compiler flags: ${CPPFLAGS} ${CFLAGS}\n\