f68b844250c16b7c6151f92db5f8b5cde8a706fe
[gnus] / aclocal.m4
1 # serial 1
2
3 AC_DEFUN(AM_PATH_LISPDIR,
4  [# If set to t, that means we are running in a shell under Emacs.
5   # If you have an Emacs named "t", then use the full path.
6   test "$EMACS" = t && EMACS=
7   test "$EMACS" || AC_PATH_PROGS(EMACS, emacs xemacs, no)
8   if test "$EMACS" != "no"; then
9     AC_MSG_CHECKING([where .elc files should go])
10     dnl Set default value
11     lispdir="\$(datadir)/emacs/site-lisp"
12     if test "x$prefix" = "xNONE"; then
13       if test -d $ac_default_prefix/share/emacs/site-lisp; then
14         lispdir="\$(prefix)/share/emacs/site-lisp"
15       else
16         if test -d $ac_default_prefix/lib/emacs/site-lisp; then
17           lispdir="\$(prefix)/lib/emacs/site-lisp"
18         fi
19       fi
20     else
21       if test -d $prefix/share/emacs/site-lisp; then
22         lispdir="\$(prefix)/share/emacs/site-lisp"
23       else
24         if test -d $prefix/lib/emacs/site-lisp; then
25           lispdir="\$(prefix)/lib/emacs/site-lisp"
26         fi
27       fi
28     fi
29     AC_MSG_RESULT($lispdir)
30   fi
31   AC_SUBST(lispdir)])
32
33 dnl AC_EMACS_LIST AC_XEMACS_P AC_PATH_LISPDIR and AC_EMACS_CHECK_LIB
34 dnl are stolen from w3.
35 dnl AC_PATH_LISPDIR obsoletes AM_PATH_LISPDIR.
36
37 AC_DEFUN(AC_EMACS_LISP, [
38 elisp="$2"
39 if test -z "$3"; then
40         AC_MSG_CHECKING(for $1)
41 fi
42 AC_CACHE_VAL(EMACS_cv_SYS_$1,[
43         OUTPUT=./conftest-$$
44         echo ${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil \"${OUTPUT}\"))" >& AC_FD_CC 2>&1  
45         ${EMACS} -batch -eval "(let ((x ${elisp})) (write-region (if (stringp x) (princ x 'ignore) (prin1-to-string x)) nil \"${OUTPUT}\"nil 5))" >& AC_FD_CC 2>&1
46         retval=`cat ${OUTPUT}`
47         echo "=> ${retval}" >& AC_FD_CC 2>&1
48         rm -f ${OUTPUT}
49         EMACS_cv_SYS_$1=$retval
50 ])
51 $1=${EMACS_cv_SYS_$1}
52 if test -z "$3"; then
53         AC_MSG_RESULT($$1)
54 fi
55 ])
56
57 AC_DEFUN(AC_XEMACS_P, [
58   AC_MSG_CHECKING([if $EMACS is really XEmacs])
59   AC_EMACS_LISP(xemacsp,(if (string-match \"XEmacs\" emacs-version) \"yes\" \"no\") ,"noecho")
60   XEMACS=${EMACS_cv_SYS_xemacsp}
61   EMACS_FLAVOR=emacs
62   if test "$XEMACS" = "yes"; then
63      EMACS_FLAVOR=xemacs
64   fi
65   AC_MSG_RESULT($XEMACS)
66   AC_SUBST(XEMACS)
67   AC_SUBST(EMACS_FLAVOR)
68 ])
69
70 AC_DEFUN(AC_PATH_LISPDIR, [
71   AC_XEMACS_P
72   if test "$prefix" = "NONE"; then
73         AC_MSG_CHECKING([prefix for your Emacs])
74         AC_EMACS_LISP(prefix,(expand-file-name \"..\" invocation-directory),"noecho")
75         prefix=${EMACS_cv_SYS_prefix}
76         AC_MSG_RESULT($prefix)
77   fi
78   AC_ARG_WITH(lispdir,[  --with-lispdir=DIR      Where to install lisp files], lispdir=${withval})
79   AC_MSG_CHECKING([where .elc files should go])
80   if test -z "$lispdir"; then
81     dnl Set default value
82     theprefix=$prefix
83     if test "x$theprefix" = "xNONE"; then
84         theprefix=$ac_default_prefix
85     fi
86     if test "$EMACS_FLAVOR" = "xemacs"; then
87         lispdir="\$(datadir)/${EMACS_FLAVOR}/site-packages/lisp/gnus"
88     else
89     lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp"
90     fi
91     for thedir in share lib; do
92         potential=
93         if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
94            if test "$EMACS_FLAVOR" = "xemacs"; then
95                lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-packages/lisp/gnus"
96            else
97                lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp"
98            fi
99            break
100         fi
101     done
102   fi
103   AC_MSG_RESULT($lispdir)
104   AC_SUBST(lispdir)
105 ])
106
107 AC_DEFUN(AC_PATH_ETCDIR, [
108   AC_ARG_WITH(etcdir,[  --with-etcdir=DIR       Where to install etc files], etcdir=${withval})
109   AC_MSG_CHECKING([where etc files should go])
110   if test -z "$etcdir"; then
111     dnl Set default value
112     if test "$EMACS_FLAVOR" = "xemacs"; then
113       etcdir="\$(lispdir)/../etc/gnus"
114     else
115     etcdir="\$(lispdir)/../etc"
116     fi
117   fi
118   AC_MSG_RESULT($etcdir)
119   AC_SUBST(etcdir)
120 ])
121
122 dnl
123 dnl Check whether a function exists in a library
124 dnl All '_' characters in the first argument are converted to '-'
125 dnl
126 AC_DEFUN(AC_EMACS_CHECK_LIB, [
127 if test -z "$3"; then
128         AC_MSG_CHECKING(for $2 in $1)
129 fi
130 library=`echo $1 | tr _ -`
131 AC_EMACS_LISP($1,(progn (fmakunbound '$2) (condition-case nil (progn (require '$library) (fboundp '$2)) (error (prog1 nil (message \"$library not found\"))))),"noecho")
132 if test "${EMACS_cv_SYS_$1}" = "nil"; then
133         EMACS_cv_SYS_$1=no
134 fi
135 if test "${EMACS_cv_SYS_$1}" = "t"; then
136         EMACS_cv_SYS_$1=yes
137 fi
138 HAVE_$1=${EMACS_cv_SYS_$1}
139 AC_SUBST(HAVE_$1)
140 if test -z "$3"; then
141         AC_MSG_RESULT($HAVE_$1)
142 fi
143 ])
144
145 dnl
146 dnl Perform sanity checking and try to locate the W3 package
147 dnl
148 AC_DEFUN(AC_CHECK_W3, [
149 AC_MSG_CHECKING(for acceptable W3 version)
150 AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_W3,[
151 AC_EMACS_CHECK_LIB(w3_forms, w3-form-encode-xwfu,"noecho")
152 if test "${HAVE_w3_forms}" = "yes"; then
153         EMACS_cv_ACCEPTABLE_W3=yes
154 else
155         EMACS_cv_ACCEPTABLE_W3=no
156 fi
157
158 if test "${EMACS_cv_ACCEPTABLE_W3}" = "yes"; then
159         AC_EMACS_LISP(w3_dir,(file-name-directory (locate-library \"w3-forms\")),"noecho")
160         EMACS_cv_ACCEPTABLE_W3=$EMACS_cv_SYS_w3_dir
161 fi
162 ])
163    AC_ARG_WITH(w3,[  --with-w3=DIR           Specify where to find the w3 package], [ EMACS_cv_ACCEPTABLE_W3=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
164    W3=${EMACS_cv_ACCEPTABLE_W3}
165    AC_SUBST(W3)
166    AC_MSG_RESULT("${W3}")
167 ])
168
169 dnl
170 dnl Perform sanity checking and try to locate the W3 package
171 dnl
172 AC_DEFUN(AC_CHECK_URL, [
173 AC_MSG_CHECKING(for acceptable URL version)
174 AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_URL,[
175 AC_EMACS_CHECK_LIB(url, url-retrieve, "noecho")
176 if test "${HAVE_url}" = "yes"; then
177         EMACS_cv_ACCEPTABLE_URL=yes
178 else
179         EMACS_cv_ACCEPTABLE_URL=no
180 fi
181
182 if test "${EMACS_cv_ACCEPTABLE_URL}" = "yes"; then
183         AC_EMACS_LISP(url_dir,(file-name-directory (locate-library \"url\")),"noecho")
184         EMACS_cv_ACCEPTABLE_URL=$EMACS_cv_SYS_url_dir
185 fi
186 ])
187    AC_ARG_WITH(url,[  --with-url=DIR          Specify where to find the url package], [ EMACS_cv_ACCEPTABLE_URL=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ])
188    URL=${EMACS_cv_ACCEPTABLE_URL}
189    AC_SUBST(URL)
190    AC_MSG_RESULT("${URL}")
191 ])
192
193 dnl
194 dnl Perform checking available fonts: Adobe Bembo, Adobe Futura and 
195 dnl Bitstream Courier.
196 dnl
197
198 AC_DEFUN(GNUS_CHECK_FONTS, [
199 test "$LATEX" = t && LATEX=
200 test "$LATEX" || AC_PATH_PROGS(LATEX, latex, no)
201 AC_MSG_CHECKING(for available fonts)
202 AC_ARG_WITH(fonts,[  --with-fonts            Assume all fonts required are available],[USE_FONTS="$withval"])
203 WITH_FONTS_bembo='%'
204 WITHOUT_FONTS_bembo=
205 WITH_FONTS_pfu='%'
206 WITHOUT_FONTS_pfu=
207 WITH_FONTS_bcr='%'
208 WITHOUT_FONTS_bcr=
209 if test -z "${USE_FONTS}"; then
210   if test "${LATEX}" = no; then
211         :
212   else
213     OUTPUT=./conftest-$$
214     echo '\nonstopmode\documentclass{article}\usepackage{bembo}\begin{document}\end{document}' > ${OUTPUT}
215     if ${LATEX} ${OUTPUT} </dev/null >& AC_FD_CC 2>&1  ; then  
216       if test -z "${USE_FONTS}"; then
217         USE_FONTS="Adobe Bembo"
218       else
219         USE_FONTS="${USE_FONTS}, Adobe Bembo"
220       fi
221       WITH_FONTS_bembo=
222       WITHOUT_FONTS_bembo='%'
223     fi
224     echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{pfu}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
225     if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
226       if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1  ; then  
227         :
228       else
229         if test -z "${USE_FONTS}"; then
230           USE_FONTS="Adobe Futura"
231         else
232           USE_FONTS="${USE_FONTS}, Adobe Futura"
233         fi
234         WITH_FONTS_pfu=
235         WITHOUT_FONTS_pfu='%'
236       fi
237     fi
238     echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{bcr}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
239     if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
240       if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1  ; then  
241         :
242       else
243         if test -z "${USE_FONTS}"; then
244           USE_FONTS="Bitstream Courier"
245         else
246           USE_FONTS="${USE_FONTS}, Bitstream Courier"
247         fi
248         WITH_FONTS_bcr=
249         WITHOUT_FONTS_bcr='%'
250       fi
251     fi
252     rm -f ${OUTPUT} ${OUTPUT}.aux ${OUTPUT}.log ${OUTPUT}.dvi
253   fi
254 elif test "${USE_FONTS}" = yes ; then
255   WITH_FONTS_bembo=
256   WITHOUT_FONTS_bembo='%'
257   WITH_FONTS_pfu=
258   WITHOUT_FONTS_pfu='%'
259   WITH_FONTS_bcr=
260   WITHOUT_FONTS_bcr='%'
261 fi
262 AC_SUBST(WITH_FONTS_bembo)
263 AC_SUBST(WITHOUT_FONTS_bembo)
264 AC_SUBST(WITH_FONTS_pfu)
265 AC_SUBST(WITHOUT_FONTS_pfu)
266 AC_SUBST(WITH_FONTS_bcr)
267 AC_SUBST(WITHOUT_FONTS_bcr)
268 if test -z "${USE_FONTS}" ; then
269   USE_FONTS=no
270 fi
271 USE_FONTS=`echo "${USE_FONTS}" | sed 's/,\([[^,]]*\)$/ and\1/'`
272 AC_MSG_RESULT("${USE_FONTS}")
273 if test "${USE_FONTS}" = yes ; then
274   USE_FONTS='Set in Adobe Bembo, Adobe Futura and Bitstream Courier.'
275 elif test "${USE_FONTS}" = no ; then
276   USE_FONTS=''
277 else
278   USE_FONTS="Set in ${USE_FONTS}."
279 fi
280 AC_SUBST(USE_FONTS)
281 ])