diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-01-29 18:00:59 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-01-29 18:00:59 +0100 |
commit | 64c0dae830fa3319bb31cd1cd9ec659ea1d72ef8 (patch) | |
tree | afd3e006834b5d793053e038c2314adc0894a6f9 | |
parent | e0fc12f03f6196f06faf870965ab5f4b00edab05 (diff) |
Adapt the system definition to the new directory layout.
darcs-hash:4ab511393dc6beabc22e1e121f055f4075a0f091
-rw-r--r-- | JOURNAL | 2 | ||||
-rw-r--r-- | objective-cl.asd | 25 |
2 files changed, 21 insertions, 6 deletions
@@ -222,7 +222,7 @@ management, as we could put instances into the hash tables and register finalisers for them just after they were fully created. So that's what I made the program do. One of the results is much -shorter and clearer code, but the more interestng one is a speed +shorter and clearer code, but the more interesting one is a speed improvement of around the factor 3, making 100'000 calls to NSMethodSignature#getArgumentTypeAtIndex:, which previously called MAKE-INSTANCE for each returned value, take around 10s on my machine. diff --git a/objective-cl.asd b/objective-cl.asd index 07634dc..237dc84 100644 --- a/objective-cl.asd +++ b/objective-cl.asd @@ -80,8 +80,11 @@ (defvar *objc-obj-dir*) (defclass objc-source-file (source-file) ()) +(defclass objcl-c-source-file (objc-source-file) () + (:documentation "An Objective-CL C source file")) (defmethod source-file-type ((c objc-source-file) (s module)) "m") +(defmethod source-file-type ((c objcl-c-source-file) (s module)) "c") (defmethod perform :before (o (c objc-source-file)) ;; Copy the Objective-C sources to the target directory. @@ -92,7 +95,8 @@ (enough-namestring x source-dir)) (mapcan #'(lambda (x) (directory (merge-pathnames x source-dir))) - '(#p"**/*.m" #p"**/*.h" #p"**/GNUmakefile.*" + '(#p"**/*.c" #p"**/*.m" #p"**/*.h" + #p"**/GNUmakefile.*" #p"**/*.make" #p"**/GNUmakefile" #p"**/*.in" #p"**/configure" #p"**/configure.ac" #p"libffi/**/*" #p"libffi/**/*.*")))) @@ -136,6 +140,14 @@ (directory-namestring (first files)))) files)) +#+(or) +(defmethod output-files ((o compile-op) (c objc-source-file)) + (print (list (merge-pathnames (make-pathname :directory '(:relative "Objective-C" "obj") + :type "o") + (merge-pathnames + (component-pathname (find-system "objective-cl-libobjcl")) + (component-pathname c)))))) + (defmethod output-files ((o compile-op) (c objc-source-file)) (list (merge-pathnames (make-pathname :directory '(:relative "obj") :type "o") @@ -159,8 +171,11 @@ :depends-on () :components ((:module "Objective-C" :components ((:objc-source-file "libobjcl") - (:objc-source-file "libffi_support") - (:objc-source-file "objc_support") - (:objc-source-file "objc-runtime-apple") - (:objc-source-file "objc-runtime-gnu")))) + (:objc-source-file "PyObjC/libffi_support") + (:objc-source-file "PyObjC/objc_support") + (:objc-source-file "PyObjC/objc-runtime-apple") + (:objc-source-file "PyObjC/objc-runtime-compat") + (:objc-source-file "PyObjC/objc-runtime-gnu") + (:objc-source-file "JIGS/ObjcRuntimeUtilities2") + (:objcl-c-source-file "JIGS/ObjcRuntimeUtilities")))) :serial t) |