diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-01-26 13:07:04 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-01-26 13:07:04 +0100 |
commit | 9dc31e07ac9162ee094f34db7357c2a729d29874 (patch) | |
tree | 593b9af9bfff59ef91dbe97c16f1b6977df0f8ec /objective-cl.asd | |
parent | bd6a68c9d7d2514ded9b559ccda5ccfea5aea6e8 (diff) |
Automatically build libffi when loading the system.
darcs-hash:4052b064360c7f3fea44f8360edc845540307ac3
Diffstat (limited to 'objective-cl.asd')
-rw-r--r-- | objective-cl.asd | 23 |
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) |