]> git.lyx.org Git - lyx.git/blob - config/xforms.m4
edit->LFUN_INSET_EDIT + CHangeLog + working URL insets.
[lyx.git] / config / xforms.m4
1 dnl some macros to test for xforms-related functionality  -*- sh -*-
2
3 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
4 AC_DEFUN(LYX_PATH_XPM,[
5 ### Check for Xpm library
6 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage, XPM_LIB="-lXpm",
7         [LYX_LIB_ERROR(libXpm,Xpm)])
8 AC_SUBST(XPM_LIB)
9 ### Check for Xpm headers
10 lyx_cv_xpm_h_location="<xpm.h>"
11 AC_CHECK_HEADER(X11/xpm.h,[
12   ac_cv_header_xpm_h=yes
13   lyx_cv_xpm_h_location="<X11/xpm.h>"],[
14 AC_CHECK_HEADER(xpm.h,[],[
15 LYX_LIB_ERROR(xpm.h,Xpm)])])
16 #AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location,
17 #  [define this to the location of xpm.h to be used with #include, e.g. <xpm.h>])
18 AC_SUBST(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
19 ### Test for the header version
20 if test $ac_cv_header_xpm_h = yes; then
21   AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
22   [ cat > conftest.$ac_ext <<EOF
23 #line __oline__ "configure"
24 #include "confdefs.h"
25
26 #include $lyx_cv_xpm_h_location
27 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
28 EOF
29     eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
30       grep '^"%%%"'  2>/dev/null | \
31       sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
32     case "$lyx_cv_xpmr" in
33 changequote(,)
34      [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
35             lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
36 changequote([,])
37          *) ;;
38     esac
39     lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
40     rm -f conftest*])
41   XPM_VERSION=${lyx_cv_xpmversion}
42   case "$lyx_cv_xpmr" in
43 changequote(,)
44         [789]|[0-9][0-9]*) ;;
45 changequote([,])
46         *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
47    If you experience strange crashes with LyX, try to upgrade
48    to at least version 4.7 (aka 3.4g).
49    If you have installed a newer version of the library, check whether you
50    have an old xpm.h header file in your include path.]);;
51   esac
52 fi])
53
54
55 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
56 dnl   If it is found, the variable XFORMS_LIB is set to the relevant -l flags,
57 dnl and FORMS_H_LOCATION / FLIMAGE_H_LOCATION is also set
58 AC_DEFUN(LYX_PATH_XFORMS,[
59 AC_REQUIRE([LYX_PATH_XPM])
60
61 AC_CHECK_LIB(forms, fl_initialize, XFORMS_LIB="-lforms",
62   [AC_CHECK_LIB(xforms, fl_initialize, XFORMS_LIB="-lxforms",
63     [LYX_LIB_ERROR(libforms or libxforms,xforms)], $XPM_LIB)], $XPM_LIB)
64 AC_SUBST(XFORMS_LIB)
65
66 ### Check for xforms headers
67 lyx_cv_forms_h_location="<forms.h>"
68 AC_CHECK_HEADER(X11/forms.h,[
69   ac_cv_header_forms_h=yes
70   lyx_cv_forms_h_location="<X11/forms.h>"],[
71 AC_CHECK_HEADER(forms.h,[],[
72 LYX_LIB_ERROR(forms.h,forms)])])
73 AC_SUBST(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
74
75 if test $ac_cv_header_forms_h = yes; then
76   AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
77   [ cat > conftest.$ac_ext <<EOF
78 #line __oline__ "configure"
79 #include "confdefs.h"
80
81 #include $lyx_cv_forms_h_location
82 #if ! defined(FL_INCLUDE_VERSION)
83 "%%%"(unknown)"%%%"
84 #else
85 "%%%"FL_VERSION.FL_REVISION.FL_FIXLEVEL"%%%"
86 #endif
87 EOF
88 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
89   grep '^"%%%"'  2>/dev/null | \
90   sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
91 rm -f conftest*])
92
93 XFORMS_VERSION=$lyx_cv_xfversion
94 case "$lyx_cv_xfversion" in
95 "(unknown)"|0.8[[1-8]]*|0.89[[01234]])
96         LYX_ERROR(dnl
97 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
98    This version of LyX works best with version 1.0 (recommended) and later.) ;;
99 0.89*|0.9999*)
100         LYX_WARNING(dnl
101 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
102    it contains many bugs that have been squashed in version 1.0.
103    You should consider upgrading.) ;;
104 1.0*) ;;
105 esac
106 fi
107 ])
108
109
110 dnl Check the details of the xforms image loader
111 AC_DEFUN(LYX_CHECK_XFORMS_IMAGE_LOADER,
112 [AC_REQUIRE([LYX_PATH_XFORMS])
113 save_LIBS=$LIBS
114 LIBS="$XFORMS_LIB $XPM_LIB $LIBS"
115 lyx_use_jpeg_image_loader=no
116
117 AC_LANG_SAVE
118 AC_LANG_C
119
120 dnl The image headers were split out of forms.h in xforms version 1.0.
121 AC_CHECK_HEADERS(flimage.h X11/flimage.h, break,,[#include $lyx_cv_forms_h_location])
122 AC_SEARCH_LIBS(flimage_dup, flimage,
123   [if test "$ac_cv_search_flimage_dup" != "none required" ; then
124      XFORMS_IMAGE_LIB="-lflimage"
125      LIBS="$XFORMS_IMAGE_LIB $LIBS"
126   fi])
127
128 dnl Only enable native loading of jpeg images if the jpeg library is installed.
129 AC_CHECK_LIB(jpeg, jpeg_read_header,
130   [lyx_use_jpeg_image_loader=yes
131    XFORMS_IMAGE_LIB="$XFORMS_IMAGE_LIB -ljpeg"
132    LIBS="$LIBS -ljpeg"])
133 AC_SUBST(XFORMS_IMAGE_LIB)
134
135 if test $lyx_use_jpeg_image_loader = yes ; then
136   lyx_flags="$lyx_flags xforms-image-loader"
137   AC_DEFINE(USE_JPEG_IMAGE_LOADER, 1,
138             [Define if you want to be able to load jpeg images natively])
139 fi
140
141 AC_LANG_RESTORE
142 LIBS=$save_LIBS])