#11 dependencies fail with :file kind components

closed-fixed
defsystem (13)
5
2004-02-01
2000-07-13
Tunc Simsek
No

Here is an example where dependencies fail:

%more 1.lisp
(eval-when (load)
(format t "~%*** Loading 1.lisp"))
(eval-when (compile)
(format t "~%*** Compiling 1.lisp"))
(eval-when (eval)
(format t "~%*** Evaling 1.lisp"))

%more 2.lisp
(eval-when (load)
(format t "~%*** Loading 2.lisp"))
(eval-when (compile)
(format t "~%*** Compiling 2.lisp"))
(eval-when (eval)
(format t "~%*** Evaling 2.lisp"))

%more foo.system
(require "MAKE" "defsystem.lisp")

(mk:defsystem foo
:source-extension "lisp"
:components
((:file "1")
(:file "2"
:depends-on ("1"))))

(defun my-make ()
(mk:operate-on-system 'foo
'load
:minimal-load t
:verbose t
:compile-during-load t))

Now, with CMUCL:

* (lisp-implementation-version)

"99.06.14"
* (lisp-implementation-type)

"CMU Common Lisp"
* (machine-type)

"SPARCstation"

* (load "foo.system")

; Loading #p"/home/eclair3/varaiya/simsek/1/foo.system".
;; Loading #p"/home/eclair3/varaiya/simsek/1/defsystem.lisp".
Converted CANONICALIZE-MODULE-NAME.
Converted DEFMODULE.
Converted MODULE-FILES.
Converted PROVIDE.
Converted REQUIRE.

* (my-make)

; Loading #p"/home/eclair3/varaiya/simsek/1/foo.system".

; - Loading defsystem "foo" [GC threshold exceeded with 3,358,744 bytes in use. Commencing GC.]
[GC completed with 2,577,456 bytes retained and 781,288 bytes freed.]
[GC will next occur when at least 4,577,456 bytes are in use.]

; - Loading binary file "1.sparcf"
; Loading #p"/home/eclair3/varaiya/simsek/1/1.sparcf".

*** Loading 1.lisp
; - Loading binary file "2.sparcf"
; Loading #p"/home/eclair3/varaiya/simsek/1/2.sparcf".

*** Loading 2.lisp
; - Providing system foo
(#<FILE: 2> #<FILE: 1>)

Then I externally touch 1.lisp:

* (my-make)

; - Loading defsystem "foo"
; - Compiling source file "1.lisp"
Python version 1.0, VM version SPARCstation/Solaris 2 on 13 JUL 0 12:15:37 pm.
Compiling: /home/eclair3/varaiya/simsek/1/1.lisp 13 JUL 0 12:15:32 pm

Byte Compiling Top-Level Form:

1.sparcf written.
Compilation finished in 0:00:01.
*** Compiling 1.lisp
; - Loading binary file "1.sparcf"
; Loading #p"/home/eclair3/varaiya/simsek/1/1.sparcf".

*** Loading 1.lisp
; - Providing system foo
(#<FILE: 1>)

There it is, 2.lisp should (imo) have been recompiled.

Discussion

  • Sam Steingold

    Sam Steingold - 2000-09-04
    • assigned_to: nobody --> marcoxa
     
  • Marco Antoniotti

    • status: open --> closed-fixed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks