diff options
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/cmacexp.el | 21 |
2 files changed, 18 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6e1d5845581..372298cf5fa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2005-05-06 Eli Zaretskii <eliz@gnu.org> + * progmodes/cmacexp.el (c-macro-preprocessor): Use locate-file to + look for the preprocessor with exec-suffixes. If not found in + standard places, look in exec-path. Remove most of the tests that + used system-type. + * loadup.el: Load jka-cmpr-hook instead of jka-comp-hook. * jka-compr.el (jka-compr-uninstall): Add autoload cookie. diff --git a/lisp/progmodes/cmacexp.el b/lisp/progmodes/cmacexp.el index 28d988961a6..65eea658d4e 100644 --- a/lisp/progmodes/cmacexp.el +++ b/lisp/progmodes/cmacexp.el @@ -108,18 +108,23 @@ :group 'c-macro) (defcustom c-macro-preprocessor - ;; Cannot rely on standard directory on MS-DOS to find CPP. In - ;; fact, cannot rely on having cpp.exe, either, in latest GCC - ;; versions. - (cond ((eq system-type 'ms-dos) "gcc -E -C -o - -") - ;; Solaris has it in an unusual place. + (cond ;; Solaris has it in an unusual place. ((and (string-match "^[^-]*-[^-]*-\\(solaris\\|sunos5\\)" system-configuration) (file-exists-p "/opt/SUNWspro/SC3.0.1/bin/acomp")) "/opt/SUNWspro/SC3.0.1/bin/acomp -C -E") - ((file-exists-p "/usr/ccs/lib/cpp") "/usr/ccs/lib/cpp -C") - ((memq system-type '(darwin berkeley-unix)) "gcc -E -C -") - (t "/lib/cpp -C")) + ((locate-file "/usr/ccs/lib/cpp" + '("/") exec-suffixes 'file-executable-p) + "/usr/ccs/lib/cpp -C") + ((locate-file "/lib/cpp" + '("/") exec-suffixes 'file-executable-p) + "/lib/cpp -C") + ;; On some systems, we cannot rely on standard directories to + ;; find CPP. In fact, we cannot rely on having cpp, either, + ;; in some GCC versions. + ((locate-file "cpp" exec-path exec-suffixes 'file-executable-p) + "cpp -C") + (t "gcc -E -C -o - -")) "The preprocessor used by the cmacexp package. If you change this, be sure to preserve the `-C' (don't strip comments) |