summaryrefslogtreecommitdiff
path: root/objective-cl.asd
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-01-26 13:07:04 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-01-26 13:07:04 +0100
commit9dc31e07ac9162ee094f34db7357c2a729d29874 (patch)
tree593b9af9bfff59ef91dbe97c16f1b6977df0f8ec /objective-cl.asd
parentbd6a68c9d7d2514ded9b559ccda5ccfea5aea6e8 (diff)
Automatically build libffi when loading the system.
darcs-hash:4052b064360c7f3fea44f8360edc845540307ac3
Diffstat (limited to 'objective-cl.asd')
-rw-r--r--objective-cl.asd23
1 files changed, 13 insertions, 10 deletions
diff --git a/objective-cl.asd b/objective-cl.asd
index f399aa9..859c10f 100644
--- a/objective-cl.asd
+++ b/objective-cl.asd
@@ -93,7 +93,8 @@
(mapcan #'(lambda (x)
(directory (merge-pathnames x source-dir)))
'(#p"**/*.m" #p"**/*.h" #p"**/GNUmakefile.*"
- #p"**/*.make" #p"**/GNUmakefile"))))
+ #p"**/*.make" #p"**/GNUmakefile"
+ #p"libffi/**/*" #p"libffi/**/*.*"))))
(output-dir
(merge-pathnames #p"../../"
(directory-namestring (first (output-files o c))))))
@@ -104,15 +105,17 @@
(unless (and (probe-file output-file)
(= (file-write-date source-file)
(file-write-date output-file)))
- (with-open-file (in source-file
- :element-type '(unsigned-byte 8))
- (with-open-file (out output-file
- :direction :output
- :if-exists :supersede
- :element-type '(unsigned-byte 8))
- (loop for byte = (read-byte in nil nil)
- while byte
- do (write-byte byte out))))))))))
+ (ignore-errors ;; FIXME: We need to skip directories, so
+ ;; that IGNORE-ERRORS can go away.
+ (with-open-file (in source-file
+ :element-type '(unsigned-byte 8))
+ (with-open-file (out output-file
+ :direction :output
+ :if-exists :supersede
+ :element-type '(unsigned-byte 8))
+ (loop for byte = (read-byte in nil nil)
+ while byte
+ do (write-byte byte out)))))))))))
(defmethod perform ((o compile-op) (c objc-source-file))
(unless (or (operation-done-p o c)