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
This commit is contained in:
Jean-Marc Lasgouttes 2011-01-25 13:49:49 +00:00
parent 3b316bc83f
commit 98b48a4969
3 changed files with 36 additions and 36 deletions

View File

@ -106,17 +106,17 @@ to create the Makefile by typing
For more complicated cases, LyX configure honors the following specific For more complicated cases, LyX configure honors the following specific
flags: 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 allows to tweak the compiled code. The following table describes
the settings in terms of various options that are described later the settings in terms of various options that are described later
release prerelease development gprof release prerelease development profiling gprof
optimization -O2 -O2 -O -O2 optimization -O2 -O2 -O -O2 -O2
assertions X X assertions X X
stdlib-debug X stdlib-debug X
concept-checks X X concept-checks X X
warnings X X warnings X X
debug X X X debug X X X X
gprof X gprof X
The default are as follows in terms of version number The default are as follows in terms of version number

View File

@ -10,32 +10,37 @@ AC_DEFUN([LYX_CHECK_VERSION],[
echo "configuring LyX version" AC_PACKAGE_VERSION echo "configuring LyX version" AC_PACKAGE_VERSION
lyx_devel_version=no lyx_devel_version=no
lyx_prerelease=no lyx_prerelease=no
enable_debug=yes
build_type=release build_type=release
AC_MSG_CHECKING([for build type]) AC_MSG_CHECKING([for build type])
AC_ARG_ENABLE(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 [case $enableval in
dev*) lyx_devel_version=yes dev*) build_type=development;;
build_type=development;; pre*) build_type=prerelease;;
pre*) lyx_prerelease=yes prof*) build_type=profiling;;
build_type=prerelease;; gprof*) build_type=gprof;;
gp*) lyx_profiling=yes rel*) build_type=release;;
build_type=gprof;; *) AC_ERROR([Bad build type specification \"$enableval\". Please use one of rel(ease), pre(release), dev(elopment), prof(iling), or gprof]);;
rel*) ;;
*) AC_ERROR([Bad build type specification \"$enableval\". Please use one of dev(elopment), rel(ease) or pre(release)]);;
esac], esac],
[case AC_PACKAGE_VERSION in [case AC_PACKAGE_VERSION in
*svn*) lyx_devel_version=yes *svn*) build_type=development;;
build_type=development;; *pre*|*alpha*|*beta*|*rc*) build_type=prerelease;;
*pre*|*alpha*|*beta*|*rc*) lyx_prerelease=yes
build_type=prerelease;;
esac]) esac])
AC_MSG_RESULT([$build_type]) AC_MSG_RESULT([$build_type])
if test $lyx_devel_version = yes ; then 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]) AC_DEFINE(DEVEL_VERSION, 1, [Define if you are building a development version of LyX])
LYX_DATE="not released yet" LYX_DATE="not released yet" ;;
fi prerelease) lyx_prerelease=yes ;;
AC_SUBST(lyx_devel_version)]) profiling) ;;
gprof);;
esac
AC_SUBST(lyx_devel_version)
])
dnl Define the option to set a LyX version on installed executables and directories 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; enable_warnings=no;
fi;]) fi;])
if test x$enable_warnings = xyes ; then if test x$enable_warnings = xyes ; then
lyx_flags="warnings $lyx_flags" lyx_flags="$lyx_flags warnings"
fi fi
### We might want to disable debug ### We might want to disable debug
AC_ARG_ENABLE(debug, AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],[enable debug information]),, 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_ARG_ENABLE(stdlib-debug, AC_ARG_ENABLE(stdlib-debug,
AC_HELP_STRING([--enable-stdlib-debug],[enable debug mode in the standard library]),, AC_HELP_STRING([--enable-stdlib-debug],[enable debug mode in the standard library]),,
@ -248,7 +248,7 @@ AC_ARG_ENABLE(assertions,
enable_assertions=no; enable_assertions=no;
fi;]) fi;])
if test "x$enable_assertions" = xyes ; then if test "x$enable_assertions" = xyes ; then
lyx_flags="assertions $lyx_flags" lyx_flags="$lyx_flags assertions"
AC_DEFINE(ENABLE_ASSERTIONS,1, AC_DEFINE(ENABLE_ASSERTIONS,1,
[Define if you want assertions to be enabled in the code]) [Define if you want assertions to be enabled in the code])
fi fi
@ -300,7 +300,7 @@ if test x$GXX = xyes; then
if test x$enable_stdlib_debug = xyes ; then if test x$enable_stdlib_debug = xyes ; then
case $gxx_version in case $gxx_version in
3.4*|4.*) 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, 1, [libstdc++ debug mode])
AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [libstdc++ pedantic 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 if test x$enable_concept_checks = xyes ; then
case $gxx_version in case $gxx_version in
3.3*) 3.3*)
lyx_flags="concept-checks $lyx_flags" lyx_flags="$lyx_flags concept-checks"
AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) AC_DEFINE(_GLIBCPP_CONCEPT_CHECKS, 1, [libstdc++ concept checking])
;; ;;
3.4*|4.*) 3.4*|4.*)
lyx_flags="concept-checks $lyx_flags" lyx_flags="$lyx_flags concept-checks"
AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking]) AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1, [libstdc++ concept checking])
;; ;;
esac esac
fi fi
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) AM_CONDITIONAL(LYX_BUILD_PCH, test "$lyx_pch_comp" = yes)
])dnl ])dnl