link-packages.scm 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ; Copyright (c) 1993-2007 by Richard Kelsey and Jonathan Rees. See file COPYING.
  2. ; Static linker. Doesn't work very well this way (debug info is
  3. ; screwed up), so it's probably better to continue using linker.image
  4. ; instead.
  5. (define-structure linker linker-interface
  6. (open scheme-level-2
  7. compiler write-images
  8. debuginfo
  9. segments ;with-fresh-compiler-state
  10. packages
  11. packages-internal ;set-package-integrate?!
  12. names ;name->symbol
  13. scan-package ;collect-packages
  14. compile-packages ;compile-package
  15. reification
  16. closures ;make closure to pass to write-image
  17. filenames
  18. debug-data ;with-fresh-compiler-state
  19. locations
  20. tables fluids simple-signals util)
  21. (files (link link)))
  22. (define-structure reification (export reify-structures)
  23. (open scheme-level-2
  24. packages
  25. packages-internal ;?
  26. usual-macros ;find-free-names-in-syntax-rules
  27. names bindings
  28. meta-types ;usual-variable-type
  29. locations
  30. primops
  31. tables records
  32. simple-signals ;error
  33. features ;force-output
  34. util ;filter
  35. inline) ;name->extrinsic
  36. (files (link reify)))
  37. ; Database of procedure names 'n' stuff.
  38. ; (copy in env-packages.scm ...)
  39. (define-structure debuginfo debuginfo-interface
  40. (open scheme-level-2
  41. tables
  42. debug-data
  43. packages
  44. packages-internal
  45. syntactic
  46. segments ;debug-data-table
  47. features) ;make-immutable!
  48. (files (env debuginfo)))
  49. ; Mumble.
  50. (define-structure flatloading (export flatload all-file-names)
  51. (open scheme packages packages-internal filenames)
  52. (files (env flatload)))
  53. (define-structure loadc (export load-configuration
  54. ;; (structure-ref :syntax)
  55. )
  56. (open scheme
  57. environments ; *structure-ref
  58. syntactic ; $source-file-name
  59. fluids)
  60. (files (link loadc)))
  61. ; Everything.
  62. (define-structure link-config (export ) ;dummy structure...
  63. (open scheme-level-2
  64. linker
  65. defpackage
  66. types
  67. analysis
  68. loadc
  69. flatloading
  70. interfaces
  71. simple-signals) ;warn
  72. ;; (files (alt init-defpackage.scm)) -- or (env ...), depending
  73. )