# HG changeset patch # User Eli Zaretskii # Date 1115382635 0 # Node ID e1aa7e2ac9e5df733ae6431c052048b63da0b831 # Parent 0516ae13c256101300354d0621ba9d553267a6b1 (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. diff -r 0516ae13c256 -r e1aa7e2ac9e5 lisp/progmodes/cmacexp.el --- a/lisp/progmodes/cmacexp.el Fri May 06 11:29:57 2005 +0000 +++ b/lisp/progmodes/cmacexp.el Fri May 06 12:30:35 2005 +0000 @@ -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)