changeset 62112:e1aa7e2ac9e5

(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.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 06 May 2005 12:30:35 +0000
parents 0516ae13c256
children 3d6431d2d8b5
files lisp/progmodes/cmacexp.el
diffstat 1 files changed, 13 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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)