]> git.lyx.org Git - features.git/commitdiff
fix configuration with xforms
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 11 Jun 2002 14:44:05 +0000 (14:44 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 11 Jun 2002 14:44:05 +0000 (14:44 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4364 a592a061-630c-0410-9148-cb99ea01b6c8

ChangeLog
acconfig.h
config/ChangeLog
config/xforms.m4
configure.in
src/frontends/xforms/ChangeLog
src/frontends/xforms/GUIRunTime.C
src/frontends/xforms/xformsGImage.C
src/frontends/xforms/xformsGImage.h

index b1a1d0c59aaf7a044f128aa8d51379433d2c9bad..7e3ee7665dbcb005ba663d32562b01112b37394e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-06-07  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * configure.in: move the test for xpm/xforms out of the frontends
+       case, to avoid code duplication
+
+2002-06-06  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * acconfig.h: remove FORMS_IMAGE_H_LOCATION and FORMS_H_LOCATION
+
 2002-06-03  Lars Gullik Bjønnes  <larsbj@birdstep.com>
 
        * configure.in: remove LYX_REGEX call
index 7afd8143470d47228b719e4b20dc609f44bf495e..e63e271baf57c3a91dbc2736462a8733cc9c936d 100644 (file)
 
 @TOP@
 
-/* define this to the location of forms.h to be used with #include,
-  e.g. <forms.h> */
-#undef FORMS_H_LOCATION
-
-/* define this to the location of flimage.h to be used with #include,
-  e.g. <flimage.h> */
-#undef FORMS_IMAGE_H_LOCATION
-
 /* define this to the location of xpm.h to be used with #include,
   e.g. <xpm.h> */
 #undef XPM_H_LOCATION
index 4afecb000af504788f451181834a1c05691603c2..8158c8dae0e0e14056a641f9b4f3811e7ae1b0b7 100644 (file)
@@ -1,3 +1,12 @@
+2002-06-07  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * xforms.m4 (LYX_USE_XFORMS_IMAGE_LOADER): complete rewrite. Now
+       simpler and hopefully better. Please test.
+       (LYX_PATH_XFORMS): move test for flimage.h in
+       LYX_USE_XFORMS_IMAGE_LOADER. 
+       (LYX_XFORMS_IMAGE_LOADER_NEEDS_JPEG): killed. Now just a couple
+       lines in LYX_USE_XFORMS_IMAGE_LOADER.
+
 2002-06-10  Lars Gullik Bjønnes  <larsbj@birdstep.com>
 
        * lyxinclude.m4 (lyx_warning): turn off exceptions for 2.96 and 3.1
index f80267c9e12039d2e5d13aa2b1b3507370e30c35..382c2b743aba0e838770140512e097a8267bad92 100644 (file)
@@ -1,6 +1,8 @@
+dnl some macros to test for xforms-related functionality  -*- sh -*-
+
 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
 dnl   If it is found, the variable XFORMS_LIB is set to the relevant -l flags,
-dnl and FORMS_H_LOCATION / FORMS_IMAGE_H_LOCATION is also set
+dnl and FORMS_H_LOCATION / FLIMAGE_H_LOCATION is also set
 AC_DEFUN(LYX_PATH_XFORMS,[
  
 LIBS="$XPM_LIB $LIBS"
@@ -17,15 +19,9 @@ AC_CHECK_HEADER(X11/forms.h,[
   lyx_cv_forms_h_location="<X11/forms.h>"],[
 AC_CHECK_HEADER(forms.h,[],[
 LYX_LIB_ERROR(forms.h,forms)])])
-lyx_cv_flimage_h_location="<flimage.h>"
-AC_CHECK_HEADER(X11/flimage.h,[
-  ac_cv_header_flimage_h=yes
-  lyx_cv_flimage_h_location="<X11/flimage.h>"],)
-AC_DEFINE_UNQUOTED(FORMS_IMAGE_H_LOCATION,$lyx_cv_flimage_h_location)
-AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
+AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location, 
+   [define this to the location of forms.h to be used with #include, e.g. <forms.h>])
+
 if test $ac_cv_header_forms_h = yes; then
   AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
   [ cat > conftest.$ac_ext <<EOF
@@ -56,74 +52,61 @@ LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
 it is an unproven version and might still have some bugs. You should
 probably use version 0.89.6 (or 0.88) instead) ;;
     0.89*) ;;
+    0.9999*) ;;
     1.0*) ;;
        *) LYX_WARNING(dnl
 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
  since it is newer than 0.89. You might have slight problems with it.);;
 esac
-fi])
+fi
+])
 
 
 dnl Check whether the xforms library has a viable image loader
 AC_DEFUN(LYX_USE_XFORMS_IMAGE_LOADER,
 [
 save_LIBS=$LIBS
-LIBS="-lflimage $XFORMS_LIB -ljpeg $LIBS"
+LIBS="$XFORMS_LIB $LIBS"
 lyx_use_xforms_image_loader=no
-AC_CHECK_FUNCS(flimage_dup,[
-  AC_CHECK_FUNCS(flimage_to_pixmap,[
-    lyx_use_xforms_image_loader=yes
-    AC_CHECK_FUNCS(flimage_enable_ps)])])
-LIBS=$save_LIBS
-test $lyx_use_xforms_image_loader = yes && lyx_flags="$lyx_flags xforms-image-loader" && XFORMS_IMAGE_LIB=-lflimage
-# try without flimage 
-if test $lyx_use_xforms_image_loader = no ; then
-       LIBS="$XFORMS_LIB -ljpeg $LIBS"
-       lyx_use_xforms_image_loader=no
-       AC_CHECK_FUNCS(flimage_dup,[
-         AC_CHECK_FUNCS(flimage_to_pixmap,[
-           lyx_use_xforms_image_loader=yes
-           AC_CHECK_FUNCS(flimage_enable_ps)])])
-       LIBS=$save_LIBS
+AC_LANG_SAVE
+AC_LANG_C
 
-       # try without -ljpeg
-       if test $lyx_use_xforms_image_loader = no ; then
-               LIBS="$XFORMS_LIB $LIBS"
-               lyx_use_xforms_image_loader=no
-               AC_CHECK_FUNCS(flimage_dup,[
-                 AC_CHECK_FUNCS(flimage_to_pixmap,[
-                   lyx_use_xforms_image_loader=yes
-                   AC_CHECK_FUNCS(flimage_enable_ps)])])
-               LIBS=$save_LIBS
-       fi
-fi
+AC_CHECK_LIB(jpeg, jpeg_read_header, 
+  [XFORMS_IMAGE_LIB=-ljpeg
+   LIBS="$LIBS -ljpeg"])
+AC_SEARCH_LIBS(flimage_dup, flimage, 
+  [lyx_use_xforms_image_loader=yes
+   if test "$ac_cv_search_flimage_dup" != "none required" ; then
+     XFORMS_IMAGE_LIB="-lflimage $XFORMS_IMAGE_LIB"
+     LIBS="$XFORMS_IMAGE_LIB $XFORMS_LIB $LIBS"
+  fi])
 AC_SUBST(XFORMS_IMAGE_LIB)
+
+if test $lyx_use_xforms_image_loader = yes ; then
+  lyx_flags="$lyx_flags xforms-image-loader"
+  AC_DEFINE(USE_XFORMS_IMAGE_LOADER, 1, 
+            [Define if you want to use xforms built-in image loader])
+  AC_CHECK_FUNCS(flimage_enable_ps flimage_enable_jpeg)
+  AC_CHECK_HEADER(flimage.h,[
+    ac_cv_header_flimage_h=yes
+    lyx_cv_flimage_h_location="<flimage.h>"],
+    [AC_CHECK_HEADER(X11/flimage.h,[
+      ac_cv_header_flimage_h=yes
+      lyx_cv_flimage_h_location="<X11/flimage.h>"],
+      ac_cv_header_flimage_h=no)])
+  if test $ac_cv_header_flimage_h = yes ; then
+    AC_DEFINE(HAVE_FLIMAGE_H, 1, [Define if you have the <flimage.h> header file.])
+    AC_DEFINE_UNQUOTED(FLIMAGE_H_LOCATION, $lyx_cv_flimage_h_location, 
+      [define this to the location of flimage.h to be used with #include, e.g. <flimage.h>
+      ])
+  fi
+fi
+
 ### If the gui cannot load images itself, then we default to the
 ### very simple one in graphics/GraphicsImageXPM.[Ch]
 AM_CONDITIONAL(USE_BASIC_IMAGE_LOADER,
               test $lyx_use_xforms_image_loader = no)
-])
-
+AC_LANG_RESTORE
+LIBS=$save_LIBS])
 
-dnl Check if the image loader needs libjpeg
-AC_DEFUN(LYX_XFORMS_IMAGE_LOADER_NEEDS_JPEG,
-[
-    if test "$lyx_use_xforms_image_loader" = "yes" ; then
-       AC_MSG_CHECKING([whether libjpeg is needed])
-       AC_LANG_SAVE
-       AC_LANG_C
-       AC_TRY_LINK([#include FORMS_H_LOCATION
-#include FORMS_IMAGE_H_LOCATION],
-           [jpeg_abort(0);],
-           [lyx_need_jpeg=no],[lyx_need_jpeg=yes])
-       AC_LANG_RESTORE
-       AC_MSG_RESULT($lyx_need_jpeg)
-       if test "$lyx_need_jpeg" = "yes" ; then
-           LIBS="-ljpeg $LIBS"
-       fi
-    fi
-])
index 290ef284b12f30ef4283a0561482111cebc0294c..538eab94683915a5426cb5ed23b6bb89183094fd 100644 (file)
@@ -168,14 +168,16 @@ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 AC_CHECK_FUNCS(XOpenIM)
 
 ### check which frontend we want to use
+# We have to check for xforms anyway
+LYX_PATH_XPM
+LYX_PATH_XFORMS
+
 #LYX_USE_FRONTEND
 dnl The code below is not in a macro, because this would cause big
 dnl problems with the AC_REQUIRE contained in KDE_DO_IT_ALL.
 case "$lyx_use_frontend" in
   xforms)
   # for now don't set it for xforms as this is always entered
