]> git.lyx.org Git - lyx.git/commitdiff
Continue pre-spring cleaning of configure script
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 19 Mar 2013 15:17:40 +0000 (16:17 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 19 Mar 2013 15:41:14 +0000 (16:41 +0100)
 * build-type=profiling implies -fno-omit-frame-pointer in gcc. This allows sysprof to yield proper call trees
 * remove --enable-grpof option (the build type is enough)
 * remove --with-frontend option since we have only one frontend. Move stuff around and generally simplify the Qt detection code
 * do not check for bc anymore.
 * Update README.

INSTALL
config/lyxinclude.m4
config/qt4.m4
configure.ac

diff --git a/INSTALL b/INSTALL
index 7ed8b1b46dcb4506fbdda9cd34717e264265f1b3..72eac7302a7959403f31bf51021d3d599a30ca78 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -6,11 +6,11 @@ Quick compilation guide
 
 These four steps will compile, test and install LyX:
 
-       0) Linux users beware: You need qt4 and qt4-devel packages 
+       0) Linux users beware: You need qt4 and qt4-devel packages
           of the same version to compile LyX.
 
           In general, it is also recommended to have pkg-config
-          installed (the name might vary depending on your 
+          installed (the name might vary depending on your
           distribution).
 
        1) ./configure configures LyX according to your system. You
@@ -53,7 +53,7 @@ that the compilers are close to C++ standard conforming (gcc 4.x).
 
 LyX makes great use of the C++ Standard Template Library (STL).
 This means that gcc users will have to install the relevant libstdc++
-library to be able to compile this version of LyX. 
+library to be able to compile this version of LyX.
 
 For full LyX usability we suggest to use at least Qt 4.8 which has been
 widely tested. For compilation you need to compile against at least
@@ -110,13 +110,16 @@ flags:
     concept-checks                   X           X
     warnings                         X           X
     debug                            X           X           X       X
-    gprof                                                            X
 
     The defaults are as follows in terms of version number
     release: stable release (1.x.y)
     prerelease: version number contains alpha, beta, rc or pre.
     development: version number contains dev.
 
+    The `profiling' build type uses the -fno-omit-frame-pointer option with gcc
+
+    The `gprof' build type compiles and links with -pg option with gcc.
+
   o --with-extra-lib=DIRECTORY that specifies the path where LyX will
     find extra libraries (qt4) it needs. Defaults to NONE
     (i.e. search in standard places). You can specify several
@@ -155,10 +158,6 @@ LyX:
   o --with-included-gettext forces the use of the included GNU gettext
     library, although you might have another one installed.
 
-  o --with-catgets allows to use the catget() functions which can
-    exist on your system.  This can cause problems, though. Use with
-    care.
-
   o You can also set the environment variable LINGUAS to a list of
     languages in case you do not want to install all the translation
     files. For example, if you are only interested in German and
@@ -203,51 +202,38 @@ give a value to the CXX variable.
 If you encounter problems, please read the section 'Problems' at the end of
 this file.
 
-The following options allow you to tweak the generated code more precisely:
-
-  o --enable-gprof instruments the code for use with the gprof
-    profiler. The results are only meaningful in conjunction with
-    --enable-build-type=release.
+The following options allow you to tweak the generated code more precisely (see the description of --enable-build-type for the default values):
 
   o --enable-optimization=VALUE enables you to set optimization to a
-    higher level than the default (-O), for example --enable-optimization=-O3.
+    higher level than the default, for example --enable-optimization=-O3.
 
   o --disable-optimization - you can use this to disable compiler
     optimization of LyX. The compile may be much quicker with some
     compilers, but LyX will run more slowly.
 
   o --enable-debug will add debug information to your binary. This
-    requires a lot more disk space, but is a must if you want to try to
-    debug problems in LyX. The default is to have debug information
-    for development versions and prereleases only.
+    requires a lot more disk space, but is a must if you want to try
+    to debug problems in LyX. There is no run-time penalty.
 
   o --enable-warnings that make the compiler output more warnings during
-    the compilation of LyX.  Opposite is --disable-warnings.  By default,
-    this flag is on for development versions only.
+    the compilation of LyX.  Opposite is --disable-warnings.
 
   o --enable-assertions that make the compiler generate run-time
     code which checks that some variables have sane values. Opposite
