gtk-screen: Eliminate compile-system.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 20 Nov 2013 01:00:16 +0000 (18:00 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 20 Nov 2013 01:00:16 +0000 (18:00 -0700)
src/gtk-screen/compile.scm

index d6db56c99ac1787685948cd24dc7e7146c667243..e86b782e9bfbf144230a26a5dfb59fe05e96082e 100644 (file)
@@ -2,9 +2,20 @@
 
 ;;;; Compile the Gtk-Screen system
 
-(fluid-let ((load/suppress-loading-message? #t))
-  (load-option 'CREF)
-  ;; DISPLAY need not be set.
-  (ignore-errors (lambda () (load-option 'GTK))))
+(load-option 'CREF)
+(load-option 'SOS)
+(load-option 'GTK)
 
-(compile-system "gtk-screen" (directory-pathname (current-load-pathname)))
\ No newline at end of file
+(with-working-directory-pathname (directory-pathname (current-load-pathname))
+  (lambda ()
+    (if (name->package '(EDWIN SCREEN GTK-SCREEN))
+       (error "The (EDWIN SCREEN GTK-SCREEN) package already exists.")
+       (let ((package-set (package-set-pathname "gtk-screen")))
+         (if (not (file-modification-time<? "gtk-screen.pkg" package-set))
+             (cref/generate-trivial-constructor "gtk-screen"))
+         (construct-packages-from-file (fasload package-set))))
+
+    (let ((env (->environment '(edwin screen gtk-screen))))
+      (compile-file "gtk-screen" '() env)
+      (compile-file "gtk-faces"  '() env))
+    (cref/generate-constructors "gtk-screen" 'ALL)))
\ No newline at end of file