fix configuration with xforms

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4364 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2002-06-11 14:44:05 +00:00
parent d7a98e8bb8
commit 3b1a9a5fc2
9 changed files with 86 additions and 83 deletions

View File

@ -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

View File

@ -18,14 +18,6 @@
@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

View 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

View 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,14 +19,8 @@ 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,
@ -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
# 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_LANG_SAVE
AC_LANG_C
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
])

View 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

View 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

View 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));

View 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.

View 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 {