-    is --disable-assertions.  By default, this flag is on for
-    development versions only.
+    is --disable-assertions.
 
   o --enable-stdlib-debug adds some debug code in the standard
     library; this slows down the code, but has been helpful in the
-    past to find bugs. By default, this flag is on for development
-    versions only.
+    past to find bugs.
 
   o --enable-concept-checks adds some compile-time checks. There is no
-    run-time penalty. By default, this flag is on for development
-    versions only.
+    run-time penalty.
 
   o --without-latex-config that disables the automatic detection of your
     latex configuration.  This detection is automatically disabled if
     latex cannot be found.  If you find that you have to use this
     flag, please report it as a bug.
 
-  o --with-frontend=FRONTEND that allows to specify which frontend you
-    want to use. The default value is qt4, which is the only available
-    frontend for now.
-
   o --enable-monolithic-build[=boost,client,insets,mathed,core,tex2lyx,frontend-qt4]
     that enables monolithic build of the given parts of the source
     code. This should reduce the compilation time provided you have
index c9b48d0b4955dce283b0c28e186409837f19cd52..f2def9918244e2b9dce7770092661ecc681477e5 100644 (file)
@@ -182,11 +182,6 @@ AC_ARG_ENABLE(concept-checks,
          [enable_concept_checks=no])]
 )
 
-AC_ARG_ENABLE(gprof,
-  AC_HELP_STRING([--enable-gprof],[enable profiling using gprof]),,
-  [AS_CASE([$build_type], [gprof], [enable_gprof=yes], [enable_gprof=no])]
-)
-
 ### set up optimization
 AC_ARG_ENABLE(optimization,
     AC_HELP_STRING([--enable-optimization[=value]],[enable compiler optimisation]),,
@@ -231,16 +226,20 @@ if test x$GXX = xyes; then
   if test "$ac_test_CXXFLAGS" = set; then
     CXXFLAGS="$ac_save_CXXFLAGS"
   else
-      CFLAGS="$lyx_opt"
-      CXXFLAGS="$lyx_opt"
+    CFLAGS="$lyx_opt"
+    CXXFLAGS="$lyx_opt"
     if test x$enable_debug = xyes ; then
-        CFLAGS="-g $CFLAGS"
-       CXXFLAGS="-g $CXXFLAGS"
+      CFLAGS="-g $CFLAGS"
+      CXXFLAGS="-g $CXXFLAGS"
     fi
-    if test x$enable_gprof = xyes ; then
-        CFLAGS="-pg $CFLAGS"
-        CXXFLAGS="-pg $CXXFLAGS"
-        LDFLAGS="-pg $LDFLAGS"
+    if test $build_type = gprof ; then
+      CFLAGS="-pg $CFLAGS"
+      CXXFLAGS="-pg $CXXFLAGS"
+      LDFLAGS="-pg $LDFLAGS"
+    fi
+    if test $build_type = profiling ; then
+      CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+      CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"
     fi
   fi
   if test "$ac_env_CPPFLAGS_set" != set; then
@@ -450,25 +449,6 @@ rm -f conftest*])
 ])
 ### end of LYX_PATH_HEADER
 
-### 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,
-  [AC_HELP_STRING([--with-frontend=THIS], [use THIS frontend as main GUI:
-                           Possible values: qt4])],
-  [FRONTENDS="$withval"],[FRONTENDS="qt4"])
-if test "x$FRONTENDS" = x ; then
-  AC_MSG_RESULT(none)
-  AC_MSG_ERROR("Please select a frontend using --with-frontend")
-fi
-AC_MSG_RESULT($FRONTENDS)
-AC_SUBST(FRONTENDS)
-AC_SUBST(FRONTENDS_SUBDIRS)
-AC_SUBST(FRONTENDS_PROGS)
-])
-
-
 ## Check what kind of packaging should be used at install time.
 ## The default is autodetected.
 AC_DEFUN([LYX_USE_PACKAGING],
index d91d9ef0efb12de82376b1e09b9be60018ef852f..2ac6d70f7d9c1e526f351349d22bea83bab1617f 100644 (file)
@@ -135,15 +135,27 @@ AC_DEFUN([QT4_DO_IT_ALL],
                QT4_DO_MANUAL_CONFIG
        fi
 
+       if test -z "$QT4_LIB"; then
+         AC_MSG_ERROR([cannot find qt4 library.])
+       fi
+
        dnl Check qt version
-       AS_VERSION_COMPARE($QT4_VERSION, $1, 
+       AS_VERSION_COMPARE($QT4_VERSION, $1,
        [AC_MSG_ERROR([LyX requires at least version $1 of Qt. Only version $QT4_VERSION has been found.])
        ])
 
        AC_PATH_PROGS(MOC4, [moc-qt4 moc],[],$qt4_cv_bin:$PATH)
+       if test -z "$MOC4"; then
+         AC_MSG_ERROR([cannot find moc binary.])
+       fi
        AC_PATH_PROGS(UIC4, [uic-qt4 uic],[],$qt4_cv_bin:$PATH)
+       if test -z "$UIC4"; then
+         AC_MSG_ERROR([cannot find uic binary.])
+       fi
        AC_PATH_PROGS(RCC4, [rcc-qt4 rcc],[],$qt4_cv_bin:$PATH)
-       AC_CHECK_PROG(bc_found,[bc],[yes],[no],$PATH)
+       if test -z "$RCC4"; then
+         AC_MSG_ERROR([cannot find rcc binary.])
+       fi
 ])
 
 AC_DEFUN([QT4_DO_PKG_CONFIG],
index e937a5047f9257bff37430a375bf84578ec5e979..bab727feeffe5ecfb59a7c9d926d8d5a896c58f8 100644 (file)
@@ -64,9 +64,6 @@ AM_PATH_PYTHON(2.4.0,, :)
 ### we need to know the byte order for unicode conversions
 AC_C_BIGENDIAN
 
-### check which frontend we want to use
-LYX_USE_FRONTENDS
-
 ### Check for a C++ compiler
 LYX_PROG_CXX
 
@@ -126,39 +123,14 @@ AC_CHECK_HEADERS(magic.h,
    is correctly installed on your system.
    Falling back to builtin file format detection.])])
 
-
-### check which frontend we want to use
-
+### setup the qt4 frontend.
 dnl The code below is not in a macro, because this would cause big
 dnl problems with the AC_REQUIRE contained in QT4_DO_IT_ALL.
-for frontend in $FRONTENDS ; do
-  case "$frontend" in
-    qt4)
-         QT4_DO_IT_ALL([4.5.0])
-         FRONTENDS_PROGS="$FRONTENDS_PROGS lyx-qt4\$(EXEEXT)"
-         FRONTENDS_SUBDIRS="$FRONTENDS_SUBDIRS qt4"
-         RPM_FRONTEND="qt4"
-         FRONTEND_INFO="${FRONTEND_INFO}\
+QT4_DO_IT_ALL([4.5.0])
+AC_SUBST([FRONTENDS_SUBDIRS], [qt4])
+FRONTEND_INFO="${FRONTEND_INFO}\
   Qt 4 Frontend:\n\
       Qt 4 version:\t\t${QT4_VERSION}\n"
-dnl qt 4 build will fail without moc, uic, or bc
-         if test -z "$MOC4"; then
-           AC_MSG_ERROR([cannot find moc binary.])
-         fi
-         if test -z "$UIC4"; then
-           AC_MSG_ERROR([cannot find uic binary.!])
-         fi
-         if test -z "$QT4_LIB"; then
-           AC_MSG_ERROR([cannot find qt4 library.])
-         fi
-         if test "$bc_found" = "no"; then
-           AC_MSG_ERROR([cannot find bc program.])
-         fi
-      ;;
-    *)
-         AC_MSG_ERROR([unknown frontend '$frontend'.]);;
-  esac
-done
 
 # fix the value of the prefixes.
 test "x$prefix" = xNONE && prefix=$default_prefix
@@ -244,7 +216,6 @@ ${FRONTEND_INFO}\
   LyX files dir:                ${real_pkgdatadir}\n"
 
 AC_SUBST(VERSION_INFO)
-AC_SUBST(RPM_FRONTEND)
 AC_SUBST(AM_CPPFLAGS)
 AC_SUBST(AM_CXXFLAGS)
 AC_SUBST(AM_CFLAGS)