;;;; 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