Changeset 14117
 Timestamp:
 08/18/12 10:49:15 (8 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/abcl/src/org/armedbear/lisp/compilesystem.lisp
r14108 r14117 91 91 92 92 (defun removemulticombosymbols (combos) 93 (removeif (lambda (x) 94 (< 1 (count x combos :key #'second))) 95 combos 96 :key #'second)) 93 (princ "; Removing multihomed symbols") 94 (let ((symhash (makehashtable :size (* 2 (length combos))))) 95 (dolist (combo combos) 96 (incf (gethash (second combo) symhash 0))) 97 (print (removeifnot (lambda (x) 98 (< 1 (gethash x symhash))) 99 combos 100 :key #'second)) 101 (removeif (lambda (x) 102 (< 1 (gethash x symhash))) 103 combos 104 :key #'second))) 97 105 98 106 (defun setequal (set1 set2 &key test) … … 119 127 (pushnew (first symbolfileset) 120 128 (cdr (assoc (cdr symbolfileset) filesetsymbols 121 :test (lambda (x y) (setequal x y :test #'string=)))))) 129 :test (lambda (x y) 130 (setequal x y :test #'string=)))))) 122 131 filesetsymbols)) 123 132 … … 164 173 (defun generateautoloads (symbolfilespathspec) 165 174 (flet ((filtercombos (combos) 166 (removeif (lambda (x) 167 ;; exclude the symbols from the files 168 ;; below: putting autoloaders on some of 169 ;; the symbols conflicts with the bootstrapping 170 ;; Primitives which have been defined Javaside 171 (member x '( ;; function definitions to be excluded 172 "fdefinition" "earlydefuns" 173 "require" "signal" 174 "extensiblesequencesbase" "restart" 175 "extensiblesequences" 176 ;; macro definitions to be excluded 177 "macros" "backquote" "precompiler") 178 :test #'string=)) 179 (removemulticombosymbols combos) 180 :key #'first)) 175 (removemulticombosymbols 176 (removeif (lambda (x) 177 ;; exclude the symbols from the files 178 ;; below: putting autoloaders on some of 179 ;; the symbols conflicts with the bootstrapping 180 ;; Primitives which have been defined Javaside 181 (member x '( ;; function definitions to be excluded 182 "fdefinition" "earlydefuns" 183 "require" "signal" "restart" 184 185 ;; extensible sequences override 186 ;; lots of default functions; 187 ;; javacollections implements 188 ;; extensible sequences 189 "extensiblesequencesbase" 190 "extensiblesequences" "javacollections" 191 192 ;; macro definitions to be excluded 193 "macros" ;; "backquote" 194 "precompiler") 195 :test #'string=)) 196 combos 197 :key #'first))) 181 198 (symbolspathspec (filespec) 182 199 (mergepathnames filespec symbolfilespathspec))) 183 200 (let ((funcs (filtercombos (loadcombos (symbolspathspec "*.funcs")))) 184 (macs (filtercombos (loadcombos (symbolspathspec "*.macs"))))) 201 (macs (filtercombos (loadcombos (symbolspathspec "*.macs")))) 202 (exps (filtercombos (loadcombos (symbolspathspec "*.exps"))))) 185 203 (withopenfile (f (symbolspathspec "autoloadsgen.lisp") 186 204 :direction :output :ifdoesnotexist :create … … 199 217 ;; vital to the correct operation of the base system. 200 218 201 (let ((*package* (findpackage package))202 externals)203 (doexternalsymbols (sym package204 externals)205 (when(eq (symbolpackage sym)206 *package*)207 (push sym externals)))219 (let* ((*package* (findpackage package)) 220 (allexportedsymbols 221 (removeduplicates (mapcar #'second exps))) 222 (externals (removeifnot (lambda (sym) 223 (eq (symbolpackage sym) 224 *package*)) 225 allexportedsymbols))) 208 226 (when externals 209 227 (writeline ";; EXPORTS" f)
Note: See TracChangeset
for help on using the changeset viewer.