+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"
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
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
-])
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"
`
;;
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)
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"
### 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