X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=mmm-mode-0.4.8%2Facinclude.m4;fp=mmm-mode-0.4.8%2Facinclude.m4;h=e02262f90e3c7f5fdde79118f03d4ec09a79bdaf;hb=c79022f0450cd093c456a42b8473686e3b523db7;hp=0000000000000000000000000000000000000000;hpb=5909fea6b8ad5b95d9af7cad6824f11d944bdfd6;p=emacs-init.git diff --git a/mmm-mode-0.4.8/acinclude.m4 b/mmm-mode-0.4.8/acinclude.m4 new file mode 100644 index 0000000..e02262f --- /dev/null +++ b/mmm-mode-0.4.8/acinclude.m4 @@ -0,0 +1,165 @@ +dnl +dnl Execute arbitrary emacs lisp +dnl +AC_DEFUN(AC_EMACS_LISP, [ +elisp="$2" +if test -z "$3"; then + AC_MSG_CHECKING(for $1) +fi +AC_CACHE_VAL(EMACS_cv_SYS_$1,[ + OUTPUT=./conftest-$$ + 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 + ${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 + retval=`cat ${OUTPUT}` + echo "=> ${retval}" >& AC_FD_CC 2>&1 + rm -f ${OUTPUT} + EMACS_cv_SYS_$1=$retval +]) +$1=${EMACS_cv_SYS_$1} +if test -z "$3"; then + AC_MSG_RESULT($$1) +fi +]) + +AC_DEFUN(AC_XEMACS_P, [ + AC_MSG_CHECKING([if $EMACS is really XEmacs]) + AC_EMACS_LISP(xemacsp,(if (string-match \"XEmacs\" emacs-version) \"yes\" \"no\") ,"noecho") + XEMACS=${EMACS_cv_SYS_xemacsp} + EMACS_FLAVOR=emacs + if test "$XEMACS" = "yes"; then + EMACS_FLAVOR=xemacs + fi + AC_MSG_RESULT($XEMACS) + AC_SUBST(XEMACS) + AC_SUBST(EMACS_FLAVOR) +]) + +AC_DEFUN(AC_PATH_LISPDIR, [ + AC_XEMACS_P + if test "$prefix" = "NONE"; then + AC_MSG_CHECKING([prefix for your Emacs]) + AC_EMACS_LISP(prefix,(expand-file-name \"..\" invocation-directory),"noecho") + prefix=${EMACS_cv_SYS_prefix} + AC_MSG_RESULT($prefix) + fi + AC_ARG_WITH(lispdir, --with-lispdir Where to install lisp files, lispdir=${withval}) + AC_MSG_CHECKING([where .elc files should go]) + if test -z "$lispdir"; then + dnl Set default value + theprefix=$prefix + if test "x$theprefix" = "xNONE"; then + theprefix=$ac_default_prefix + fi + lispdir="\$(datadir)/${EMACS_FLAVOR}/site-lisp" + for thedir in share lib; do + potential= + if test -d ${theprefix}/${thedir}/${EMACS_FLAVOR}/site-lisp; then + lispdir="\$(prefix)/${thedir}/${EMACS_FLAVOR}/site-lisp" + break + fi + done + fi + AC_MSG_RESULT($lispdir) + AC_SUBST(lispdir) +]) + +dnl +dnl Determine the emacs version we are running. +dnl Automatically substitutes @EMACS_VERSION@ with this number. +dnl +AC_DEFUN(AC_EMACS_VERSION, [ +AC_MSG_CHECKING(for emacs version) +AC_EMACS_LISP(version,(and (boundp 'emacs-major-version) (format \"%d.%d\" emacs-major-version emacs-minor-version)),"noecho") + +EMACS_VERSION=${EMACS_cv_SYS_version} +AC_SUBST(EMACS_VERSION) +AC_MSG_RESULT(${EMACS_VERSION}) +]) + +dnl +dnl Determine whether the specified version of Emacs supports packages +dnl or not. Currently, only XEmacs 20.3 does, but this is a general +dnl check. +dnl +AC_DEFUN(AC_EMACS_PACKAGES, [ +AC_ARG_WITH(package-dir, --with-package-dir Configure as a XEmacs package in directory, [ EMACS_PACKAGE_DIR="${withval}"]) +if test -n "$EMACS_PACKAGE_DIR"; then + if test "$prefix" != "NONE"; then + AC_MSG_ERROR([--with-package-dir and --prefix are mutually exclusive]) + fi + dnl Massage everything to use $(prefix) correctly. + prefix=$EMACS_PACKAGE_DIR + datadir='$(prefix)/etc/w3' + infodir='$(prefix)/info' + lispdir='$(prefix)/lisp/w3' +fi +AC_SUBST(EMACS_PACKAGE_DIR) +]) + +dnl +dnl Check whether a function exists in a library +dnl All '_' characters in the first argument are converted to '-' +dnl +AC_DEFUN(AC_EMACS_CHECK_LIB, [ +if test -z "$3"; then + AC_MSG_CHECKING(for $2 in $1) +fi +library=`echo $1 | tr _ -` +AC_EMACS_LISP($1,(progn (fmakunbound '$2) (condition-case nil (progn (require '$library) (fboundp '$2)) (error (prog1 nil (message \"$library not found\"))))),"noecho") +if test "${EMACS_cv_SYS_$1}" = "nil"; then + EMACS_cv_SYS_$1=no +fi +if test "${EMACS_cv_SYS_$1}" = "t"; then + EMACS_cv_SYS_$1=yes +fi +HAVE_$1=${EMACS_cv_SYS_$1} +AC_SUBST(HAVE_$1) +if test -z "$3"; then + AC_MSG_RESULT($HAVE_$1) +fi +]) + +dnl +dnl Check whether a variable exists in a library +dnl All '_' characters in the first argument are converted to '-' +dnl +AC_DEFUN(AC_EMACS_CHECK_VAR, [ +AC_MSG_CHECKING(for $2 in $1) +library=`echo $1 | tr _ -` +AC_EMACS_LISP($1,(progn (makunbound '$2) (condition-case nil (progn (require '$library) (boundp '$2)) (error nil))),"noecho") +if test "${EMACS_cv_SYS_$1}" = "nil"; then + EMACS_cv_SYS_$1=no +fi +HAVE_$1=${EMACS_cv_SYS_$1} +AC_SUBST(HAVE_$1) +AC_MSG_RESULT($HAVE_$1) +]) + +dnl +dnl Perform sanity checking and try to locate the custom and widget packages +dnl +AC_DEFUN(AC_CHECK_CUSTOM, [ +AC_MSG_CHECKING(for acceptable custom library) +AC_CACHE_VAL(EMACS_cv_ACCEPTABLE_CUSTOM,[ +AC_EMACS_CHECK_LIB(widget,widget-convert-text,"noecho") +AC_EMACS_CHECK_LIB(wid_edit,widget-convert-text,"noecho") +if test "${HAVE_widget}" = "yes"; then + EMACS_cv_ACCEPTABLE_CUSTOM=yes +else + if test "${HAVE_wid_edit}" != "no"; then + EMACS_cv_ACCEPTABLE_CUSTOM=yes + else + EMACS_cv_ACCEPTABLE_CUSTOM=no + fi +fi +if test "${EMACS_cv_ACCEPTABLE_CUSTOM}" = "yes"; then + AC_EMACS_LISP(widget_dir,(file-name-directory (locate-library \"widget\")),"noecho") + EMACS_cv_ACCEPTABLE_CUSTOM=$EMACS_cv_SYS_widget_dir +fi +]) + AC_ARG_WITH(custom, --with-custom Specify where to find the custom package, [ EMACS_cv_ACCEPTABLE_CUSTOM=`( cd $withval && pwd || echo "$withval" ) 2> /dev/null` ]) + CUSTOM=${EMACS_cv_ACCEPTABLE_CUSTOM} + AC_SUBST(CUSTOM) + AC_MSG_RESULT("${CUSTOM}") +]) +