(in-package "MAKE")

;;; File: filename-extensions.lisp
;;; Make the following list of cons a bit more accessible...
;;; 
;;; *filename-extensions* is a cons of the source and binary extensions.

(defvar *filename-extensions*
  (car '(#+(and Symbolics Lispm)              ("lisp" . "bin")
         #+(and dec common vax (not ultrix))  ("LSP"  . "FAS")
         #+(and dec common vax ultrix)        ("lsp"  . "fas")
         #+KCL                                ("lsp"  . "o")
         #+IBCL                               ("lsp"  . "o")
         #+Xerox                              ("lisp" . "dfasl")
	 ;; Lucid on Silicon Graphics
	 #+(and Lucid MIPS)                   ("lisp" . "mbin")   
	 ;; the entry for (and lucid hp300) must precede
	 ;; that of (and lucid mc68000) for hp9000/300's running lucid,
	 ;; since *features* on hp9000/300's also include the :mc68000
	 ;; feature.
	 #+(and lucid hp300)                  ("lisp" . "6bin")
         #+(and Lucid MC68000)                ("lisp" . "lbin")
         #+(and Lucid Vax)                    ("lisp" . "vbin")   
         #+(and Lucid Prime)                  ("lisp" . "pbin")
         #+(and Lucid SUNRise)                ("lisp" . "sbin")
         #+(and Lucid SPARC)                  ("lisp" . "sbin")
         #+(and Lucid :IBM-RT-PC)              ("lisp" . "bbin")
	 ;; PA is Precision Architecture, HP's 9000/800 RISC cpu
	 #+(and Lucid PA)                     ("lisp" . "hbin")   
	 #+:aclpc                             ("lsp" . "fsl")
         #+excl                               ("cl"   . "fasl")
	 ;; JB99
	 #+allegro                            ("lisp" . "fasl")
         #+:CMU                               ("lisp" . "fasl")
	 #+PRIME                              ("lisp" . "pbin")
         #+HP                                 ("l"    . "b")
         #+TI ("lisp" . #.(string (si::local-binary-file-type)))
         #+:gclisp                            ("LSP"  . "F2S")
         #+pyramid                            ("clisp" . "o")
         #+:coral                             ("lisp" . "fasl")
	 ;; Harlequin LispWorks on Mips M2000
	 #+(and :mips :lispworks) 	      ("lisp" . "mfasl")
	 #+(and :sun4 :lispworks)             ("lisp" . "wfasl")
;;;;;; FOLLOWING CHANGED FOR LISPWORKS FOR PC and LWW4.0.1: JB99
;;;;;; AND FOR UNICODE LISPWORKS for LWW4.5+ : JB2005
;;;;;; AND FOR LW Personal Edition, LW6 : JB2015
	 #+(and 
	    :lispworks4 :win32 (not (or :mips :sun4)))("lisp" . "fsl")
	 #+(and 
	    :lispworks4 (not :win32) (not (or :mips :sun4)))("lisp" . "ufsl")
	    #+(and :lispworks5 (not (or :mips :sun4))) ("lisp" . "ofasl")
	    #+(and :lispworks :lispworks-personal-edition :macosx :lispworks-64bit)("lisp" . "64xfasl") 
	    #+(and :lispworks :lispworks-personal-edition :macosx :lispworks-32bit)("lisp" . "xfasl")    
	    #+(and :lispworks :lispworks-personal-edition :win32 :lispworks-32bit)("lisp" . "ofasl")
	    #+(and :lispworks :lispworks-personal-edition :win32 :lispworks-64bit)("lisp" . "64ofasl") 
	    #+(and :lispworks :lispworks-personal-edition :linux-x86 :lispworks-32bit)("lisp" . "ufasl") 
	    #+(and :lispworks :lispworks-personal-edition :linux-x86 :lispworks-64bit)("lisp" . "64ufasl") 
	 ;; Otherwise,
	    ("lisp" . "lbin")))
  "Filename extensions for Common Lisp. A cons of the form
   (Source-Extension . Binary-Extension). If the system is 
   unknown (as in *features* not known), defaults to lisp and lbin.")
