Changeset 10485


Ignore:
Timestamp:
Aug 16, 2008, 1:03:08 AM (11 years ago)
Author:
gb
Message:

Account for the possibility that the default "make" program may not
understand -C.

Note the (possible) "peer" of the target platform, and watch
for conflicts related to the peer's kernel/image when doing
svn update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/compile-ccl.lisp

    r10254 r10485  
    473473    (:solarisx8664 "solarisx64")))
    474474
    475 (defparameter *known-optional-features* '(:lock-accouting :count-gf-calls :monitor-futex-wait))
     475;;; If we distribute (e.g.) 32- and 64-bit versions for the same
     476;;; machine and OS in the same svn directory, return the name of the
     477;;; peer backend, or NIL. For example., the peer of :linuxppc64 is
     478;;; :linuxppc32.  Note that this may change over time.
     479;;; Return NIL if the concept doesn't apply.
     480(defun peer-platform (&optional (target (backend-name *host-backend*)))
     481  (let* ((pairs '((:darwinppc32 . :darwinppc64)
     482                  (:linuxppc32 . :linuxppc64)
     483                  (:darwinx8632 . :darwinx8664))))
     484    (or (cdr (assoc target pairs))
     485        (car (rassoc target pairs)))))
     486
     487(defun make-program (&optional (target (backend-name *host-backend*)))
     488  ;; The Solaris "make" program is too clever to understand -C, so
     489  ;; use GNU make (installed as "gmake").
     490  (case target
     491    (:solarisx8664 "gmake")
     492    (t "make")))
     493
     494(defparameter *known-optional-features* '(:count-gf-calls :monitor-futex-wait))
    476495(defvar *build-time-optional-features* nil)
    477496
     
    510529                                          (status exit-code)
    511530                                          (external-process-status
    512                                            (run-program "make"
     531                                           (run-program (make-program)
    513532                                                        (list "-k" "-C"
    514533                                                              (format nil "lisp-kernel/~a"
     
    518537                                                              (format nil "~d" (1+ (cpu-count))))
    519538                                                        :output s
    520                                                         :error s))
     539                                                        :error :output))
    521540                                        (if (and (eq :exited status) (zerop exit-code))
    522541                                          (progn
     
    608627                   (updated ())
    609628                   (merged ())
    610                    (binaries (list (standard-kernel-name) (standard-image-name ))))
     629                   (binaries (list (standard-kernel-name) (standard-image-name )))
     630                   (peer (peer-platform)))
     631              (when peer
     632                (push (standard-kernel-name peer) binaries)
     633                (push (standard-image-name peer) binaries))
    611634              (flet ((svn-revert (string)
    612635                       (multiple-value-bind (status exit-code)
Note: See TracChangeset for help on using the changeset viewer.