forked from Moonchild/fancy-build
use symbols for unique-key; tell conspack to intern them
This commit is contained in:
parent
28c5385531
commit
a1945220d2
@ -65,7 +65,7 @@
|
|||||||
(setf (slot-value b 'input-files) (slot-value b 'obj-files))
|
(setf (slot-value b 'input-files) (slot-value b 'obj-files))
|
||||||
(setf (slot-value b 'output-files) (list (slot-value b 'target-binary)))
|
(setf (slot-value b 'output-files) (list (slot-value b 'target-binary)))
|
||||||
(setf (slot-value b 'pretty-name) (slot-value b 'target-binary))
|
(setf (slot-value b 'pretty-name) (slot-value b 'target-binary))
|
||||||
(setf (slot-value b 'unique-key) (cons "c-binary-buildable" (cons (slot-value b 'target-binary) (slot-value b 'obj-files)))))
|
(setf (slot-value b 'unique-key) (cons 'c-binary-buildable (cons (slot-value b 'target-binary) (slot-value b 'obj-files)))))
|
||||||
|
|
||||||
(defmethod do-build ((b c-binary-buildable))
|
(defmethod do-build ((b c-binary-buildable))
|
||||||
(runp (format nil "cc -o ~a ~{~a~^ ~}" (slot-value b 'target-binary) (slot-value b 'obj-files))))
|
(runp (format nil "cc -o ~a ~{~a~^ ~}" (slot-value b 'target-binary) (slot-value b 'obj-files))))
|
||||||
@ -74,9 +74,7 @@
|
|||||||
(setf (slot-value b 'input-files) (list (slot-value b 'source-file)))
|
(setf (slot-value b 'input-files) (list (slot-value b 'source-file)))
|
||||||
(setf (slot-value b 'output-files) (list (slot-value b 'obj-file)))
|
(setf (slot-value b 'output-files) (list (slot-value b 'obj-file)))
|
||||||
(setf (slot-value b 'pretty-name) (slot-value b 'source-file))
|
(setf (slot-value b 'pretty-name) (slot-value b 'source-file))
|
||||||
; conspack doesn't automatically intern symbols so we have to use "c-source-buildable" instead of 'c-source-buildable
|
(setf (slot-value b 'unique-key) (list 'c-source-buildable (slot-value b 'obj-file) (slot-value b 'source-file))))
|
||||||
; (because uninterned symbols aren't equal to anything)
|
|
||||||
(setf (slot-value b 'unique-key) (list "c-source-buildable" (slot-value b 'obj-file) (slot-value b 'source-file))))
|
|
||||||
|
|
||||||
(defmethod do-build ((b c-source-buildable))
|
(defmethod do-build ((b c-source-buildable))
|
||||||
(ensure-directories-exist (directory-namestring (slot-value b 'obj-file)))
|
(ensure-directories-exist (directory-namestring (slot-value b 'obj-file)))
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
:element-type '(unsigned-byte 8))
|
:element-type '(unsigned-byte 8))
|
||||||
(let ((buf (make-array (file-length fp) :element-type '(unsigned-byte 8))))
|
(let ((buf (make-array (file-length fp) :element-type '(unsigned-byte 8))))
|
||||||
(read-sequence buf fp)
|
(read-sequence buf fp)
|
||||||
(setf *global-cache* (conspack:decode buf)))))
|
(setf *global-cache*
|
||||||
|
(conspack:with-interning () (conspack:decode buf))))))
|
||||||
|
|
||||||
(load "fancy.build")
|
(load "fancy.build")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user