1 AC_DEFUN([AC_DEFINE_GNUS_PRODUCT_NAME],
2 [echo $ac_n "defining gnus product name... $ac_c"
3 AC_CACHE_VAL(EMACS_cv_GNUS_PRODUCT_NAME,[EMACS_cv_GNUS_PRODUCT_NAME=$1])
4 GNUS_PRODUCT_NAME=${EMACS_cv_GNUS_PRODUCT_NAME}
5 AC_MSG_RESULT(${GNUS_PRODUCT_NAME})
6 AC_SUBST(GNUS_PRODUCT_NAME)])
8 AC_DEFUN([AC_CHECK_EMACS],
9 [dnl Check for Emacsen.
11 dnl Apparently, if you run a shell window in Emacs, it sets the EMACS
12 dnl environment variable to 't'. Lets undo the damage.
13 test "$EMACS" = t && EMACS=
16 unset ac_cv_prog_EMACS; unset ac_cv_prog_XEMACS;
19 [ --with-emacs=EMACS compile with EMACS [EMACS=emacs, mule...]],
20 [if test "$withval" = yes -o -z "$withval"; then
21 AC_CHECK_PROGS(EMACS, emacs xemacs mule, emacs)
23 AC_CHECK_PROG(EMACS, $withval, $withval, emacs)
26 [ --with-xemacs=XEMACS compile with XEMACS [XEMACS=xemacs]],
27 [if test "$withval" = yes -o -z "$withval"; then
28 AC_CHECK_PROG(XEMACS, xemacs, xemacs, xemacs)
30 AC_CHECK_PROG(XEMACS, $withval, $withval, xemacs)
34 test -z "$EMACS" && AC_CHECK_PROGS(EMACS, emacs xemacs mule, emacs)])
38 AC_DEFUN([AC_EMACS_LISP], [
41 AC_MSG_CHECKING(for $1)
43 AC_CACHE_VAL(EMACS_cv_SYS_$1,[
45 echo ${EMACS}' -batch -eval '\''(let ((x '${elisp}')) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil "'${OUTPUT}'" nil 5))'\' >& AC_FD_CC 2>&1
46 eval ${EMACS}' -batch -eval '\''(let ((x '${elisp}')) (write-region (if (stringp x) (princ x) (prin1-to-string x)) nil "'${OUTPUT}'" nil 5))'\' >& AC_FD_CC 2>&1
47 retval=`cat ${OUTPUT}`
48 echo "=> ${retval}" >& AC_FD_CC 2>&1
50 EMACS_cv_SYS_$1=$retval
58 AC_DEFUN([AC_CHECK_EMACS_FLAVOR],
59 [AC_MSG_CHECKING([what flavor does $EMACS have])
62 unset EMACS_cv_SYS_flavor;
65 (cond ((featurep (quote xemacs)) \"XEmacs\")\
66 ((boundp (quote MULE)) \"MULE\")\
69 case $EMACS_cv_SYS_flavor in
77 AC_MSG_RESULT($EMACS_cv_SYS_flavor)])
79 AC_DEFUN([AC_PATH_LISPDIR], [
81 if test "$prefix" = NONE; then
82 AC_MSG_CHECKING([prefix for your Emacs])
83 AC_EMACS_LISP(prefix,(expand-file-name \"..\" invocation-directory),"noecho")
84 prefix=${EMACS_cv_SYS_prefix}
85 AC_MSG_RESULT($prefix)
88 [ --with-lispdir=DIR Where to install lisp files
89 (for XEmacs package, use --with-packagedir instead)],
91 AC_MSG_CHECKING([where lisp files should go])
92 if test -z "$lispdir"; then
95 if test "$theprefix" = NONE; then
96 theprefix=$ac_default_prefix
98 lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp/${GNUS_PRODUCT_NAME}"
99 for thedir in share lib; do
101 if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then
102 lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-lisp/${GNUS_PRODUCT_NAME}"
107 if test ${EMACS_FLAVOR} = xemacs; then
108 AC_MSG_RESULT([$lispdir
109 (it will be ignored when \"make install-package[[-ja]]\" is done)])
111 AC_MSG_RESULT([$lispdir])
116 AC_DEFUN([AC_PATH_ETCDIR], [
117 AC_ARG_WITH(etcdir,[ --with-etcdir=DIR Where to install etc files], etcdir=${withval})
118 AC_MSG_CHECKING([where etc files should go])
119 if test -z "$etcdir"; then
120 dnl Set default value
121 etcdir="\$(lispdir)/../etc"
123 AC_MSG_RESULT($etcdir)
128 dnl Check whether a function exists in a library
129 dnl All '_' characters in the first argument are converted to '-'
131 AC_DEFUN([AC_EMACS_CHECK_LIB], [
132 if test -z "$3"; then
133 AC_MSG_CHECKING(for $2 in $1)
135 library=`echo $1 | tr _ -`
136 AC_EMACS_LISP($1,(progn (fmakunbound (quote $2)) (condition-case nil (progn (require (quote $library)) (fboundp (quote $2))) (error (prog1 nil (message \"$library not found\"))))),"noecho")
137 if test "${EMACS_cv_SYS_$1}" = nil; then
140 if test "${EMACS_cv_SYS_$1}" = t; then
143 HAVE_$1=${EMACS_cv_SYS_$1}
145 if test -z "$3"; then
146 AC_MSG_RESULT($HAVE_$1)
151 dnl Perform sanity checking and try to locate the W3 package
153 AC_DEFUN([AC_CHECK_W3], [
154 AC_MSG_CHECKING(for acceptable W3 version)
157 unset EMACS_cv_ACCEPTABLE_W3;
158 unset EMACS_cv_SYS_w3_dir;
159 unset EMACS_cv_SYS_w3_forms;
161 AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_W3,[
162 AC_EMACS_CHECK_LIB(w3_forms, w3-form-encode-xwfu,"noecho")
163 if test "${HAVE_w3_forms}" = yes; then
164 EMACS_cv_ACCEPTABLE_W3=yes
166 EMACS_cv_ACCEPTABLE_W3=
169 if test "${EMACS_cv_ACCEPTABLE_W3}" = yes; then
170 AC_EMACS_LISP(w3_dir,(file-name-directory (locate-library \"w3-forms\")),"noecho")
171 EMACS_cv_ACCEPTABLE_W3=$EMACS_cv_SYS_w3_dir
174 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` ])
175 W3=${EMACS_cv_ACCEPTABLE_W3}
177 if test -z "${EMACS_cv_ACCEPTABLE_W3}"; then
178 AC_MSG_RESULT(not found)
185 dnl Perform sanity checking and try to locate the W3 package
187 AC_DEFUN([AC_CHECK_URL], [
188 AC_MSG_CHECKING(for acceptable URL version)
191 unset EMACS_cv_ACCEPTABLE_URL;
192 unset EMACS_cv_SYS_url_dir;
193 unset EMACS_cv_SYS_url;
195 AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_URL,[
196 AC_EMACS_CHECK_LIB(url, url-retrieve, "noecho")
197 if test "${HAVE_url}" = yes; then
198 EMACS_cv_ACCEPTABLE_URL=yes
200 EMACS_cv_ACCEPTABLE_URL=
203 if test "${EMACS_cv_ACCEPTABLE_URL}" = yes; then
204 AC_EMACS_LISP(url_dir,(file-name-directory (locate-library \"url\")),"noecho")
205 EMACS_cv_ACCEPTABLE_URL=$EMACS_cv_SYS_url_dir
208 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` ])
209 URL=${EMACS_cv_ACCEPTABLE_URL}
211 if test -z "${EMACS_cv_ACCEPTABLE_URL}"; then
212 AC_MSG_RESULT(not found)
214 AC_MSG_RESULT("${URL}")
219 dnl Perform checking available fonts: Adobe Bembo, Adobe Futura and
220 dnl Bitstream Courier.
223 AC_DEFUN([GNUS_CHECK_FONTS], [
224 test "$LATEX" = t && LATEX=
225 test "$LATEX" || AC_PATH_PROGS(LATEX, latex, no)
226 AC_MSG_CHECKING(for available fonts)
227 AC_ARG_WITH(fonts,[ --with-fonts Assume all fonts required are available],[USE_FONTS="$withval"])
234 if test -z "${USE_FONTS}"; then
235 if test "${LATEX}" = no; then
239 echo '\nonstopmode\documentclass{article}\usepackage{bembo}\begin{document}\end{document}' > ${OUTPUT}
240 if ${LATEX} ${OUTPUT} </dev/null >& AC_FD_CC 2>&1 ; then
241 if test -z "${USE_FONTS}"; then
242 USE_FONTS="Adobe Bembo"
244 USE_FONTS="${USE_FONTS}, Adobe Bembo"
247 WITHOUT_FONTS_bembo='%'
249 echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{pfu}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
250 if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
251 if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1 ; then
254 if test -z "${USE_FONTS}"; then
255 USE_FONTS="Adobe Futura"
257 USE_FONTS="${USE_FONTS}, Adobe Futura"
260 WITHOUT_FONTS_pfu='%'
263 echo '\nonstopmode\documentclass{article}\begin{document}{\fontfamily{bcr}\fontsize{10pt}{10}\selectfont test}\end{document}' > ${OUTPUT}
264 if retval=`${LATEX} ${OUTPUT} </dev/null 2>& AC_FD_CC`; then
265 if echo "$retval" | grep 'Some font shapes were not available' >& AC_FD_CC 2>&1 ; then
268 if test -z "${USE_FONTS}"; then
269 USE_FONTS="Bitstream Courier"
271 USE_FONTS="${USE_FONTS}, Bitstream Courier"
274 WITHOUT_FONTS_bcr='%'
277 rm -f ${OUTPUT} ${OUTPUT}.aux ${OUTPUT}.log ${OUTPUT}.dvi
279 elif test "${USE_FONTS}" = yes ; then
281 WITHOUT_FONTS_bembo='%'
283 WITHOUT_FONTS_pfu='%'
285 WITHOUT_FONTS_bcr='%'
287 AC_SUBST(WITH_FONTS_bembo)
288 AC_SUBST(WITHOUT_FONTS_bembo)
289 AC_SUBST(WITH_FONTS_pfu)
290 AC_SUBST(WITHOUT_FONTS_pfu)
291 AC_SUBST(WITH_FONTS_bcr)
292 AC_SUBST(WITHOUT_FONTS_bcr)
293 if test -z "${USE_FONTS}" ; then
296 USE_FONTS=`echo "${USE_FONTS}" | sed 's/,\([[^,]]*\)$/ and\1/'`
297 AC_MSG_RESULT("${USE_FONTS}")
298 if test "${USE_FONTS}" = yes ; then
299 USE_FONTS='Set in Adobe Bembo, Adobe Futura and Bitstream Courier.'
300 elif test "${USE_FONTS}" = no ; then
303 USE_FONTS="Set in ${USE_FONTS}."
308 AC_DEFUN([AC_EXAMINE_PACKAGEDIR],
309 [dnl Examine PACKAGEDIR.
310 AC_EMACS_LISP(PACKAGEDIR,
312 (if (boundp (quote early-packages))\
313 (let ((dirs (delq nil (append (if early-package-load-path\
315 (if late-package-load-path\
317 (if last-package-load-path\
319 (while (and dirs (not package-dir))\
320 (if (file-directory-p (car dirs))\
321 (setq package-dir (car dirs)\
322 dirs (cdr dirs))))))\
323 (or package-dir \"\")),
326 AC_DEFUN([AC_PATH_PACKAGEDIR],
327 [dnl Check for PACKAGEDIR.
328 if test ${EMACS_FLAVOR} = xemacs; then
329 AC_MSG_CHECKING([where the XEmacs package is])
330 AC_ARG_WITH(packagedir,
331 [ --with-packagedir=DIR package DIR for XEmacs],
332 [if test "$withval" != yes -a -n "$withval"; then
335 AC_EXAMINE_PACKAGEDIR
337 AC_EXAMINE_PACKAGEDIR)
338 if test -z "$PACKAGEDIR"; then
339 AC_MSG_RESULT(not found)
341 AC_MSG_RESULT($PACKAGEDIR)
346 AC_SUBST(PACKAGEDIR)])
348 AC_DEFUN([AC_ADD_LOAD_PATH],
349 [dnl Check for additional load path.
351 [ --with-addpath=PATH search Emacs-Lisp libraries with PATH
352 use colons to separate directory names],
353 [if test "$withval" != yes -a -n "$withval"; then
354 AC_MSG_CHECKING([where to find the additional elisp libraries])
355 ADDITIONAL_LOAD_PATH=$withval
356 AC_MSG_RESULT($ADDITIONAL_LOAD_PATH)
358 ADDITIONAL_LOAD_PATH=)
359 AC_SUBST(ADDITIONAL_LOAD_PATH)])
361 AC_DEFUN([AC_PATH_GPG],
362 [AC_ARG_ENABLE(gpgtest,
363 AC_HELP_STRING([--disable-gpgtest=PATH], [Do not check GnuPG version]),
366 if test "x$enable_gpgtest" = "xyes"; then
369 AC_PATH_PROG(GPG, gpg)
371 AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]),
373 AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG", [Path to the GnuPG binary.])
376 dnl Check for GnuPG version requirement.
378 if test -z "$GPG" -o "x$GPG" = "xno"; then
381 if test ! -x "$GPG"; then
382 AC_MSG_WARN([GnuPG not executable, version check disabled])
386 if test "$ok" = "maybe"; then
387 AC_MSG_CHECKING(for GnuPG >= $1)
388 req_major=`echo $1 | \
389 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
390 req_minor=`echo $1 | \
391 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
392 req_micro=`echo $1 | \
393 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
394 gpg_version=`$GPG --version | grep ^gpg`
395 major=`echo $gpg_version | \
396 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
397 minor=`echo $gpg_version | \
398 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
399 micro=`echo $gpg_version | \
400 sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
401 GPG_VERSION=`echo $gpg_version | sed 's/^gpg (GnuPG) //'`
403 if test "$major" -gt "$req_major"; then
406 if test "$major" -eq "$req_major"; then
407 if test "$minor" -gt "$req_minor"; then
410 if test "$minor" -eq "$req_minor"; then
411 if test "$micro" -ge "$req_micro"; then
418 if test "$ok" = "yes"; then
420 ifelse([$2], , :, [$2])
423 AC_MSG_WARN([GnuPG must be at least version $1])
424 ifelse([$3], , :, [$3])
427 AM_CONDITIONAL(RUN_GPG_TESTS, test "$ok" = "yes")