diff options
| author | Pierre-Marie Pédrot | 2021-02-28 12:58:44 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2021-02-28 12:58:44 +0100 |
| commit | ef22a5aaf1728d840341d31befd67dd90c5b2e0e (patch) | |
| tree | 1090422c9d0d9b8ae16c9ff2083dcf56f2668250 /vernac | |
| parent | 7b326354b32868750b3e3ce99b8dc9a3377909ba (diff) | |
| parent | 94319a520e7df0713942c2caada43214b49ed19b (diff) | |
Merge PR #13853: Delay the dynamic linking of native-code libraries until native_compute is called.
Ack-by: ejgallego
Reviewed-by: ppedrot
Diffstat (limited to 'vernac')
| -rw-r--r-- | vernac/library.ml | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/vernac/library.ml b/vernac/library.ml index 8a9b1fd68d..cc9e3c3c44 100644 --- a/vernac/library.ml +++ b/vernac/library.ml @@ -155,17 +155,13 @@ let library_is_loaded dir = let register_loaded_library m = let libname = m.libsum_name in - let link () = - let dirname = Filename.dirname (library_full_filename libname) in - let prefix = Nativecode.mod_uid_of_dirpath libname ^ "." in - let f = prefix ^ "cmo" in - let f = Dynlink.adapt_filename f in - Nativelib.link_library ~prefix ~dirname ~basename:f - in let rec aux = function | [] -> - let () = if Flags.get_native_compiler () then link () in - [libname] + if Flags.get_native_compiler () then begin + let dirname = Filename.dirname (library_full_filename libname) in + Nativelib.enable_library dirname libname + end; + [libname] | m'::_ as l when DirPath.equal m' libname -> l | m'::l' -> m' :: aux l' in libraries_loaded_list := aux !libraries_loaded_list; |
