summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.nt2
-rw-r--r--asmcomp/asmlink.ml15
-rw-r--r--asmrun/.depend.nt298
-rw-r--r--bytecomp/bytelink.ml15
-rw-r--r--byterun/.depend.nt114
-rw-r--r--otherlibs/win32unix/open.c3
-rw-r--r--stdlib/headernt.c3
-rw-r--r--tools/Makefile.nt2
-rw-r--r--utils/ccomp.ml12
-rw-r--r--utils/ccomp.mli1
10 files changed, 323 insertions, 142 deletions
diff --git a/Makefile.nt b/Makefile.nt
index 0cc592ddc0..8bcbb75551 100644
--- a/Makefile.nt
+++ b/Makefile.nt
@@ -16,7 +16,7 @@ CAMLRUN=byterun\ocamlrun
INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver -I toplevel
UTILS=utils\misc.cmo utils\tbl.cmo utils\config.cmo \
- utils\clflags.cmo utils\terminfo.cmo utils\ccomp.cmo
+ utils\clflags.cmo utils\terminfo.cmo utils\ccomp.cmo utils\warnings.cmo
OPTUTILS=$(UTILS) utils\nativeint.cmo
diff --git a/asmcomp/asmlink.ml b/asmcomp/asmlink.ml
index fc2389f312..4b733913a0 100644
--- a/asmcomp/asmlink.ml
+++ b/asmcomp/asmlink.ml
@@ -176,17 +176,6 @@ let make_startup_file filename info_list =
Emit.end_assembly();
close_out oc
-let expand_libname name =
- if String.length name < 2 || String.sub name 0 2 <> "-l"
- then name
- else begin
- let libname = String.sub name 2 (String.length name - 2) ^ ext_lib in
- try
- find_in_path !load_path libname
- with Not_found ->
- libname
- end
-
let call_linker file_list startup_file =
let libname =
if !Clflags.gprofile
@@ -208,8 +197,8 @@ let call_linker file_list startup_file =
(String.concat " " (List.rev !Clflags.ccopts))
startup_file
(String.concat " " (List.rev file_list))
- (String.concat " "
- (List.map expand_libname (List.rev !Clflags.ccobjs)))
+ (String.concat " " (List.map Ccomp.expand_libname
+ (List.rev !Clflags.ccobjs)))
runtime_lib
Config.c_libraries
else
diff --git a/asmrun/.depend.nt b/asmrun/.depend.nt
index 3cdfedd2cc..d3e6b5efc1 100644
--- a/asmrun/.depend.nt
+++ b/asmrun/.depend.nt
@@ -8,22 +8,31 @@ array.obj: array.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
+callback.obj: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+compact.obj: compact.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/major_gc.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/roots.h ../byterun/weak.h
compare.obj: compare.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/str.h
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
extern.obj: extern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/reverse.h ../byterun/str.h
+ ../byterun/reverse.h
fail.obj: fail.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
- ../byterun/memory.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/roots.h ../byterun/signals.h stack.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
+ ../byterun/gc.h ../byterun/memory.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
+ stack.h ../byterun/roots.h
floats.obj: floats.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
@@ -35,23 +44,24 @@ freelist.obj: freelist.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/major_gc.h
gc_ctrl.obj: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/stacks.h ../byterun/memory.h
hash.obj: hash.c ../byterun/mlvalues.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/freelist.h ../byterun/minor_gc.h
intern.obj: intern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/reverse.h
+ ../byterun/reverse.h ../byterun/md5.h
ints.obj: ints.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/minor_gc.h
io.obj: io.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
@@ -62,17 +72,20 @@ lexing.obj: lexing.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/stacks.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/minor_gc.h
main.obj: main.c ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/sys.h
-major_gc.obj: major_gc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/roots.h
+major_gc.obj: major_gc.c ../byterun/compact.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/weak.h
md5.obj: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/md5.h \
+ ../byterun/io.h ../byterun/reverse.h
memory.obj: memory.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
@@ -87,9 +100,9 @@ misc.obj: misc.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/misc.h
obj.obj: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/minor_gc.h \
- ../byterun/prims.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/minor_gc.h ../byterun/prims.h
parsing.obj: parsing.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
@@ -100,13 +113,14 @@ printexc.obj: printexc.c ../byterun/fail.h ../byterun/misc.h \
roots.obj: roots.c ../byterun/memory.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/roots.h \
- stack.h
+ ../byterun/freelist.h ../byterun/minor_gc.h stack.h \
+ ../byterun/roots.h
signals.obj: signals.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/fail.h ../byterun/signals.h
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/fail.h ../byterun/signals.h stack.h \
+ ../byterun/sys.h
startup.obj: startup.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
@@ -116,13 +130,18 @@ str.obj: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/mlvalues.h ../byterun/fail.h
sys.obj: sys.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/instruct.h \
- ../byterun/signals.h ../byterun/stacks.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h ../byterun/sys.h
+ ../byterun/mlvalues.h ../byterun/debugger.h ../byterun/fail.h \
+ ../byterun/instruct.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.obj: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
+weak.obj: weak.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
alloc.d.obj: alloc.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
@@ -133,22 +152,31 @@ array.d.obj: array.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
../byterun/minor_gc.h
+callback.d.obj: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+compact.d.obj: compact.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/major_gc.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/roots.h ../byterun/weak.h
compare.d.obj: compare.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/str.h
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
extern.d.obj: extern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/reverse.h ../byterun/str.h
+ ../byterun/reverse.h
fail.d.obj: fail.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
- ../byterun/memory.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/roots.h ../byterun/signals.h stack.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
+ ../byterun/gc.h ../byterun/memory.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
+ stack.h ../byterun/roots.h
floats.d.obj: floats.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
@@ -160,23 +188,24 @@ freelist.d.obj: freelist.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/major_gc.h
gc_ctrl.d.obj: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/stacks.h ../byterun/memory.h
hash.d.obj: hash.c ../byterun/mlvalues.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/freelist.h ../byterun/minor_gc.h
intern.d.obj: intern.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/reverse.h
+ ../byterun/reverse.h ../byterun/md5.h
ints.d.obj: ints.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/minor_gc.h
io.d.obj: io.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
@@ -187,17 +216,20 @@ lexing.d.obj: lexing.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/stacks.h ../byterun/memory.h \
../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h
+ ../byterun/minor_gc.h
main.d.obj: main.c ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/sys.h
-major_gc.d.obj: major_gc.c ../byterun/config.h ../byterun/../config/m.h \
- ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
- ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/roots.h
+major_gc.d.obj: major_gc.c ../byterun/compact.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/weak.h
md5.d.obj: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/md5.h \
+ ../byterun/io.h ../byterun/reverse.h
memory.d.obj: memory.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
@@ -212,9 +244,9 @@ misc.d.obj: misc.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/misc.h
obj.d.obj: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/memory.h ../byterun/gc.h ../byterun/minor_gc.h \
- ../byterun/prims.h
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/minor_gc.h ../byterun/prims.h
parsing.d.obj: parsing.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/misc.h \
../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
@@ -225,13 +257,14 @@ printexc.d.obj: printexc.c ../byterun/fail.h ../byterun/misc.h \
roots.d.obj: roots.c ../byterun/memory.h ../byterun/config.h \
../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
- ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/roots.h \
- stack.h
+ ../byterun/freelist.h ../byterun/minor_gc.h stack.h \
+ ../byterun/roots.h
signals.d.obj: signals.c ../byterun/alloc.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
- ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
- ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
- ../byterun/fail.h ../byterun/signals.h
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/fail.h ../byterun/signals.h stack.h \
+ ../byterun/sys.h
startup.d.obj: startup.c ../byterun/fail.h ../byterun/misc.h \
../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
@@ -241,10 +274,159 @@ str.d.obj: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
../byterun/mlvalues.h ../byterun/fail.h
sys.d.obj: sys.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
- ../byterun/mlvalues.h ../byterun/fail.h ../byterun/instruct.h \
- ../byterun/signals.h ../byterun/stacks.h ../byterun/memory.h \
- ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
- ../byterun/minor_gc.h ../byterun/str.h ../byterun/sys.h
+ ../byterun/mlvalues.h ../byterun/debugger.h ../byterun/fail.h \
+ ../byterun/instruct.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
terminfo.d.obj: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
+weak.d.obj: weak.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
+alloc.p.obj: alloc.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/minor_gc.h \
+ ../byterun/stacks.h
+array.p.obj: array.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
+callback.p.obj: callback.c ../byterun/callback.h ../byterun/mlvalues.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/misc.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+compact.p.obj: compact.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/major_gc.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/roots.h ../byterun/weak.h
+compare.p.obj: compare.c ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/memory.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h
+extern.p.obj: extern.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
+ ../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/reverse.h
+fail.p.obj: fail.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
+ ../byterun/gc.h ../byterun/memory.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
+ stack.h ../byterun/roots.h
+floats.p.obj: floats.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/stacks.h
+freelist.p.obj: freelist.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/freelist.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/major_gc.h
+gc_ctrl.p.obj: gc_ctrl.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/compact.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/stacks.h ../byterun/memory.h
+hash.p.obj: hash.c ../byterun/mlvalues.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h
+intern.p.obj: intern.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
+ ../byterun/intext.h ../byterun/io.h ../byterun/memory.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/minor_gc.h \
+ ../byterun/reverse.h ../byterun/md5.h
+ints.p.obj: ints.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
+io.p.obj: io.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/signals.h \
+ ../byterun/sys.h
+lexing.p.obj: lexing.c ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/stacks.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
+main.p.obj: main.c ../byterun/misc.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/sys.h
+major_gc.p.obj: major_gc.c ../byterun/compact.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/misc.h \
+ ../byterun/fail.h ../byterun/mlvalues.h ../byterun/freelist.h \
+ ../byterun/gc.h ../byterun/gc_ctrl.h ../byterun/major_gc.h \
+ ../byterun/roots.h ../byterun/memory.h ../byterun/minor_gc.h \
+ ../byterun/weak.h
+md5.p.obj: md5.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/md5.h \
+ ../byterun/io.h ../byterun/reverse.h
+memory.p.obj: memory.c ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/freelist.h ../byterun/gc.h \
+ ../byterun/gc_ctrl.h ../byterun/major_gc.h ../byterun/memory.h \
+ ../byterun/minor_gc.h ../byterun/signals.h
+minor_gc.p.obj: minor_gc.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/minor_gc.h ../byterun/roots.h ../byterun/signals.h
+misc.p.obj: misc.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/misc.h
+obj.p.obj: obj.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/gc.h \
+ ../byterun/major_gc.h ../byterun/freelist.h ../byterun/memory.h \
+ ../byterun/minor_gc.h ../byterun/prims.h
+parsing.p.obj: parsing.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/mlvalues.h ../byterun/misc.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/alloc.h
+printexc.p.obj: printexc.c ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h
+roots.p.obj: roots.c ../byterun/memory.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h ../byterun/gc.h \
+ ../byterun/mlvalues.h ../byterun/misc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h stack.h \
+ ../byterun/roots.h
+signals.p.obj: signals.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/callback.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h ../byterun/fail.h ../byterun/signals.h stack.h \
+ ../byterun/sys.h
+startup.p.obj: startup.c ../byterun/fail.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/gc.h ../byterun/gc_ctrl.h \
+ ../byterun/sys.h
+str.p.obj: str.c ../byterun/alloc.h ../byterun/misc.h ../byterun/config.h \
+ ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h
+sys.p.obj: sys.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/debugger.h ../byterun/fail.h \
+ ../byterun/instruct.h ../byterun/signals.h ../byterun/stacks.h \
+ ../byterun/memory.h ../byterun/gc.h ../byterun/major_gc.h \
+ ../byterun/freelist.h ../byterun/minor_gc.h ../byterun/sys.h
+terminfo.p.obj: terminfo.c ../byterun/config.h ../byterun/../config/m.h \
+ ../byterun/../config/s.h ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/io.h
+weak.p.obj: weak.c ../byterun/alloc.h ../byterun/misc.h \
+ ../byterun/config.h ../byterun/../config/m.h ../byterun/../config/s.h \
+ ../byterun/mlvalues.h ../byterun/fail.h ../byterun/memory.h \
+ ../byterun/gc.h ../byterun/major_gc.h ../byterun/freelist.h \
+ ../byterun/minor_gc.h
diff --git a/bytecomp/bytelink.ml b/bytecomp/bytelink.ml
index 6031dc59db..2d399131a4 100644
--- a/bytecomp/bytelink.ml
+++ b/bytecomp/bytelink.ml
@@ -360,17 +360,6 @@ let rec extract suffix l =
| h::t -> extract suffix t
;;
-let expand_libname name =
- if String.length name < 2 || String.sub name 0 2 <> "-l"
- then name
- else begin
- let libname = String.sub name 2 (String.length name - 2) ^ ext_lib in
- try
- find_in_path !load_path libname
- with Not_found ->
- libname
- end
-
let build_custom_runtime prim_name exec_name =
let libname = "libcamlrun" ^ ext_lib in
let runtime_lib =
@@ -401,8 +390,8 @@ let build_custom_runtime prim_name exec_name =
Config.standard_library
(String.concat " " (List.rev !Clflags.ccopts))
prim_name
- (String.concat " "
- (List.map expand_libname (List.rev !Clflags.ccobjs)))
+ (String.concat " " (List.map Ccomp.expand_libname
+ (List.rev !Clflags.ccobjs)))
runtime_lib
Config.c_libraries)
| "MacOS" ->
diff --git a/byterun/.depend.nt b/byterun/.depend.nt
index 3af91dbcff..a0bc8b7c54 100644
--- a/byterun/.depend.nt
+++ b/byterun/.depend.nt
@@ -4,68 +4,71 @@ array.obj: array.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
callback.obj: callback.c callback.h mlvalues.h config.h ../config/m.h \
../config/s.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- interp.h instruct.h stacks.h
+ interp.h instruct.h fix_code.h stacks.h
+compact.obj: compact.c config.h ../config/m.h ../config/s.h freelist.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
+ roots.h weak.h
compare.obj: compare.c fail.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h str.h
+ minor_gc.h
debugger.obj: debugger.c config.h ../config/m.h ../config/s.h debugger.h \
misc.h mlvalues.h fail.h fix_code.h instruct.h intext.h io.h stacks.h \
memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
extern.obj: extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
- minor_gc.h reverse.h str.h
+ mlvalues.h fail.h gc.h intext.h io.h fix_code.h memory.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
fail.obj: fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
+ mlvalues.h fail.h io.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
signals.h stacks.h
fix_code.obj: fix_code.c config.h ../config/m.h ../config/s.h debugger.h \
- misc.h mlvalues.h fix_code.h instruct.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h reverse.h
+ misc.h mlvalues.h fix_code.h instruct.h md5.h io.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h reverse.h
floats.obj: floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
stacks.h
freelist.obj: freelist.c config.h ../config/m.h ../config/s.h freelist.h \
misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h
gc_ctrl.obj: gc_ctrl.c alloc.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h compact.h gc.h gc_ctrl.h major_gc.h \
+ freelist.h minor_gc.h stacks.h memory.h
hash.obj: hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+ memory.h gc.h major_gc.h freelist.h minor_gc.h
instrtrace.obj: instrtrace.c
intern.obj: intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
- minor_gc.h reverse.h
+ mlvalues.h fail.h gc.h intext.h io.h fix_code.h memory.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
interp.obj: interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h callback.h debugger.h fail.h fix_code.h instrtrace.h \
instruct.h interp.h major_gc.h freelist.h memory.h gc.h minor_gc.h \
- prims.h signals.h stacks.h str.h jumptbl.h
+ prims.h signals.h stacks.h jumptbl.h
ints.obj: ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- str.h
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
io.obj: io.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
mlvalues.h fail.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
signals.h sys.h
lexing.obj: lexing.c fail.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- str.h
+ mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
macintosh.obj: macintosh.c
main.obj: main.c misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
sys.h
-major_gc.obj: major_gc.c config.h ../config/m.h ../config/s.h fail.h \
- misc.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h
+major_gc.obj: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
+ misc.h fail.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h \
+ memory.h minor_gc.h weak.h
md5.obj: md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h io.h
+ mlvalues.h fail.h md5.h io.h reverse.h
memory.obj: memory.c fail.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
signals.h
meta.obj: meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fix_code.h interp.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h prims.h stacks.h
+ mlvalues.h fail.h fix_code.h interp.h major_gc.h freelist.h memory.h \
+ gc.h minor_gc.h prims.h stacks.h
minor_gc.obj: minor_gc.c config.h ../config/m.h ../config/s.h fail.h \
misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h memory.h \
minor_gc.h roots.h signals.h
misc.obj: misc.c config.h ../config/m.h ../config/s.h misc.h
obj.obj: obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
+ mlvalues.h fail.h gc.h major_gc.h freelist.h memory.h minor_gc.h \
+ prims.h
parsing.obj: parsing.c config.h ../config/m.h ../config/s.h mlvalues.h \
misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
prims.obj: prims.c mlvalues.h config.h ../config/m.h ../config/s.h \
@@ -77,18 +80,18 @@ roots.obj: roots.c memory.h config.h ../config/m.h ../config/s.h gc.h \
rotatecursor.obj: rotatecursor.c rotatecursor.h
signals.obj: signals.c alloc.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h callback.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h roots.h signals.h
+ freelist.h minor_gc.h roots.h signals.h sys.h
stacks.obj: stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h \
mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
startup.obj: startup.c config.h ../config/m.h ../config/s.h alloc.h \
misc.h mlvalues.h debugger.h exec.h fail.h fix_code.h gc_ctrl.h \
- interp.h intext.h io.h minor_gc.h stacks.h memory.h gc.h major_gc.h \
- freelist.h sys.h
+ interp.h intext.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ prims.h stacks.h sys.h
str.obj: str.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h
sys.obj: sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
mlvalues.h debugger.h fail.h instruct.h signals.h stacks.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h str.h sys.h
+ gc.h major_gc.h freelist.h minor_gc.h sys.h
terminfo.obj: terminfo.c config.h ../config/m.h ../config/s.h alloc.h \
misc.h mlvalues.h fail.h io.h
weak.obj: weak.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
@@ -100,69 +103,72 @@ array.d.obj: array.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
callback.d.obj: callback.c callback.h mlvalues.h config.h ../config/m.h \
../config/s.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- interp.h instruct.h stacks.h
+ interp.h instruct.h fix_code.h stacks.h
+compact.d.obj: compact.c config.h ../config/m.h ../config/s.h freelist.h \
+ misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
+ roots.h weak.h
compare.d.obj: compare.c fail.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h memory.h gc.h major_gc.h freelist.h \
- minor_gc.h str.h
+ minor_gc.h
debugger.d.obj: debugger.c config.h ../config/m.h ../config/s.h debugger.h \
misc.h mlvalues.h fail.h fix_code.h instruct.h intext.h io.h stacks.h \
memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
extern.d.obj: extern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
- minor_gc.h reverse.h str.h
+ mlvalues.h fail.h gc.h intext.h io.h fix_code.h memory.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
fail.d.obj: fail.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
+ mlvalues.h fail.h io.h gc.h memory.h major_gc.h freelist.h minor_gc.h \
signals.h stacks.h
fix_code.d.obj: fix_code.c config.h ../config/m.h ../config/s.h debugger.h \
- misc.h mlvalues.h fix_code.h instruct.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h reverse.h
+ misc.h mlvalues.h fix_code.h instruct.h md5.h io.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h reverse.h
floats.d.obj: floats.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
stacks.h
freelist.d.obj: freelist.c config.h ../config/m.h ../config/s.h freelist.h \
misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h
gc_ctrl.d.obj: gc_ctrl.c alloc.h misc.h config.h ../config/m.h \
- ../config/s.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h \
- minor_gc.h
+ ../config/s.h mlvalues.h compact.h gc.h gc_ctrl.h major_gc.h \
+ freelist.h minor_gc.h stacks.h memory.h
hash.d.obj: hash.c mlvalues.h config.h ../config/m.h ../config/s.h misc.h \
- memory.h gc.h major_gc.h freelist.h minor_gc.h str.h
+ memory.h gc.h major_gc.h freelist.h minor_gc.h
instrtrace.d.obj: instrtrace.c instruct.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h opnames.h
intern.d.obj: intern.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h gc.h intext.h io.h memory.h major_gc.h freelist.h \
- minor_gc.h reverse.h
+ mlvalues.h fail.h gc.h intext.h io.h fix_code.h memory.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
interp.d.obj: interp.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h callback.h debugger.h fail.h fix_code.h instrtrace.h \
instruct.h interp.h major_gc.h freelist.h memory.h gc.h minor_gc.h \
- prims.h signals.h stacks.h str.h
+ prims.h signals.h stacks.h
ints.d.obj: ints.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- str.h
+ mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h minor_gc.h
io.d.obj: io.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
mlvalues.h fail.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
signals.h sys.h
lexing.d.obj: lexing.c fail.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
- str.h
+ mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
macintosh.d.obj: macintosh.c
main.d.obj: main.c misc.h config.h ../config/m.h ../config/s.h mlvalues.h \
sys.h
-major_gc.d.obj: major_gc.c config.h ../config/m.h ../config/s.h fail.h \
- misc.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h
+major_gc.d.obj: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
+ misc.h fail.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h roots.h \
+ memory.h minor_gc.h weak.h
md5.d.obj: md5.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fail.h io.h
+ mlvalues.h fail.h md5.h io.h reverse.h
memory.d.obj: memory.c fail.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h minor_gc.h \
signals.h
meta.d.obj: meta.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h fix_code.h interp.h major_gc.h freelist.h memory.h gc.h \
- minor_gc.h prims.h stacks.h
+ mlvalues.h fail.h fix_code.h interp.h major_gc.h freelist.h memory.h \
+ gc.h minor_gc.h prims.h stacks.h
minor_gc.d.obj: minor_gc.c config.h ../config/m.h ../config/s.h fail.h \
misc.h mlvalues.h gc.h gc_ctrl.h major_gc.h freelist.h memory.h \
minor_gc.h roots.h signals.h
misc.d.obj: misc.c config.h ../config/m.h ../config/s.h misc.h
obj.d.obj: obj.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
- mlvalues.h major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h
+ mlvalues.h fail.h gc.h major_gc.h freelist.h memory.h minor_gc.h \
+ prims.h
parsing.d.obj: parsing.c config.h ../config/m.h ../config/s.h mlvalues.h \
misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h alloc.h
prims.d.obj: prims.c mlvalues.h config.h ../config/m.h ../config/s.h \
@@ -174,18 +180,18 @@ roots.d.obj: roots.c memory.h config.h ../config/m.h ../config/s.h gc.h \
rotatecursor.d.obj: rotatecursor.c rotatecursor.h
signals.d.obj: signals.c alloc.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h callback.h fail.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h roots.h signals.h
+ freelist.h minor_gc.h roots.h signals.h sys.h
stacks.d.obj: stacks.c config.h ../config/m.h ../config/s.h fail.h misc.h \
mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h
startup.d.obj: startup.c config.h ../config/m.h ../config/s.h alloc.h \
misc.h mlvalues.h debugger.h exec.h fail.h fix_code.h gc_ctrl.h \
- interp.h intext.h io.h minor_gc.h stacks.h memory.h gc.h major_gc.h \
- freelist.h sys.h
+ interp.h intext.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ prims.h stacks.h sys.h
str.d.obj: str.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
mlvalues.h fail.h
sys.d.obj: sys.c config.h ../config/m.h ../config/s.h alloc.h misc.h \
mlvalues.h debugger.h fail.h instruct.h signals.h stacks.h memory.h \
- gc.h major_gc.h freelist.h minor_gc.h str.h sys.h
+ gc.h major_gc.h freelist.h minor_gc.h sys.h
terminfo.d.obj: terminfo.c config.h ../config/m.h ../config/s.h alloc.h \
misc.h mlvalues.h fail.h io.h
weak.d.obj: weak.c alloc.h misc.h config.h ../config/m.h ../config/s.h \
diff --git a/otherlibs/win32unix/open.c b/otherlibs/win32unix/open.c
index 1acd7f4099..b908ca0a5c 100644
--- a/otherlibs/win32unix/open.c
+++ b/otherlibs/win32unix/open.c
@@ -53,7 +53,8 @@ value unix_open(value path, value flags, value perm) /* ML */
attr.lpSecurityDescriptor = NULL;
attr.bInheritHandle = TRUE;
- h = CreateFile(String_val(path), fileaccess, 0, &attr,
+ h = CreateFile(String_val(path), fileaccess,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, &attr,
filecreate, fileattrib, NULL);
if (h == INVALID_HANDLE_VALUE) {
_dosmaperr(GetLastError());
diff --git a/stdlib/headernt.c b/stdlib/headernt.c
index 5244431b48..288e2ae1b0 100644
--- a/stdlib/headernt.c
+++ b/stdlib/headernt.c
@@ -70,7 +70,8 @@ int main(int argc, char ** argv)
int retcode;
GetModuleFileName(NULL, truename, sizeof(truename));
- h = CreateFile(truename, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
+ h = CreateFile(truename, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, OPEN_EXISTING, 0, NULL);
if (h == INVALID_HANDLE_VALUE ||
(runtime_path = read_runtime_path(h)) == NULL) {
errwrite(truename);
diff --git a/tools/Makefile.nt b/tools/Makefile.nt
index 8e2d950650..1a06b2d75e 100644
--- a/tools/Makefile.nt
+++ b/tools/Makefile.nt
@@ -35,7 +35,7 @@ beforedepend:: ocamldep.ml
CSLPROF=ocamlprof.cmo
CSLPROF_IMPORTS=misc.cmo config.cmo clflags.cmo terminfo.cmo \
- linenum.cmo location.cmo longident.cmo pstream.cmo \
+ linenum.cmo warnings.cmo location.cmo longident.cmo pstream.cmo \
syntaxerr.cmo parser.cmo lexer.cmo parse.cmo
ocamlprof: $(CSLPROF) profiling.cmo
diff --git a/utils/ccomp.ml b/utils/ccomp.ml
index a2d30f3275..70706f90a1 100644
--- a/utils/ccomp.ml
+++ b/utils/ccomp.ml
@@ -49,3 +49,15 @@ let create_archive archive file_list =
if r1 <> 0 or String.length Config.ranlib = 0
then r1
else command(Config.ranlib ^ " " ^ archive)
+
+let expand_libname name =
+ if String.length name < 2 || String.sub name 0 2 <> "-l"
+ then name
+ else begin
+ let libname =
+ "lib" ^ String.sub name 2 (String.length name - 2) ^ Config.ext_lib in
+ try
+ Misc.find_in_path !Config.load_path libname
+ with Not_found ->
+ libname
+ end
diff --git a/utils/ccomp.mli b/utils/ccomp.mli
index 423854014c..12242aea2e 100644
--- a/utils/ccomp.mli
+++ b/utils/ccomp.mli
@@ -17,3 +17,4 @@ val command: string -> int
val run_command: string -> unit
val compile_file: string -> int
val create_archive: string -> string list -> int
+val expand_libname: string -> string