-       LYX_PATH_XPM
-       LYX_PATH_XFORMS
        FRONTEND="xforms"
        FRONTEND_GUILIB="xforms/*.lo"
        FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
@@ -186,9 +188,6 @@ case "$lyx_use_frontend" in
 `
        ;;
   gnome)
-    LYX_PATH_XPM
-    LYX_PATH_XFORMS
-
     PKG_CHECK_MODULES(GNOME_FRONTEND, gtkmm-2.0 libglademm-2.0)
     AC_SUBST(GNOME_FRONTEND_CFLAGS)
     AC_SUBST(GNOME_FRONTEND_LIBS)
@@ -199,8 +198,6 @@ case "$lyx_use_frontend" in
     FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
     FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}";;
   qt2)
-       LYX_PATH_XPM
-       LYX_PATH_XFORMS
     QT2_DO_IT_ALL
     FRONTEND="qt2"
     FRONTEND_GUILIB="qt2/*.lo qt2/ui/*.lo qt2/moc/*.lo qt2/ui/moc/*.lo qt2/xforms/*.lo"
@@ -234,7 +231,6 @@ fi
 ### For now, run this test always so config.h is unchanged by a change in
 ### frontend
 LYX_USE_XFORMS_IMAGE_LOADER
-LYX_XFORMS_IMAGE_LOADER_NEEDS_JPEG
 
 ### Setup GNU gettext
 dnl GNU gettext is written in C
index a8781ca703ff6c966af8ec7dd397c3e8419f3830..6aac7882acb4a48f40c63e1b0c1cc82d84a09d1d 100644 (file)
@@ -1,3 +1,15 @@
+2002-06-06  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * GUIRunTime.C (initialiseGraphics): condition the choice of
+       loader on USE_XFORMS_IMAGE_LOADER
+
+       * xformsGImage.C (init_graphics): do not initialize jpeg support
+       if not available
+
+2002-06-05  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * xformsGImage.h: use FLIMAGE_H_LOCATION to include flimage.h.
+
 2002-06-10  Lars Gullik Bjønnes  <larsbj@birdstep.com>
 
        * FormMathsPanel.C: do not include ButtonController.tmpl
index 668fd830a55606cf9ecc6f680b4f512b61ab4476..b6613318b400e81be2b5d64dec6c0560d5d83371 100644 (file)
@@ -18,7 +18,7 @@
 #include "XFormsView.h"
 #include "debug.h"
 
-#if defined(HAVE_FLIMAGE_DUP) && defined(HAVE_FLIMAGE_TO_PIXMAP)
+#ifdef USE_XFORMS_IMAGE_LOADER
 #include "xformsGImage.h"
 #else
 #include "graphics/GraphicsImageXPM.h"
@@ -61,7 +61,7 @@ int GUIRunTime::initApplication(int &, char * [])
                        "version of a dynamic XForms library\n"
                        "or you have build LyX with conflicting header "
                        "and library (different\n"
-                       "versions of XForms. Sorry but there is no point "
+                       "versions of XForms). Sorry but there is no point "
                        "in continuing executing LyX!" << endl;
                return 1;
        }
@@ -130,7 +130,7 @@ void GUIRunTime::initialiseGraphics()
 {
        using namespace grfx;
 
-#if defined(HAVE_FLIMAGE_DUP) && defined(HAVE_FLIMAGE_TO_PIXMAP)
+#ifdef USE_XFORMS_IMAGE_LOADER
        // connect the image loader based on the xforms library
        GImage::newImage.connect(boost::bind(&xformsGImage::newImage));
        GImage::loadableFormats.connect(boost::bind(&xformsGImage::loadableFormats));
index 8afb32bc70275a847d1f75a398ba522d1cf711b9..dd0f48df6dfad95408a1460be5d0b76e45fe2695 100644 (file)
@@ -402,7 +402,9 @@ void init_graphics()
        flimage_enable_bmp();
        flimage_enable_fits();
        flimage_enable_gif();
+#ifdef HAVE_FLIMAGE_ENABLE_JPEG
        flimage_enable_jpeg();
+#endif
 
        // xforms itself uses pngtopnm to convert to a loadable format.
        // We prefer to use our own conversion mechanism, therefore.
index dbcb883aee30c5cf450fb46606f0c527844156a3..0fbcce873846dc41079a9c0e3734400181b632fe 100644 (file)
@@ -20,8 +20,8 @@
 
 #include "graphics/GraphicsImage.h"
 #include FORMS_H_LOCATION
-#if FL_VERSION > 0
-#include FORMS_IMAGE_H_LOCATION
+#ifdef HAVE_FLIMAGE_H
+#include FLIMAGE_H_LOCATION
 #endif
 
 namespace grfx {