diff options
-rw-r--r-- | library/library.ml | 6 | ||||
-rw-r--r-- | library/library.mli | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/library/library.ml b/library/library.ml index e692a5761..82c1b600d 100644 --- a/library/library.ml +++ b/library/library.ml @@ -554,6 +554,9 @@ let (in_require, out_require) = export_function = export_require; classify_function = (fun (_,o) -> Anticipate o) } +let xml_require = ref (fun d -> ()) +let set_xml_require f = xml_require := f + let require_library spec qidl export = (* if sections_are_opened () && Options.verbose () then @@ -571,7 +574,8 @@ let require_library spec qidl export = end else add_anonymous_leaf (in_require (modrefl,Some export)); - add_frozen_state () + if !Options.xml_export then List.iter !xml_require modrefl; + add_frozen_state () let require_library_from_file spec idopt file export = let modref = rec_intern_library_from_file idopt file in diff --git a/library/library.mli b/library/library.mli index e02cb135c..f7937fc07 100644 --- a/library/library.mli +++ b/library/library.mli @@ -51,6 +51,8 @@ val require_library : val require_library_from_file : bool option -> identifier option -> System.physical_path -> bool -> unit +val set_xml_require : (dir_path -> unit) -> unit + (*s [save_library_to s f] saves the current environment as a library [s] in the file [f]. *) |