Changeset 15365


Ignore:
Timestamp:
May 17, 2012, 4:28:02 PM (8 years ago)
Author:
rme
Message:

When building a standalone IDE, don't prepend the kernel to the heap
image file. Instead, write the heap image file to
.../Contents/Resources?/ccl/. The lisp kernel, which goes to the usual
place (.../Contents/MacOS/) can find the heap image there.

In the app store version, the ccl: logical host points to
Resources/ccl also. For now, leave in the special case in
init-ccl-directory-for-ide (in app-delegate.lisp), that makes ccl:
refer to the directory containing the application bundle.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/start.lisp

    r15350 r15365  
    3232  (let* ((path (ccl::ccl-directory))
    3333         (dir (pathname-directory path)))
    34     (if (equalp (last dir 2) '("Contents" "MacOS"))
     34    (if (equalp (last dir 3) '("Contents" "Resources" "ccl"))
    3535        (make-pathname :directory (butlast dir 3))
    3636        path)))
     
    137137  #-cocotron
    138138  (ccl::touch bundle-path)
    139 
    140   (let ((image-file (make-pathname :name (ccl::standard-kernel-name) :type nil :version nil
    141                                    :defaults (merge-pathnames (format nil";Contents;~a;" #+darwin-target "MacOS" #+cocotron "Windows")  bundle-path))))
     139  (let ((kernel-file (make-pathname :name (ccl::standard-kernel-name)
     140                                    :type nil
     141                                    :version nil
     142                                    :defaults (merge-pathnames
     143                                               #+darwin-target
     144                                               ";Contents;MacOS;"
     145                                               #+cocotron
     146                                               ";Contents;Windows;"
     147                                               bundle-path)))
     148        (image-file (make-pathname :name (ccl::standard-kernel-name)
     149                                   :type "image"
     150                                   :version nil
     151                                   :defaults (merge-pathnames
     152                                              ";Contents;Resources;ccl;"
     153                                              bundle-path))))
    142154    (format *error-output* "~2%Saving application to ~a~2%" (truename bundle-path))
    143155    (force-output *error-output*)
    144156    (ensure-directories-exist image-file)
     157    (ccl:copy-file (ccl::kernel-path) kernel-file :if-exists :supersede
     158                   :preserve-attributes t)
    145159    (save-application image-file
    146                       :prepend-kernel t
    147160                      :application-class 'cocoa-ide
    148161                      #+windows-target #+windows-target
Note: See TracChangeset for help on using the changeset viewer.