aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/nativelib.ml
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2015-01-13 11:46:51 +0100
committerGravatar Maxime Dénès <mail@maximedenes.fr>2015-01-13 11:48:02 +0100
commit7891caa52489dd6cabb79f7dc4a1dc7f2a079bf1 (patch)
treece882d743d6e050a23343cb49f1846c1a2e464dd /kernel/nativelib.ml
parent9231bd58d1675d25be4af35b9c2a3204b5269069 (diff)
Native compiler: if debug flag not present, remove .native files.
Diffstat (limited to 'kernel/nativelib.ml')
-rw-r--r--kernel/nativelib.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/nativelib.ml b/kernel/nativelib.ml
index 187d98fae..dd47bc06a 100644
--- a/kernel/nativelib.ml
+++ b/kernel/nativelib.ml
@@ -81,7 +81,9 @@ let call_compiler ml_filename =
let compile fn code =
write_ml_code fn code;
- call_compiler fn
+ let r = call_compiler fn in
+ if (not !Flags.debug) && Sys.file_exists fn then Sys.remove fn;
+ r
let compile_library dir code fn =
let header = mk_library_header dir in
@@ -92,7 +94,9 @@ let compile_library dir code fn =
if not (Sys.file_exists dirname) then Unix.mkdir dirname 0o755;
let fn = dirname / basename in
write_ml_code fn ~header code;
- fst (call_compiler fn)
+ let r = fst (call_compiler fn) in
+ if (not !Flags.debug) && Sys.file_exists fn then Sys.remove fn;
+ r
(* call_linker links dynamically the code for constants in environment or a *)
(* conversion test. Silently fails if the file does not exist in bytecode *)