fusion des changements 3.09.2 -> 3.09.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
403f1e1a34
commit
fbea66a95e
50
.depend
50
.depend
|
@ -62,8 +62,8 @@ typing/includeclass.cmi: typing/types.cmi typing/typedtree.cmi typing/env.cmi \
|
|||
typing/ctype.cmi
|
||||
typing/includecore.cmi: typing/types.cmi typing/typedtree.cmi \
|
||||
typing/ident.cmi typing/env.cmi
|
||||
typing/includemod.cmi: typing/types.cmi typing/typedtree.cmi typing/ident.cmi \
|
||||
typing/env.cmi typing/ctype.cmi
|
||||
typing/includemod.cmi: typing/types.cmi typing/typedtree.cmi typing/path.cmi \
|
||||
typing/ident.cmi typing/env.cmi typing/ctype.cmi
|
||||
typing/mtype.cmi: typing/types.cmi typing/path.cmi typing/ident.cmi \
|
||||
typing/env.cmi
|
||||
typing/oprint.cmi: typing/outcometree.cmi
|
||||
|
@ -112,11 +112,11 @@ typing/datarepr.cmx: typing/types.cmx typing/predef.cmx utils/misc.cmx \
|
|||
typing/env.cmo: typing/types.cmi utils/tbl.cmi typing/subst.cmi \
|
||||
typing/predef.cmi typing/path.cmi utils/misc.cmi parsing/longident.cmi \
|
||||
typing/ident.cmi typing/datarepr.cmi utils/consistbl.cmi utils/config.cmi \
|
||||
typing/btype.cmi parsing/asttypes.cmi typing/env.cmi
|
||||
utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi typing/env.cmi
|
||||
typing/env.cmx: typing/types.cmx utils/tbl.cmx typing/subst.cmx \
|
||||
typing/predef.cmx typing/path.cmx utils/misc.cmx parsing/longident.cmx \
|
||||
typing/ident.cmx typing/datarepr.cmx utils/consistbl.cmx utils/config.cmx \
|
||||
typing/btype.cmx parsing/asttypes.cmi typing/env.cmi
|
||||
utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi typing/env.cmi
|
||||
typing/ident.cmo: typing/ident.cmi
|
||||
typing/ident.cmx: typing/ident.cmi
|
||||
typing/includeclass.cmo: typing/types.cmi typing/printtyp.cmi \
|
||||
|
@ -443,8 +443,8 @@ asmcomp/asmlink.cmi: asmcomp/compilenv.cmi
|
|||
asmcomp/clambda.cmi: bytecomp/lambda.cmi typing/ident.cmi \
|
||||
parsing/asttypes.cmi
|
||||
asmcomp/closure.cmi: bytecomp/lambda.cmi asmcomp/clambda.cmi
|
||||
asmcomp/cmmgen.cmi: asmcomp/cmm.cmi asmcomp/clambda.cmi
|
||||
asmcomp/cmm.cmi: typing/ident.cmi
|
||||
asmcomp/cmmgen.cmi: asmcomp/cmm.cmi asmcomp/clambda.cmi
|
||||
asmcomp/codegen.cmi: asmcomp/cmm.cmi
|
||||
asmcomp/comballoc.cmi: asmcomp/mach.cmi
|
||||
asmcomp/compilenv.cmi: typing/ident.cmi asmcomp/clambda.cmi
|
||||
|
@ -458,8 +458,8 @@ asmcomp/printlinear.cmi: asmcomp/linearize.cmi
|
|||
asmcomp/printmach.cmi: asmcomp/reg.cmi asmcomp/mach.cmi
|
||||
asmcomp/proc.cmi: asmcomp/reg.cmi asmcomp/mach.cmi
|
||||
asmcomp/reg.cmi: asmcomp/cmm.cmi
|
||||
asmcomp/reloadgen.cmi: asmcomp/reg.cmi asmcomp/mach.cmi
|
||||
asmcomp/reload.cmi: asmcomp/mach.cmi
|
||||
asmcomp/reloadgen.cmi: asmcomp/reg.cmi asmcomp/mach.cmi
|
||||
asmcomp/schedgen.cmi: asmcomp/mach.cmi asmcomp/linearize.cmi
|
||||
asmcomp/scheduling.cmi: asmcomp/linearize.cmi
|
||||
asmcomp/selectgen.cmi: utils/tbl.cmi asmcomp/reg.cmi asmcomp/mach.cmi \
|
||||
|
@ -523,6 +523,8 @@ asmcomp/closure.cmx: utils/tbl.cmx bytecomp/switch.cmx typing/primitive.cmx \
|
|||
utils/misc.cmx bytecomp/lambda.cmx typing/ident.cmx asmcomp/compilenv.cmx \
|
||||
utils/clflags.cmx asmcomp/clambda.cmx parsing/asttypes.cmi \
|
||||
asmcomp/closure.cmi
|
||||
asmcomp/cmm.cmo: typing/ident.cmi asmcomp/arch.cmo asmcomp/cmm.cmi
|
||||
asmcomp/cmm.cmx: typing/ident.cmx asmcomp/arch.cmx asmcomp/cmm.cmi
|
||||
asmcomp/cmmgen.cmo: typing/types.cmi bytecomp/switch.cmi asmcomp/proc.cmi \
|
||||
typing/primitive.cmi utils/misc.cmi bytecomp/lambda.cmi typing/ident.cmi \
|
||||
utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmm.cmi utils/clflags.cmi \
|
||||
|
@ -533,8 +535,6 @@ asmcomp/cmmgen.cmx: typing/types.cmx bytecomp/switch.cmx asmcomp/proc.cmx \
|
|||
utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmm.cmx utils/clflags.cmx \
|
||||
asmcomp/clambda.cmx parsing/asttypes.cmi asmcomp/arch.cmx \
|
||||
asmcomp/cmmgen.cmi
|
||||
asmcomp/cmm.cmo: typing/ident.cmi asmcomp/arch.cmo asmcomp/cmm.cmi
|
||||
asmcomp/cmm.cmx: typing/ident.cmx asmcomp/arch.cmx asmcomp/cmm.cmi
|
||||
asmcomp/codegen.cmo: asmcomp/split.cmi asmcomp/spill.cmi asmcomp/reload.cmi \
|
||||
asmcomp/reg.cmi asmcomp/printmach.cmi asmcomp/printlinear.cmi \
|
||||
asmcomp/printcmm.cmi asmcomp/liveness.cmi asmcomp/linearize.cmi \
|
||||
|
@ -555,16 +555,16 @@ asmcomp/compilenv.cmo: utils/misc.cmi typing/ident.cmi typing/env.cmi \
|
|||
utils/config.cmi asmcomp/clambda.cmi asmcomp/compilenv.cmi
|
||||
asmcomp/compilenv.cmx: utils/misc.cmx typing/ident.cmx typing/env.cmx \
|
||||
utils/config.cmx asmcomp/clambda.cmx asmcomp/compilenv.cmi
|
||||
asmcomp/emitaux.cmo: asmcomp/emitaux.cmi
|
||||
asmcomp/emitaux.cmx: asmcomp/emitaux.cmi
|
||||
asmcomp/emit.cmo: asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \
|
||||
asmcomp/mach.cmi parsing/location.cmi asmcomp/linearize.cmi \
|
||||
asmcomp/emitaux.cmi utils/config.cmi asmcomp/compilenv.cmi \
|
||||
asmcomp/cmm.cmi utils/clflags.cmi asmcomp/arch.cmo asmcomp/emit.cmi
|
||||
asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/emit.cmi
|
||||
asmcomp/emit.cmx: asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \
|
||||
asmcomp/mach.cmx parsing/location.cmx asmcomp/linearize.cmx \
|
||||
asmcomp/emitaux.cmx utils/config.cmx asmcomp/compilenv.cmx \
|
||||
asmcomp/cmm.cmx utils/clflags.cmx asmcomp/arch.cmx asmcomp/emit.cmi
|
||||
asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/emit.cmi
|
||||
asmcomp/emitaux.cmo: asmcomp/emitaux.cmi
|
||||
asmcomp/emitaux.cmx: asmcomp/emitaux.cmi
|
||||
asmcomp/interf.cmo: asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \
|
||||
asmcomp/mach.cmi asmcomp/interf.cmi
|
||||
asmcomp/interf.cmx: asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \
|
||||
|
@ -599,34 +599,32 @@ asmcomp/proc.cmx: asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \
|
|||
asmcomp/arch.cmx asmcomp/proc.cmi
|
||||
asmcomp/reg.cmo: asmcomp/cmm.cmi asmcomp/reg.cmi
|
||||
asmcomp/reg.cmx: asmcomp/cmm.cmx asmcomp/reg.cmi
|
||||
asmcomp/reload.cmo: asmcomp/reloadgen.cmi asmcomp/reload.cmi
|
||||
asmcomp/reload.cmx: asmcomp/reloadgen.cmx asmcomp/reload.cmi
|
||||
asmcomp/reloadgen.cmo: asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \
|
||||
asmcomp/reloadgen.cmi
|
||||
asmcomp/reloadgen.cmx: asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \
|
||||
asmcomp/reloadgen.cmi
|
||||
asmcomp/reload.cmo: asmcomp/reloadgen.cmi asmcomp/reg.cmi asmcomp/mach.cmi \
|
||||
asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/reload.cmi
|
||||
asmcomp/reload.cmx: asmcomp/reloadgen.cmx asmcomp/reg.cmx asmcomp/mach.cmx \
|
||||
asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/reload.cmi
|
||||
asmcomp/schedgen.cmo: asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \
|
||||
asmcomp/linearize.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
|
||||
asmcomp/schedgen.cmi
|
||||
asmcomp/schedgen.cmx: asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \
|
||||
asmcomp/linearize.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \
|
||||
asmcomp/schedgen.cmi
|
||||
asmcomp/scheduling.cmo: asmcomp/schedgen.cmi asmcomp/scheduling.cmi
|
||||
asmcomp/scheduling.cmx: asmcomp/schedgen.cmx asmcomp/scheduling.cmi
|
||||
asmcomp/scheduling.cmo: asmcomp/schedgen.cmi asmcomp/mach.cmi \
|
||||
asmcomp/arch.cmo asmcomp/scheduling.cmi
|
||||
asmcomp/scheduling.cmx: asmcomp/schedgen.cmx asmcomp/mach.cmx \
|
||||
asmcomp/arch.cmx asmcomp/scheduling.cmi
|
||||
asmcomp/selectgen.cmo: utils/tbl.cmi asmcomp/reg.cmi asmcomp/proc.cmi \
|
||||
utils/misc.cmi asmcomp/mach.cmi typing/ident.cmi asmcomp/cmm.cmi \
|
||||
asmcomp/arch.cmo asmcomp/selectgen.cmi
|
||||
asmcomp/selectgen.cmx: utils/tbl.cmx asmcomp/reg.cmx asmcomp/proc.cmx \
|
||||
utils/misc.cmx asmcomp/mach.cmx typing/ident.cmx asmcomp/cmm.cmx \
|
||||
asmcomp/arch.cmx asmcomp/selectgen.cmi
|
||||
asmcomp/selection.cmo: asmcomp/selectgen.cmi asmcomp/reg.cmi asmcomp/proc.cmi \
|
||||
utils/misc.cmi asmcomp/mach.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \
|
||||
asmcomp/selection.cmi
|
||||
asmcomp/selection.cmx: asmcomp/selectgen.cmx asmcomp/reg.cmx asmcomp/proc.cmx \
|
||||
utils/misc.cmx asmcomp/mach.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \
|
||||
asmcomp/selection.cmi
|
||||
asmcomp/selection.cmo: asmcomp/selectgen.cmi asmcomp/reg.cmi utils/misc.cmi \
|
||||
asmcomp/mach.cmi asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/selection.cmi
|
||||
asmcomp/selection.cmx: asmcomp/selectgen.cmx asmcomp/reg.cmx utils/misc.cmx \
|
||||
asmcomp/mach.cmx asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/selection.cmi
|
||||
asmcomp/spill.cmo: asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \
|
||||
asmcomp/mach.cmi asmcomp/spill.cmi
|
||||
asmcomp/spill.cmx: asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \
|
||||
|
@ -665,8 +663,6 @@ driver/errors.cmx: utils/warnings.cmx typing/typetexp.cmx typing/typemod.cmx \
|
|||
parsing/location.cmx parsing/lexer.cmx typing/includemod.cmx \
|
||||
typing/env.cmx typing/ctype.cmx bytecomp/bytepackager.cmx \
|
||||
bytecomp/bytelink.cmx bytecomp/bytelibrarian.cmx driver/errors.cmi
|
||||
driver/main_args.cmo: driver/main_args.cmi
|
||||
driver/main_args.cmx: driver/main_args.cmi
|
||||
driver/main.cmo: utils/warnings.cmi utils/misc.cmi driver/main_args.cmi \
|
||||
driver/errors.cmi utils/config.cmi driver/compile.cmi utils/clflags.cmi \
|
||||
bytecomp/bytepackager.cmi bytecomp/bytelink.cmi \
|
||||
|
@ -675,6 +671,8 @@ driver/main.cmx: utils/warnings.cmx utils/misc.cmx driver/main_args.cmx \
|
|||
driver/errors.cmx utils/config.cmx driver/compile.cmx utils/clflags.cmx \
|
||||
bytecomp/bytepackager.cmx bytecomp/bytelink.cmx \
|
||||
bytecomp/bytelibrarian.cmx driver/main.cmi
|
||||
driver/main_args.cmo: driver/main_args.cmi
|
||||
driver/main_args.cmx: driver/main_args.cmi
|
||||
driver/optcompile.cmo: utils/warnings.cmi typing/unused_var.cmi \
|
||||
typing/typemod.cmi typing/typedtree.cmi bytecomp/translmod.cmi \
|
||||
bytecomp/simplif.cmi typing/printtyp.cmi bytecomp/printlambda.cmi \
|
||||
|
|
39
Changes
39
Changes
|
@ -7,6 +7,43 @@ Language features:
|
|||
definition replaces the old one, rather than creating a new
|
||||
variable.
|
||||
|
||||
|
||||
Objective Caml 3.09.3:
|
||||
----------------------
|
||||
|
||||
Bug fixes:
|
||||
- ocamldoc: -using modtype constraint to filter module elements displayed
|
||||
in doc PR#4016
|
||||
- ocamldoc: error in merging of top dependencies of modules PR#4007
|
||||
- ocamldoc: -dot-colors has no effect PR#3981
|
||||
- ocamdloc: missing crossref in text from intro files PR#4066
|
||||
- compilers: segfault with recursive modules PR#4008
|
||||
- compilers: infinite loop when compiling objects PR#4018
|
||||
- compilers: bad error message when signature mismatch PR#4001
|
||||
- compilers: infinite loop with -rectypes PR#3999
|
||||
- compilers: contravariance bug in private rows
|
||||
- compilers: unsafe cast with polymorphic exception PR#4002
|
||||
- native compiler: bad assembly code generated for AMD64 PR#4067
|
||||
- native compiler: stack alignment problems on MacOSX/i386 PR#4036
|
||||
- stdlib: crash in marshalling PR#4030
|
||||
- stdlib: crash when closing a channel twice PR#4039
|
||||
- stdlib: memory leak in Sys.readdir PR#4093
|
||||
- C interface: better definition of CAMLreturn PR#4068
|
||||
- otherlibs/unix: crash in gethostbyname PR#3043
|
||||
- tools: subtle problem with unset in makefile PR#4048
|
||||
- camlp4: install pa_o_fast.o PR#3812
|
||||
- camlp4: install more modules PR#3689
|
||||
|
||||
New features:
|
||||
- ocamldoc: name resolution in cross-referencing {!name}: if name is not
|
||||
found, then it is searched in the parent module/class, and in the parent
|
||||
of the parent, and so on until it is found.
|
||||
- ocamldoc: new option -short-functors to use a short form to display
|
||||
functors in html generator PR#4017
|
||||
- ocamlprof: added "-version" option
|
||||
|
||||
|
||||
|
||||
Objective Caml 3.09.2:
|
||||
----------------------
|
||||
|
||||
|
@ -31,7 +68,7 @@ Bug fixes:
|
|||
- stdlib: Filename.dirname/basename wrong on Win32 PR#3933
|
||||
- stdlib: incomplete documentation of Pervasives.abs PR#3967
|
||||
- stdlib: Printf bugs PR#3902, PR#3955
|
||||
- tools/checkstack.c missing include
|
||||
- tools/checkstack.c: missing include
|
||||
- yacc: crash when given argument "-" PR#3956
|
||||
|
||||
New features:
|
||||
|
|
25
README
25
README
|
@ -22,10 +22,10 @@ native-code compiler currently runs on the following platforms:
|
|||
Tier 1 (actively used and maintained by the core Caml team):
|
||||
|
||||
AMD64 (Opteron) Linux
|
||||
IA32 (Pentium) Linux, FreeBSD, MS Windows
|
||||
IA32 (Pentium) Linux, FreeBSD, MacOS X, MS Windows
|
||||
PowerPC MacOS X
|
||||
|
||||
Tier 2 (maintained but less actively, with help from users):
|
||||
Tier 2 (maintained when possible, with help from users):
|
||||
|
||||
Alpha Digital Unix/Compaq Tru64, Linux, all BSD
|
||||
AMD64 FreeBSD, OpenBSD
|
||||
|
@ -78,9 +78,9 @@ CONTENTS:
|
|||
COPYRIGHT:
|
||||
|
||||
All files marked "Copyright INRIA" in this distribution are copyright
|
||||
1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Institut National de
|
||||
Recherche en Informatique et en Automatique (INRIA) and distributed
|
||||
under the conditions stated in file LICENSE.
|
||||
1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Institut National de Recherche en Informatique et en Automatique
|
||||
(INRIA) and distributed under the conditions stated in file LICENSE.
|
||||
|
||||
INSTALLATION:
|
||||
|
||||
|
@ -112,11 +112,9 @@ Messages to the list should be sent to:
|
|||
|
||||
caml-list@inria.fr
|
||||
|
||||
If you wish to subscribe to this list, please send a message to:
|
||||
You can subscribe to this list via the Web interface at
|
||||
|
||||
caml-list-request@inria.fr
|
||||
|
||||
with the single word "subscribe" in the body of the message.
|
||||
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
|
||||
|
||||
Archives of the list are available on the Web site http://caml.inria.fr/
|
||||
|
||||
|
@ -126,11 +124,7 @@ including Caml.
|
|||
|
||||
BUG REPORTS AND USER FEEDBACK:
|
||||
|
||||
Send your bug reports by E-mail to:
|
||||
|
||||
caml-bugs@inria.fr
|
||||
|
||||
or report them using the Web interface to the bug-tracking system
|
||||
Please report bugs using the Web interface to the bug-tracking system
|
||||
at http://caml.inria.fr/bin/caml-bugs
|
||||
|
||||
To be effective, bug reports should include a complete program
|
||||
|
@ -139,3 +133,6 @@ configuration you are using (machine type, etc).
|
|||
|
||||
You can also contact the implementors directly at caml@inria.fr.
|
||||
|
||||
|
||||
----
|
||||
$Id$
|
||||
|
|
89
README.win32
89
README.win32
|
@ -43,24 +43,20 @@ The remainder of this document gives more information on each port.
|
|||
REQUIREMENTS:
|
||||
|
||||
This port runs under MS Windows NT, 2000 and XP.
|
||||
Windows 95, 98 and ME are also supported, but less reliably.
|
||||
Windows 95, 98 and ME are no longer supported.
|
||||
|
||||
The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...)
|
||||
runs without any additional tools.
|
||||
|
||||
Statically linking Caml bytecode with C code (ocamlc -custom) requires the
|
||||
Microsoft Visual C++ compiler. Dynamic loading of DLLs is
|
||||
supported out of the box, without additional software.
|
||||
Microsoft Visual C++ compiler (items [1] and [2] in the section
|
||||
"third-party software" below). Dynamic loading of DLLs is supported
|
||||
out of the box, without additional software.
|
||||
|
||||
The native-code compiler (ocamlopt) requires Visual C++ and the
|
||||
Microsoft assembler MASM version 6.11 or later. MASM can be
|
||||
downloaded for free from Microsoft's Web site; for directions, see
|
||||
http://www.easystreet.com/~jkirwan/pctools.html
|
||||
or http://www2.dgsys.com/~raymoon/faq/masm.html
|
||||
or the comp.lang.asm.x86 FAQ.
|
||||
The native-code compiler (ocamlopt) requires Visual C++ (items [1], [2])
|
||||
and the Microsoft assembler MASM (item [3]).
|
||||
|
||||
The LablTk GUI requires Tcl/Tk 8.3. Windows binaries are
|
||||
available from http://prdownloads.sourceforge.net/tcl/tcl832.exe.
|
||||
The LablTk GUI requires Tcl/Tk 8.3 (item [4]).
|
||||
|
||||
|
||||
INSTALLATION:
|
||||
|
@ -68,20 +64,6 @@ INSTALLATION:
|
|||
The binary distribution is a self-installing executable archive.
|
||||
Just run it and it should install OCaml automatically.
|
||||
|
||||
If you are using Windows 95, 98 or ME, you need to adjust environment
|
||||
variables as follows:
|
||||
- add the "bin" subdirectory of the OCaml installation directory
|
||||
to the PATH variable;
|
||||
- set the OCAMLLIB variable to the "lib" subdirectory of the
|
||||
OCaml installation directory.
|
||||
For instance, if you installed OCaml in C:\Program Files\Objective Caml,
|
||||
add the following two lines at the end of C:\autoexec.bat:
|
||||
|
||||
set PATH=%PATH%;"C:\Program Files\Objective Caml\bin"
|
||||
set OCAMLLIB=C:\Program Files\Objective Caml\lib
|
||||
|
||||
No such tweaking of environment variables is needed under NT, 2000 and XP.
|
||||
|
||||
To run programs that use the LablTK GUI, the directory where the
|
||||
DLLs tk83.dll and tcl83.dll were installed (by the Tcl/Tk
|
||||
installer) must be added to the PATH environment variable.
|
||||
|
@ -93,6 +75,26 @@ environment variable. E.g. if Tcl/Tk was installed in C:\tcl, add
|
|||
"C:\tcl\lib" to the LIB environment variable.
|
||||
|
||||
|
||||
THIRD-PARTY SOFTWARE:
|
||||
|
||||
[1] Visual C++ version 6 or later. We use Visual C++ 2003.
|
||||
The free download Visual C++ 2005 Express Edition works under
|
||||
Windows 2000, but not under Windows XP because of the "manifest"
|
||||
annotations on DLLs, which are not yet supported by OCaml.
|
||||
So, please stick with the 2003 edition for the time being.
|
||||
|
||||
[2] Windows header files and development libraries. We found them in
|
||||
the Microsoft Windows Server 2003 SP1 Platform SDK, which can
|
||||
be downloaded for free from http://www.microsoft.com/.
|
||||
|
||||
[3] MASM version 6.11 or later. MASM can be
|
||||
downloaded for free from Microsoft's Web site; for directions, see
|
||||
http://users.easystreet.com/jkirwan/new/pctools.html.
|
||||
|
||||
[4] TCL/TK version 8.3. Windows binaries are available from
|
||||
http://prdownloads.sourceforge.net/tcl/tcl832.exe.
|
||||
|
||||
|
||||
RECOMPILATION FROM THE SOURCES:
|
||||
|
||||
The command-line tools can be recompiled from the Unix source
|
||||
|
@ -100,11 +102,9 @@ distribution (ocaml-X.YZ.tar.gz), which also contains the files modified
|
|||
for Windows.
|
||||
|
||||
You will need the following software components to perform the recompilation:
|
||||
- Windows NT, 2000, or XP (we advise against compiling under Windows 95/98/ME)
|
||||
- Visual C++ version 6 or 7
|
||||
- MASM version 6.11 (see above)
|
||||
- The Cygwin port of GNU tools, available from http://cygwin.com/
|
||||
- TCL/TK version 8.3 (for the LablTK GUI) (see above).
|
||||
- Windows NT, 2000, or XP.
|
||||
- Items [1], [2], [3] and [4] from the list of recommended software above.
|
||||
- The Cygwin port of GNU tools, available from http://www.cygwin.com/
|
||||
|
||||
Remember to add the directory where the libraries tk83.lib and
|
||||
tcl83.lib were installed (by the Tcl/Tk installer) to the LIB variable
|
||||
|
@ -127,6 +127,7 @@ Finally, use "make -f Makefile.nt" to build the system, e.g.
|
|||
make -f Makefile.nt world
|
||||
make -f Makefile.nt bootstrap
|
||||
make -f Makefile.nt opt
|
||||
make -f Makefile.nt opt.opt
|
||||
make -f Makefile.nt install
|
||||
|
||||
|
||||
|
@ -167,8 +168,9 @@ runs without any additional tools.
|
|||
The native-code compiler (ocamlopt), as well as static linking of
|
||||
Caml bytecode with C code (ocamlc -custom), require
|
||||
the Cygwin development tools, available at
|
||||
http://sources.redhat.com/cygwin/
|
||||
You will need to install at least the following Cygwin packages:
|
||||
http://www.cygwin.com/
|
||||
You will need to install at least the following Cygwin packages (use
|
||||
the Setup tool from Cygwin):
|
||||
binutils, gcc-core, gcc-mingw-core, mingw-runtime, w32-api.
|
||||
|
||||
Do *not* install the Mingw/MSYS development tools from www.mingw.org:
|
||||
|
@ -184,20 +186,6 @@ INSTALLATION:
|
|||
The binary distribution is a self-installing executable archive.
|
||||
Just run it and it should install OCaml automatically.
|
||||
|
||||
If you are using Windows 95, 98 or ME, you need to adjust environment
|
||||
variables as follows:
|
||||
- add the "bin" subdirectory of the OCaml installation directory
|
||||
to the PATH variable;
|
||||
- set the OCAMLLIB variable to the "lib" subdirectory of the
|
||||
OCaml installation directory.
|
||||
For instance, if you installed OCaml in C:\Program Files\Objective Caml,
|
||||
add the following two lines at the end of C:\autoexec.bat:
|
||||
|
||||
set PATH=%PATH%;"C:\Program Files\Objective Caml\bin"
|
||||
set OCAMLLIB=C:\Program Files\Objective Caml\lib
|
||||
|
||||
No such tweaking of environment variables is needed under NT, 2000 and XP.
|
||||
|
||||
To run programs that use the LablTK GUI, the directory where the
|
||||
DLLs tk83.dll and tcl83.dll were installed (by the Tcl/Tk
|
||||
installer) must be added to the PATH environment variable.
|
||||
|
@ -212,7 +200,7 @@ environment variable. E.g. if Tcl/Tk was installed in C:\tcl, add
|
|||
RECOMPILATION FROM THE SOURCES:
|
||||
|
||||
You will need the following software components to perform the recompilation:
|
||||
- Windows NT, 2000, or XP (we advise against compiling under Windows 95/98/ME)
|
||||
- Windows NT, 2000, or XP.
|
||||
- Cygwin: http://sourceware.cygnus.com/cygwin/
|
||||
- TCL/TK version 8.3 (see above).
|
||||
|
||||
|
@ -258,15 +246,16 @@ REQUIREMENTS:
|
|||
|
||||
This port requires the Cygwin environment from Cygnus/RedHat, which
|
||||
is freely available at:
|
||||
http://sources.redhat.com/cygwin/
|
||||
http://www.cygwin.com/
|
||||
|
||||
This port runs under all versions of MS Windows supported by Cygwin.
|
||||
|
||||
|
||||
INSTALLATION:
|
||||
|
||||
For technical reasons, no binary distribution of this port is available.
|
||||
You need to recompile from the source distribution.
|
||||
We do not distribute binaries for this port, but they can be found
|
||||
in the Cygwin distribution (use the Setup tool from Cygwin and select
|
||||
the OCaml packages). Alternatively, recompile from the source distribution.
|
||||
|
||||
|
||||
RECOMPILATION FROM THE SOURCES:
|
||||
|
|
|
@ -73,12 +73,6 @@ method reload_operation op arg res =
|
|||
(* This add will be turned into a lea; args and results must be
|
||||
in registers *)
|
||||
super#reload_operation op arg res
|
||||
| Iconst_symbol _ ->
|
||||
if !pic_code
|
||||
then super#reload_operation op arg res
|
||||
else (arg, res)
|
||||
| Iconst_int n when n >= -0x80000000n && n <= 0x7FFFFFFFn ->
|
||||
(arg, res)
|
||||
| Iintop(Idiv | Imod | Ilsl | Ilsr | Iasr)
|
||||
| Iintop_imm(_, _) ->
|
||||
(* The argument(s) and results can be either in register or on stack *)
|
||||
|
@ -94,6 +88,14 @@ method reload_operation op arg res =
|
|||
| Ifloatofint | Iintoffloat ->
|
||||
(* Result must be in register, but argument can be on stack *)
|
||||
(arg, (if stackp res.(0) then [| self#makereg res.(0) |] else res))
|
||||
| Iconst_int n ->
|
||||
if n <= 0x7FFFFFFFn && n >= -0x80000000n
|
||||
then (arg, res)
|
||||
else super#reload_operation op arg res
|
||||
| Iconst_symbol _ ->
|
||||
if !pic_code
|
||||
then super#reload_operation op arg res
|
||||
else (arg, res)
|
||||
| _ -> (* Other operations: all args and results in registers *)
|
||||
super#reload_operation op arg res
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@ let calling_conventions first_int last_int first_float last_float make_stack
|
|||
ofs := !ofs + size_float
|
||||
end
|
||||
done;
|
||||
(loc, max 0 !ofs)
|
||||
(loc, Misc.align stack_alignment (max 0 !ofs))
|
||||
|
||||
let incoming ofs = Incoming ofs
|
||||
let outgoing ofs = Outgoing ofs
|
||||
|
|
1471
asmrun/.depend
1471
asmrun/.depend
File diff suppressed because it is too large
Load Diff
|
@ -181,9 +181,8 @@ clean::
|
|||
rm -f *.o *.a *~
|
||||
|
||||
depend: $(COBJS:.o=.c) ${LINKEDFILES}
|
||||
gcc -MM $(FLAGS) *.c > .depend
|
||||
-gcc -MM $(FLAGS) *.c > .depend
|
||||
gcc -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
|
||||
gcc -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.p.o/' >> .depend
|
||||
|
||||
include .depend
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ LBL(105):
|
|||
pushl %ebx
|
||||
pushl %eax
|
||||
movl %esp, G(caml_gc_regs)
|
||||
/* MacOSX note: 16-alignment of stack preserved at this point */
|
||||
/* Call the garbage collector */
|
||||
call G(caml_garbage_collection)
|
||||
/* Restore all regs used by the code generator */
|
||||
|
@ -116,7 +117,13 @@ LBL(100):
|
|||
movl %eax, G(caml_last_return_address)
|
||||
leal 4(%esp), %eax
|
||||
movl %eax, G(caml_bottom_of_stack)
|
||||
#ifdef SYS_macosx
|
||||
subl $12, %esp /* 16-alignment */
|
||||
#endif
|
||||
call LBL(105)
|
||||
#ifdef SYS_macosx
|
||||
addl $12, %esp /* undo 16-alignment */
|
||||
#endif
|
||||
jmp G(caml_alloc1)
|
||||
|
||||
.align FUNCTION_ALIGN
|
||||
|
@ -133,7 +140,13 @@ LBL(101):
|
|||
movl %eax, G(caml_last_return_address)
|
||||
leal 4(%esp), %eax
|
||||
movl %eax, G(caml_bottom_of_stack)
|
||||
#ifdef SYS_macosx
|
||||
subl $12, %esp /* 16-alignment */
|
||||
#endif
|
||||
call LBL(105)
|
||||
#ifdef SYS_macosx
|
||||
addl $12, %esp /* undo 16-alignment */
|
||||
#endif
|
||||
jmp G(caml_alloc2)
|
||||
|
||||
.align FUNCTION_ALIGN
|
||||
|
@ -150,7 +163,13 @@ LBL(102):
|
|||
movl %eax, G(caml_last_return_address)
|
||||
leal 4(%esp), %eax
|
||||
movl %eax, G(caml_bottom_of_stack)
|
||||
#ifdef SYS_macosx
|
||||
subl $12, %esp /* 16-alignment */
|
||||
#endif
|
||||
call LBL(105)
|
||||
#ifdef SYS_macosx
|
||||
addl $12, %esp /* undo 16-alignment */
|
||||
#endif
|
||||
jmp G(caml_alloc3)
|
||||
|
||||
.align FUNCTION_ALIGN
|
||||
|
@ -171,7 +190,13 @@ LBL(103):
|
|||
movl %eax, G(caml_last_return_address)
|
||||
leal 8(%esp), %eax
|
||||
movl %eax, G(caml_bottom_of_stack)
|
||||
#ifdef SYS_macosx
|
||||
subl $8, %esp /* 16-alignment */
|
||||
#endif
|
||||
call LBL(105)
|
||||
#ifdef SYS_macosx
|
||||
addl $8, %esp /* undo 16-alignment */
|
||||
#endif
|
||||
popl %eax /* recover desired size */
|
||||
jmp G(caml_allocN)
|
||||
|
||||
|
|
BIN
boot/ocamlc
BIN
boot/ocamlc
Binary file not shown.
BIN
boot/ocamllex
BIN
boot/ocamllex
Binary file not shown.
|
@ -77,7 +77,8 @@ major_gc.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
|
|||
compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
|
||||
memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
|
||||
md5.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
|
||||
../config/s.h mlvalues.h fail.h md5.h io.h reverse.h
|
||||
../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
|
||||
freelist.h minor_gc.h reverse.h
|
||||
memory.o: memory.c fail.h compatibility.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
|
||||
|
@ -127,11 +128,8 @@ unix.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
|
|||
memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
|
||||
osdeps.h
|
||||
weak.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
|
||||
../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
|
||||
../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
|
||||
minor_gc.h
|
||||
win32.o: win32.c memory.h compatibility.h config.h ../config/m.h \
|
||||
../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
|
||||
osdeps.h signals.h
|
||||
alloc.d.o: alloc.c alloc.h compatibility.h misc.h config.h ../config/m.h \
|
||||
../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
|
||||
minor_gc.h stacks.h
|
||||
|
@ -213,7 +211,8 @@ major_gc.d.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
|
|||
compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
|
||||
memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
|
||||
md5.d.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
|
||||
../config/s.h mlvalues.h fail.h md5.h io.h reverse.h
|
||||
../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
|
||||
freelist.h minor_gc.h reverse.h
|
||||
memory.d.o: memory.c fail.h compatibility.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
|
||||
|
@ -263,8 +262,5 @@ unix.d.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
|
|||
memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
|
||||
osdeps.h
|
||||
weak.d.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
|
||||
../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
|
||||
../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
|
||||
minor_gc.h
|
||||
win32.d.o: win32.c memory.h compatibility.h config.h ../config/m.h \
|
||||
../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
|
||||
osdeps.h signals.h
|
||||
|
|
|
@ -115,7 +115,7 @@ version.h : ../stdlib/sys.ml
|
|||
@ if test -f $*.f.o; then mv $*.f.o $*.o; else :; fi
|
||||
|
||||
depend : prims.c opnames.h jumptbl.h version.h
|
||||
gcc -MM $(BYTECCCOMPOPTS) *.c > .depend
|
||||
gcc -MM $(BYTECCCOMPOPTS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
|
||||
-gcc -MM $(BYTECCCOMPOPTS) *.c > .depend
|
||||
-gcc -MM $(BYTECCCOMPOPTS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
|
||||
|
||||
include .depend
|
||||
|
|
|
@ -536,17 +536,23 @@ CAMLprim value caml_output_value_to_string(value v, value flags)
|
|||
{
|
||||
intnat len, ofs;
|
||||
value res;
|
||||
struct output_block * blk;
|
||||
struct output_block * blk, * nextblk;
|
||||
|
||||
init_extern_output();
|
||||
len = extern_value(v, flags);
|
||||
/* PR#4030: it is prudent to save extern_output_first before allocating
|
||||
the result, as in caml_output_val */
|
||||
blk = extern_output_first;
|
||||
res = caml_alloc_string(len);
|
||||
for (ofs = 0, blk = extern_output_first; blk != NULL; blk = blk->next) {
|
||||
ofs = 0;
|
||||
while (blk != NULL) {
|
||||
int n = blk->end - blk->data;
|
||||
memmove(&Byte(res, ofs), blk->data, n);
|
||||
ofs += n;
|
||||
nextblk = blk->next;
|
||||
free(blk);
|
||||
blk = nextblk;
|
||||
}
|
||||
free_extern_output();
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
|
@ -278,8 +278,9 @@ CAMLextern struct caml__roots_block *caml_local_roots; /* defined in roots.c */
|
|||
}while (0)
|
||||
|
||||
#define CAMLreturn(result) do{ \
|
||||
value caml__temp_result = (result); \
|
||||
caml_local_roots = caml__frame; \
|
||||
return (result); \
|
||||
return (caml__temp_result); \
|
||||
}while(0)
|
||||
|
||||
#define CAMLnoreturn ((void) caml__frame)
|
||||
|
|
|
@ -311,7 +311,10 @@ CAMLprim value caml_sys_read_directory(value path)
|
|||
struct ext_table tbl;
|
||||
|
||||
caml_ext_table_init(&tbl, 50);
|
||||
if (caml_read_directory(String_val(path), &tbl) == -1) caml_sys_error(path);
|
||||
if (caml_read_directory(String_val(path), &tbl) == -1){
|
||||
caml_ext_table_free(&tbl, 1);
|
||||
caml_sys_error(path);
|
||||
}
|
||||
caml_ext_table_add(&tbl, NULL);
|
||||
result = caml_copy_string_array((char const **) tbl.contents);
|
||||
caml_ext_table_free(&tbl, 1);
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
#########################################################################
|
||||
# #
|
||||
# Objective Caml #
|
||||
# #
|
||||
# Nicolas Pouillard, projet Gallium, INRIA Rocquencourt #
|
||||
# #
|
||||
# Copyright 2006 Institut National de Recherche en Informatique et #
|
||||
# en Automatique. All rights reserved. This file is distributed #
|
||||
# under the terms of the Q Public License version 1.0. #
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
# $Id$
|
||||
|
||||
OCAMLRUN=CAML_LD_LIBRARY_PATH=../otherlibs/unix ../boot/ocamlrun
|
||||
|
@ -31,6 +43,8 @@ uninstall:
|
|||
rm -rf "$(LIBDIR)/camlp4"
|
||||
cd "$(BINDIR)"; rm -f *camlp4*
|
||||
|
||||
depend:
|
||||
|
||||
# Normal bootstrap
|
||||
|
||||
bootstrap: backup promote clean all compare
|
||||
|
@ -52,5 +66,5 @@ compare:
|
|||
fi
|
||||
|
||||
.PHONY: clean install all uninstall backup restore boot-clean promote-debug \
|
||||
promote compare opt doc cleanall all-local clean-local
|
||||
promote compare opt doc cleanall all-local clean-local depend
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ EXE=.exe
|
|||
########## Configuration for the bytecode compiler
|
||||
|
||||
### Which C compiler to use for the bytecode interpreter.
|
||||
BYTECC=cl /nologo
|
||||
BYTECC=cl /nologo -D_CRT_SECURE_NO_DEPRECATE
|
||||
|
||||
### Additional compile-time options for $(BYTECC). (For static linking.)
|
||||
BYTECCCOMPOPTS=/Ox /MT
|
||||
|
@ -67,7 +67,7 @@ CPP=cl /nologo /EP
|
|||
MKDLL=link /nologo /dll /out:$(1) /implib:$(2) $(3)
|
||||
|
||||
### How to build a static library
|
||||
MKLIB=link /lib /nologo /debugtype:CV /out:$(1) $(2)
|
||||
MKLIB=link /lib /nologo /out:$(1) $(2)
|
||||
|
||||
### Canonicalize the name of a system library
|
||||
SYSLIB=$(1).lib
|
||||
|
@ -90,7 +90,7 @@ MODEL=default
|
|||
SYSTEM=win32
|
||||
|
||||
### Which C compiler to use for the native-code compiler.
|
||||
NATIVECC=cl /nologo
|
||||
NATIVECC=cl /nologo -D_CRT_SECURE_NO_DEPRECATE
|
||||
|
||||
### Additional compile-time options for $(NATIVECC).
|
||||
NATIVECCCOMPOPTS=/Ox /MT
|
||||
|
@ -99,7 +99,7 @@ NATIVECCCOMPOPTS=/Ox /MT
|
|||
NATIVECCLINKOPTS=/MT
|
||||
|
||||
### Build partially-linked object file
|
||||
PARTIALLD=lib /nologo /debugtype:cv
|
||||
PARTIALLD=lib /nologo
|
||||
PACKLD=ld -r --oformat pe-i386
|
||||
|
||||
############# Configuration for the contributed libraries
|
||||
|
|
320
debugger/.depend
320
debugger/.depend
|
@ -1,60 +1,64 @@
|
|||
breakpoints.cmi: primitives.cmi ../bytecomp/instruct.cmi
|
||||
checkpoints.cmi: primitives.cmi debugcom.cmi
|
||||
debugcom.cmi: primitives.cmi
|
||||
breakpoints.cmi: ./primitives.cmi ../bytecomp/instruct.cmi
|
||||
checkpoints.cmi: ./primitives.cmi ./debugcom.cmi
|
||||
debugcom.cmi: ./primitives.cmi
|
||||
envaux.cmi: ../typing/path.cmi ../bytecomp/instruct.cmi ../typing/env.cmi
|
||||
eval.cmi: ../typing/types.cmi ../typing/path.cmi parser_aux.cmi \
|
||||
eval.cmi: ../typing/types.cmi ../typing/path.cmi ./parser_aux.cmi \
|
||||
../parsing/longident.cmi ../bytecomp/instruct.cmi ../typing/ident.cmi \
|
||||
../typing/env.cmi debugcom.cmi
|
||||
../typing/env.cmi ./debugcom.cmi
|
||||
events.cmi: ../bytecomp/instruct.cmi
|
||||
frames.cmi: primitives.cmi ../bytecomp/instruct.cmi
|
||||
input_handling.cmi: primitives.cmi
|
||||
lexer.cmi: parser.cmi
|
||||
loadprinter.cmi: ../parsing/longident.cmi dynlink.cmi
|
||||
parser_aux.cmi: primitives.cmi ../parsing/longident.cmi
|
||||
parser.cmi: parser_aux.cmi ../parsing/longident.cmi
|
||||
pattern_matching.cmi: ../typing/typedtree.cmi parser_aux.cmi debugcom.cmi
|
||||
frames.cmi: ./primitives.cmi ../bytecomp/instruct.cmi
|
||||
input_handling.cmi: ./primitives.cmi
|
||||
lexer.cmi: ./parser.cmi
|
||||
loadprinter.cmi: ../parsing/longident.cmi ./dynlink.cmi
|
||||
parser.cmi: ./parser_aux.cmi ../parsing/longident.cmi
|
||||
parser_aux.cmi: ./primitives.cmi ../parsing/longident.cmi
|
||||
pattern_matching.cmi: ../typing/typedtree.cmi ./parser_aux.cmi ./debugcom.cmi
|
||||
pos.cmi: ../bytecomp/instruct.cmi
|
||||
primitives.cmi: ../otherlibs/unix/unix.cmi
|
||||
printval.cmi: ../typing/types.cmi ../typing/path.cmi parser_aux.cmi \
|
||||
../typing/env.cmi debugcom.cmi
|
||||
program_loading.cmi: primitives.cmi
|
||||
printval.cmi: ../typing/types.cmi ../typing/path.cmi ./parser_aux.cmi \
|
||||
../typing/env.cmi ./debugcom.cmi
|
||||
program_loading.cmi: ./primitives.cmi
|
||||
show_information.cmi: ../bytecomp/instruct.cmi
|
||||
show_source.cmi: ../bytecomp/instruct.cmi
|
||||
symbols.cmi: ../bytecomp/instruct.cmi
|
||||
time_travel.cmi: primitives.cmi
|
||||
time_travel.cmi: ./primitives.cmi
|
||||
unix_tools.cmi: ../otherlibs/unix/unix.cmi
|
||||
breakpoints.cmo: symbols.cmi source.cmi primitives.cmi pos.cmi \
|
||||
../bytecomp/instruct.cmi exec.cmi debugcom.cmi checkpoints.cmi \
|
||||
breakpoints.cmo: ./symbols.cmi ./source.cmi ./primitives.cmi ./pos.cmi \
|
||||
../bytecomp/instruct.cmi ./exec.cmi ./debugcom.cmi ./checkpoints.cmi \
|
||||
breakpoints.cmi
|
||||
breakpoints.cmx: symbols.cmx source.cmx primitives.cmx pos.cmx \
|
||||
../bytecomp/instruct.cmx exec.cmx debugcom.cmx checkpoints.cmx \
|
||||
breakpoints.cmx: ./symbols.cmx ./source.cmx ./primitives.cmx ./pos.cmx \
|
||||
../bytecomp/instruct.cmx ./exec.cmx ./debugcom.cmx ./checkpoints.cmx \
|
||||
breakpoints.cmi
|
||||
checkpoints.cmo: primitives.cmi int64ops.cmi debugcom.cmi checkpoints.cmi
|
||||
checkpoints.cmx: primitives.cmx int64ops.cmx debugcom.cmx checkpoints.cmi
|
||||
command_line.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi \
|
||||
../typing/types.cmi time_travel.cmi symbols.cmi source.cmi \
|
||||
show_source.cmi show_information.cmi program_management.cmi \
|
||||
program_loading.cmi printval.cmi primitives.cmi pos.cmi parser_aux.cmi \
|
||||
parser.cmi parameters.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
loadprinter.cmi lexer.cmi int64ops.cmi ../bytecomp/instruct.cmi \
|
||||
input_handling.cmi history.cmi frames.cmi events.cmi eval.cmi envaux.cmi \
|
||||
debugger_config.cmi debugcom.cmi ../typing/ctype.cmi ../utils/config.cmi \
|
||||
checkpoints.cmi breakpoints.cmi command_line.cmi
|
||||
command_line.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx \
|
||||
../typing/types.cmx time_travel.cmx symbols.cmx source.cmx \
|
||||
show_source.cmx show_information.cmx program_management.cmx \
|
||||
program_loading.cmx printval.cmx primitives.cmx pos.cmx parser_aux.cmi \
|
||||
parser.cmx parameters.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
loadprinter.cmx lexer.cmx int64ops.cmx ../bytecomp/instruct.cmx \
|
||||
input_handling.cmx history.cmx frames.cmx events.cmx eval.cmx envaux.cmx \
|
||||
debugger_config.cmx debugcom.cmx ../typing/ctype.cmx ../utils/config.cmx \
|
||||
checkpoints.cmx breakpoints.cmx command_line.cmi
|
||||
debugcom.cmo: primitives.cmi ../utils/misc.cmi int64ops.cmi \
|
||||
input_handling.cmi debugcom.cmi
|
||||
debugcom.cmx: primitives.cmx ../utils/misc.cmx int64ops.cmx \
|
||||
input_handling.cmx debugcom.cmi
|
||||
debugger_config.cmo: int64ops.cmi debugger_config.cmi
|
||||
debugger_config.cmx: int64ops.cmx debugger_config.cmi
|
||||
checkpoints.cmo: ./primitives.cmi ./int64ops.cmi ./debugcom.cmi \
|
||||
checkpoints.cmi
|
||||
checkpoints.cmx: ./primitives.cmx ./int64ops.cmx ./debugcom.cmx \
|
||||
checkpoints.cmi
|
||||
command_line.cmo: ./unix_tools.cmi ../otherlibs/unix/unix.cmi \
|
||||
../typing/types.cmi ./time_travel.cmi ./symbols.cmi ./source.cmi \
|
||||
./show_source.cmi ./show_information.cmi ./program_management.cmi \
|
||||
./program_loading.cmi ./printval.cmi ./primitives.cmi ./pos.cmi \
|
||||
./parser_aux.cmi ./parser.cmi ./parameters.cmi ../utils/misc.cmi \
|
||||
../parsing/location.cmi ./loadprinter.cmi ./lexer.cmi ./int64ops.cmi \
|
||||
../bytecomp/instruct.cmi ./input_handling.cmi ./history.cmi ./frames.cmi \
|
||||
./events.cmi ./eval.cmi ./envaux.cmi ./debugger_config.cmi ./debugcom.cmi \
|
||||
../typing/ctype.cmi ../utils/config.cmi ./checkpoints.cmi \
|
||||
./breakpoints.cmi command_line.cmi
|
||||
command_line.cmx: ./unix_tools.cmx ../otherlibs/unix/unix.cmx \
|
||||
../typing/types.cmx ./time_travel.cmx ./symbols.cmx ./source.cmx \
|
||||
./show_source.cmx ./show_information.cmx ./program_management.cmx \
|
||||
./program_loading.cmx ./printval.cmx ./primitives.cmx ./pos.cmx \
|
||||
./parser_aux.cmi ./parser.cmx ./parameters.cmx ../utils/misc.cmx \
|
||||
../parsing/location.cmx ./loadprinter.cmx ./lexer.cmx ./int64ops.cmx \
|
||||
../bytecomp/instruct.cmx ./input_handling.cmx ./history.cmx ./frames.cmx \
|
||||
./events.cmx ./eval.cmx ./envaux.cmx ./debugger_config.cmx ./debugcom.cmx \
|
||||
../typing/ctype.cmx ../utils/config.cmx ./checkpoints.cmx \
|
||||
./breakpoints.cmx command_line.cmi
|
||||
debugcom.cmo: ./primitives.cmi ../utils/misc.cmi ./int64ops.cmi \
|
||||
./input_handling.cmi debugcom.cmi
|
||||
debugcom.cmx: ./primitives.cmx ../utils/misc.cmx ./int64ops.cmx \
|
||||
./input_handling.cmx debugcom.cmi
|
||||
debugger_config.cmo: ./int64ops.cmi debugger_config.cmi
|
||||
debugger_config.cmx: ./int64ops.cmx debugger_config.cmi
|
||||
dynlink.cmo: ../bytecomp/symtable.cmi ../bytecomp/opcodes.cmo \
|
||||
../utils/misc.cmi ../bytecomp/meta.cmi ../bytecomp/dll.cmi \
|
||||
../utils/consistbl.cmi ../utils/config.cmi ../bytecomp/cmo_format.cmi \
|
||||
|
@ -69,137 +73,145 @@ envaux.cmo: ../typing/types.cmi ../typing/printtyp.cmi ../typing/path.cmi \
|
|||
envaux.cmx: ../typing/types.cmx ../typing/printtyp.cmx ../typing/path.cmx \
|
||||
../typing/mtype.cmx ../utils/misc.cmx ../bytecomp/instruct.cmx \
|
||||
../typing/env.cmx envaux.cmi
|
||||
eval.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi printval.cmi \
|
||||
eval.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi ./printval.cmi \
|
||||
../typing/printtyp.cmi ../typing/predef.cmi ../typing/path.cmi \
|
||||
parser_aux.cmi ../utils/misc.cmi ../parsing/longident.cmi \
|
||||
../bytecomp/instruct.cmi ../typing/ident.cmi frames.cmi ../typing/env.cmi \
|
||||
debugger_config.cmi debugcom.cmi ../typing/ctype.cmi ../typing/btype.cmi \
|
||||
eval.cmi
|
||||
eval.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx printval.cmx \
|
||||
./parser_aux.cmi ../utils/misc.cmi ../parsing/longident.cmi \
|
||||
../bytecomp/instruct.cmi ../typing/ident.cmi ./frames.cmi \
|
||||
../typing/env.cmi ./debugger_config.cmi ./debugcom.cmi \
|
||||
../typing/ctype.cmi ../typing/btype.cmi eval.cmi
|
||||
eval.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx ./printval.cmx \
|
||||
../typing/printtyp.cmx ../typing/predef.cmx ../typing/path.cmx \
|
||||
parser_aux.cmi ../utils/misc.cmx ../parsing/longident.cmx \
|
||||
../bytecomp/instruct.cmx ../typing/ident.cmx frames.cmx ../typing/env.cmx \
|
||||
debugger_config.cmx debugcom.cmx ../typing/ctype.cmx ../typing/btype.cmx \
|
||||
eval.cmi
|
||||
events.cmo: primitives.cmi ../parsing/location.cmi ../bytecomp/instruct.cmi \
|
||||
checkpoints.cmi events.cmi
|
||||
events.cmx: primitives.cmx ../parsing/location.cmx ../bytecomp/instruct.cmx \
|
||||
checkpoints.cmx events.cmi
|
||||
./parser_aux.cmi ../utils/misc.cmx ../parsing/longident.cmx \
|
||||
../bytecomp/instruct.cmx ../typing/ident.cmx ./frames.cmx \
|
||||
../typing/env.cmx ./debugger_config.cmx ./debugcom.cmx \
|
||||
../typing/ctype.cmx ../typing/btype.cmx eval.cmi
|
||||
events.cmo: ./primitives.cmi ../parsing/location.cmi ../bytecomp/instruct.cmi \
|
||||
./checkpoints.cmi events.cmi
|
||||
events.cmx: ./primitives.cmx ../parsing/location.cmx ../bytecomp/instruct.cmx \
|
||||
./checkpoints.cmx events.cmi
|
||||
exec.cmo: exec.cmi
|
||||
exec.cmx: exec.cmi
|
||||
frames.cmo: symbols.cmi primitives.cmi ../utils/misc.cmi \
|
||||
../bytecomp/instruct.cmi events.cmi debugcom.cmi checkpoints.cmi \
|
||||
frames.cmo: ./symbols.cmi ./primitives.cmi ../utils/misc.cmi \
|
||||
../bytecomp/instruct.cmi ./events.cmi ./debugcom.cmi ./checkpoints.cmi \
|
||||
frames.cmi
|
||||
frames.cmx: symbols.cmx primitives.cmx ../utils/misc.cmx \
|
||||
../bytecomp/instruct.cmx events.cmx debugcom.cmx checkpoints.cmx \
|
||||
frames.cmx: ./symbols.cmx ./primitives.cmx ../utils/misc.cmx \
|
||||
../bytecomp/instruct.cmx ./events.cmx ./debugcom.cmx ./checkpoints.cmx \
|
||||
frames.cmi
|
||||
history.cmo: primitives.cmi ../utils/misc.cmi int64ops.cmi \
|
||||
debugger_config.cmi checkpoints.cmi history.cmi
|
||||
history.cmx: primitives.cmx ../utils/misc.cmx int64ops.cmx \
|
||||
debugger_config.cmx checkpoints.cmx history.cmi
|
||||
input_handling.cmo: ../otherlibs/unix/unix.cmi primitives.cmi lexer.cmi \
|
||||
history.cmo: ./primitives.cmi ../utils/misc.cmi ./int64ops.cmi \
|
||||
./debugger_config.cmi ./checkpoints.cmi history.cmi
|
||||
history.cmx: ./primitives.cmx ../utils/misc.cmx ./int64ops.cmx \
|
||||
./debugger_config.cmx ./checkpoints.cmx history.cmi
|
||||
input_handling.cmo: ../otherlibs/unix/unix.cmi ./primitives.cmi ./lexer.cmi \
|
||||
input_handling.cmi
|
||||
input_handling.cmx: ../otherlibs/unix/unix.cmx primitives.cmx lexer.cmx \
|
||||
input_handling.cmx: ../otherlibs/unix/unix.cmx ./primitives.cmx ./lexer.cmx \
|
||||
input_handling.cmi
|
||||
int64ops.cmo: int64ops.cmi
|
||||
int64ops.cmx: int64ops.cmi
|
||||
lexer.cmo: primitives.cmi parser.cmi lexer.cmi
|
||||
lexer.cmx: primitives.cmx parser.cmx lexer.cmi
|
||||
loadprinter.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi printval.cmi \
|
||||
lexer.cmo: ./primitives.cmi ./parser.cmi lexer.cmi
|
||||
lexer.cmx: ./primitives.cmx ./parser.cmx lexer.cmi
|
||||
loadprinter.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi ./printval.cmi \
|
||||
../typing/printtyp.cmi ../typing/path.cmi ../utils/misc.cmi \
|
||||
../parsing/longident.cmi ../typing/ident.cmi ../typing/env.cmi \
|
||||
dynlink.cmi debugger_config.cmi ../typing/ctype.cmi ../utils/config.cmi \
|
||||
loadprinter.cmi
|
||||
loadprinter.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx printval.cmx \
|
||||
./dynlink.cmi ./debugger_config.cmi ../typing/ctype.cmi \
|
||||
../utils/config.cmi loadprinter.cmi
|
||||
loadprinter.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx ./printval.cmx \
|
||||
../typing/printtyp.cmx ../typing/path.cmx ../utils/misc.cmx \
|
||||
../parsing/longident.cmx ../typing/ident.cmx ../typing/env.cmx \
|
||||
dynlink.cmx debugger_config.cmx ../typing/ctype.cmx ../utils/config.cmx \
|
||||
loadprinter.cmi
|
||||
main.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi time_travel.cmi \
|
||||
show_information.cmi program_management.cmi primitives.cmi parameters.cmi \
|
||||
../utils/misc.cmi input_handling.cmi frames.cmi exec.cmi \
|
||||
../typing/env.cmi debugger_config.cmi ../utils/config.cmi \
|
||||
command_line.cmi checkpoints.cmi
|
||||
main.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx time_travel.cmx \
|
||||
show_information.cmx program_management.cmx primitives.cmx parameters.cmx \
|
||||
../utils/misc.cmx input_handling.cmx frames.cmx exec.cmx \
|
||||
../typing/env.cmx debugger_config.cmx ../utils/config.cmx \
|
||||
command_line.cmx checkpoints.cmx
|
||||
parameters.cmo: primitives.cmi ../utils/misc.cmi envaux.cmi \
|
||||
./dynlink.cmx ./debugger_config.cmx ../typing/ctype.cmx \
|
||||
../utils/config.cmx loadprinter.cmi
|
||||
main.cmo: ./unix_tools.cmi ../otherlibs/unix/unix.cmi ./time_travel.cmi \
|
||||
./show_information.cmi ./program_management.cmi ./primitives.cmi \
|
||||
./parameters.cmi ../utils/misc.cmi ./input_handling.cmi ./frames.cmi \
|
||||
./exec.cmi ../typing/env.cmi ./debugger_config.cmi ../utils/config.cmi \
|
||||
./command_line.cmi ./checkpoints.cmi
|
||||
main.cmx: ./unix_tools.cmx ../otherlibs/unix/unix.cmx ./time_travel.cmx \
|
||||
./show_information.cmx ./program_management.cmx ./primitives.cmx \
|
||||
./parameters.cmx ../utils/misc.cmx ./input_handling.cmx ./frames.cmx \
|
||||
./exec.cmx ../typing/env.cmx ./debugger_config.cmx ../utils/config.cmx \
|
||||
./command_line.cmx ./checkpoints.cmx
|
||||
parameters.cmo: ./primitives.cmi ../utils/misc.cmi ./envaux.cmi \
|
||||
../utils/config.cmi parameters.cmi
|
||||
parameters.cmx: primitives.cmx ../utils/misc.cmx envaux.cmx \
|
||||
parameters.cmx: ./primitives.cmx ../utils/misc.cmx ./envaux.cmx \
|
||||
../utils/config.cmx parameters.cmi
|
||||
parser.cmo: primitives.cmi parser_aux.cmi ../parsing/longident.cmi \
|
||||
int64ops.cmi input_handling.cmi parser.cmi
|
||||
parser.cmx: primitives.cmx parser_aux.cmi ../parsing/longident.cmx \
|
||||
int64ops.cmx input_handling.cmx parser.cmi
|
||||
pattern_matching.cmo: ../typing/typedtree.cmi parser_aux.cmi \
|
||||
../utils/misc.cmi debugger_config.cmi debugcom.cmi ../typing/ctype.cmi \
|
||||
pattern_matching.cmi
|
||||
pattern_matching.cmx: ../typing/typedtree.cmx parser_aux.cmi \
|
||||
../utils/misc.cmx debugger_config.cmx debugcom.cmx ../typing/ctype.cmx \
|
||||
pattern_matching.cmi
|
||||
pos.cmo: source.cmi primitives.cmi ../parsing/location.cmi \
|
||||
parser.cmo: ./primitives.cmi ./parser_aux.cmi ../parsing/longident.cmi \
|
||||
./int64ops.cmi ./input_handling.cmi parser.cmi
|
||||
parser.cmx: ./primitives.cmx ./parser_aux.cmi ../parsing/longident.cmx \
|
||||
./int64ops.cmx ./input_handling.cmx parser.cmi
|
||||
pattern_matching.cmo: ../typing/typedtree.cmi ./parser_aux.cmi \
|
||||
../utils/misc.cmi ./debugger_config.cmi ./debugcom.cmi \
|
||||
../typing/ctype.cmi pattern_matching.cmi
|
||||
pattern_matching.cmx: ../typing/typedtree.cmx ./parser_aux.cmi \
|
||||
../utils/misc.cmx ./debugger_config.cmx ./debugcom.cmx \
|
||||
../typing/ctype.cmx pattern_matching.cmi
|
||||
pos.cmo: ./source.cmi ./primitives.cmi ../parsing/location.cmi \
|
||||
../bytecomp/instruct.cmi pos.cmi
|
||||
pos.cmx: source.cmx primitives.cmx ../parsing/location.cmx \
|
||||
pos.cmx: ./source.cmx ./primitives.cmx ../parsing/location.cmx \
|
||||
../bytecomp/instruct.cmx pos.cmi
|
||||
primitives.cmo: ../otherlibs/unix/unix.cmi primitives.cmi
|
||||
primitives.cmx: ../otherlibs/unix/unix.cmx primitives.cmi
|
||||
printval.cmo: ../typing/types.cmi ../bytecomp/symtable.cmi \
|
||||
../typing/printtyp.cmi ../typing/path.cmi parser_aux.cmi \
|
||||
../typing/printtyp.cmi ../typing/path.cmi ./parser_aux.cmi \
|
||||
../typing/outcometree.cmi ../typing/oprint.cmi ../utils/misc.cmi \
|
||||
../toplevel/genprintval.cmi debugcom.cmi printval.cmi
|
||||
../toplevel/genprintval.cmi ./debugcom.cmi printval.cmi
|
||||
printval.cmx: ../typing/types.cmx ../bytecomp/symtable.cmx \
|
||||
../typing/printtyp.cmx ../typing/path.cmx parser_aux.cmi \
|
||||
../typing/printtyp.cmx ../typing/path.cmx ./parser_aux.cmi \
|
||||
../typing/outcometree.cmi ../typing/oprint.cmx ../utils/misc.cmx \
|
||||
../toplevel/genprintval.cmx debugcom.cmx printval.cmi
|
||||
program_loading.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi primitives.cmi \
|
||||
parameters.cmi ../utils/misc.cmi input_handling.cmi debugger_config.cmi \
|
||||
program_loading.cmi
|
||||
program_loading.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx primitives.cmx \
|
||||
parameters.cmx ../utils/misc.cmx input_handling.cmx debugger_config.cmx \
|
||||
program_loading.cmi
|
||||
program_management.cmo: unix_tools.cmi ../otherlibs/unix/unix.cmi \
|
||||
time_travel.cmi symbols.cmi program_loading.cmi primitives.cmi \
|
||||
parameters.cmi ../utils/misc.cmi int64ops.cmi ../bytecomp/instruct.cmi \
|
||||
input_handling.cmi history.cmi debugger_config.cmi debugcom.cmi \
|
||||
breakpoints.cmi program_management.cmi
|
||||
program_management.cmx: unix_tools.cmx ../otherlibs/unix/unix.cmx \
|
||||
time_travel.cmx symbols.cmx program_loading.cmx primitives.cmx \
|
||||
parameters.cmx ../utils/misc.cmx int64ops.cmx ../bytecomp/instruct.cmx \
|
||||
input_handling.cmx history.cmx debugger_config.cmx debugcom.cmx \
|
||||
breakpoints.cmx program_management.cmi
|
||||
show_information.cmo: symbols.cmi show_source.cmi printval.cmi primitives.cmi \
|
||||
../utils/misc.cmi ../bytecomp/instruct.cmi frames.cmi events.cmi \
|
||||
debugcom.cmi checkpoints.cmi breakpoints.cmi show_information.cmi
|
||||
show_information.cmx: symbols.cmx show_source.cmx printval.cmx primitives.cmx \
|
||||
../utils/misc.cmx ../bytecomp/instruct.cmx frames.cmx events.cmx \
|
||||
debugcom.cmx checkpoints.cmx breakpoints.cmx show_information.cmi
|
||||
show_source.cmo: source.cmi primitives.cmi parameters.cmi ../utils/misc.cmi \
|
||||
../parsing/location.cmi ../bytecomp/instruct.cmi events.cmi \
|
||||
debugger_config.cmi show_source.cmi
|
||||
show_source.cmx: source.cmx primitives.cmx parameters.cmx ../utils/misc.cmx \
|
||||
../parsing/location.cmx ../bytecomp/instruct.cmx events.cmx \
|
||||
debugger_config.cmx show_source.cmi
|
||||
source.cmo: primitives.cmi ../utils/misc.cmi ../utils/config.cmi source.cmi
|
||||
source.cmx: primitives.cmx ../utils/misc.cmx ../utils/config.cmx source.cmi
|
||||
symbols.cmo: ../bytecomp/symtable.cmi primitives.cmi ../bytecomp/instruct.cmi \
|
||||
events.cmi debugger_config.cmi debugcom.cmi checkpoints.cmi \
|
||||
../bytecomp/bytesections.cmi symbols.cmi
|
||||
symbols.cmx: ../bytecomp/symtable.cmx primitives.cmx ../bytecomp/instruct.cmx \
|
||||
events.cmx debugger_config.cmx debugcom.cmx checkpoints.cmx \
|
||||
../bytecomp/bytesections.cmx symbols.cmi
|
||||
time_travel.cmo: trap_barrier.cmi symbols.cmi program_loading.cmi \
|
||||
primitives.cmi ../utils/misc.cmi int64ops.cmi ../bytecomp/instruct.cmi \
|
||||
input_handling.cmi exec.cmi events.cmi debugger_config.cmi debugcom.cmi \
|
||||
checkpoints.cmi breakpoints.cmi time_travel.cmi
|
||||
time_travel.cmx: trap_barrier.cmx symbols.cmx program_loading.cmx \
|
||||
primitives.cmx ../utils/misc.cmx int64ops.cmx ../bytecomp/instruct.cmx \
|
||||
input_handling.cmx exec.cmx events.cmx debugger_config.cmx debugcom.cmx \
|
||||
checkpoints.cmx breakpoints.cmx time_travel.cmi
|
||||
trap_barrier.cmo: exec.cmi debugcom.cmi checkpoints.cmi trap_barrier.cmi
|
||||
trap_barrier.cmx: exec.cmx debugcom.cmx checkpoints.cmx trap_barrier.cmi
|
||||
unix_tools.cmo: ../otherlibs/unix/unix.cmi primitives.cmi ../utils/misc.cmi \
|
||||
../toplevel/genprintval.cmx ./debugcom.cmx printval.cmi
|
||||
program_loading.cmo: ./unix_tools.cmi ../otherlibs/unix/unix.cmi \
|
||||
./primitives.cmi ./parameters.cmi ../utils/misc.cmi ./input_handling.cmi \
|
||||
./debugger_config.cmi program_loading.cmi
|
||||
program_loading.cmx: ./unix_tools.cmx ../otherlibs/unix/unix.cmx \
|
||||
./primitives.cmx ./parameters.cmx ../utils/misc.cmx ./input_handling.cmx \
|
||||
./debugger_config.cmx program_loading.cmi
|
||||
program_management.cmo: ./unix_tools.cmi ../otherlibs/unix/unix.cmi \
|
||||
./time_travel.cmi ./symbols.cmi ./program_loading.cmi ./primitives.cmi \
|
||||
./parameters.cmi ../utils/misc.cmi ./int64ops.cmi \
|
||||
../bytecomp/instruct.cmi ./input_handling.cmi ./history.cmi \
|
||||
./debugger_config.cmi ./debugcom.cmi ./breakpoints.cmi \
|
||||
program_management.cmi
|
||||
program_management.cmx: ./unix_tools.cmx ../otherlibs/unix/unix.cmx \
|
||||
./time_travel.cmx ./symbols.cmx ./program_loading.cmx ./primitives.cmx \
|
||||
./parameters.cmx ../utils/misc.cmx ./int64ops.cmx \
|
||||
../bytecomp/instruct.cmx ./input_handling.cmx ./history.cmx \
|
||||
./debugger_config.cmx ./debugcom.cmx ./breakpoints.cmx \
|
||||
program_management.cmi
|
||||
show_information.cmo: ./symbols.cmi ./show_source.cmi ./printval.cmi \
|
||||
./primitives.cmi ../utils/misc.cmi ../bytecomp/instruct.cmi ./frames.cmi \
|
||||
./events.cmi ./debugcom.cmi ./checkpoints.cmi ./breakpoints.cmi \
|
||||
show_information.cmi
|
||||
show_information.cmx: ./symbols.cmx ./show_source.cmx ./printval.cmx \
|
||||
./primitives.cmx ../utils/misc.cmx ../bytecomp/instruct.cmx ./frames.cmx \
|
||||
./events.cmx ./debugcom.cmx ./checkpoints.cmx ./breakpoints.cmx \
|
||||
show_information.cmi
|
||||
show_source.cmo: ./source.cmi ./primitives.cmi ./parameters.cmi \
|
||||
../utils/misc.cmi ../parsing/location.cmi ../bytecomp/instruct.cmi \
|
||||
./events.cmi ./debugger_config.cmi show_source.cmi
|
||||
show_source.cmx: ./source.cmx ./primitives.cmx ./parameters.cmx \
|
||||
../utils/misc.cmx ../parsing/location.cmx ../bytecomp/instruct.cmx \
|
||||
./events.cmx ./debugger_config.cmx show_source.cmi
|
||||
source.cmo: ./primitives.cmi ../utils/misc.cmi ../utils/config.cmi source.cmi
|
||||
source.cmx: ./primitives.cmx ../utils/misc.cmx ../utils/config.cmx source.cmi
|
||||
symbols.cmo: ../bytecomp/symtable.cmi ./primitives.cmi \
|
||||
../bytecomp/instruct.cmi ./events.cmi ./debugger_config.cmi \
|
||||
./debugcom.cmi ./checkpoints.cmi ../bytecomp/bytesections.cmi symbols.cmi
|
||||
symbols.cmx: ../bytecomp/symtable.cmx ./primitives.cmx \
|
||||
../bytecomp/instruct.cmx ./events.cmx ./debugger_config.cmx \
|
||||
./debugcom.cmx ./checkpoints.cmx ../bytecomp/bytesections.cmx symbols.cmi
|
||||
time_travel.cmo: ./trap_barrier.cmi ./symbols.cmi ./program_loading.cmi \
|
||||
./primitives.cmi ../utils/misc.cmi ./int64ops.cmi \
|
||||
../bytecomp/instruct.cmi ./input_handling.cmi ./exec.cmi ./events.cmi \
|
||||
./debugger_config.cmi ./debugcom.cmi ./checkpoints.cmi ./breakpoints.cmi \
|
||||
time_travel.cmi
|
||||
time_travel.cmx: ./trap_barrier.cmx ./symbols.cmx ./program_loading.cmx \
|
||||
./primitives.cmx ../utils/misc.cmx ./int64ops.cmx \
|
||||
../bytecomp/instruct.cmx ./input_handling.cmx ./exec.cmx ./events.cmx \
|
||||
./debugger_config.cmx ./debugcom.cmx ./checkpoints.cmx ./breakpoints.cmx \
|
||||
time_travel.cmi
|
||||
trap_barrier.cmo: ./exec.cmi ./debugcom.cmi ./checkpoints.cmi \
|
||||
trap_barrier.cmi
|
||||
trap_barrier.cmx: ./exec.cmx ./debugcom.cmx ./checkpoints.cmx \
|
||||
trap_barrier.cmi
|
||||
unix_tools.cmo: ../otherlibs/unix/unix.cmi ./primitives.cmi ../utils/misc.cmi \
|
||||
unix_tools.cmi
|
||||
unix_tools.cmx: ../otherlibs/unix/unix.cmx primitives.cmx ../utils/misc.cmx \
|
||||
unix_tools.cmx: ../otherlibs/unix/unix.cmx ./primitives.cmx ../utils/misc.cmx \
|
||||
unix_tools.cmi
|
||||
|
|
56
lex/.depend
56
lex/.depend
|
@ -1,32 +1,32 @@
|
|||
common.cmi: syntax.cmi lexgen.cmi
|
||||
compact.cmi: lexgen.cmi
|
||||
lexer.cmi: parser.cmi
|
||||
lexgen.cmi: syntax.cmi
|
||||
output.cmi: syntax.cmi lexgen.cmi compact.cmi common.cmi
|
||||
outputbis.cmi: syntax.cmi lexgen.cmi common.cmi
|
||||
parser.cmi: syntax.cmi
|
||||
syntax.cmi: cset.cmi
|
||||
common.cmo: syntax.cmi lexgen.cmi common.cmi
|
||||
common.cmx: syntax.cmx lexgen.cmx common.cmi
|
||||
compact.cmo: table.cmi lexgen.cmi compact.cmi
|
||||
compact.cmx: table.cmx lexgen.cmx compact.cmi
|
||||
common.cmi: ./syntax.cmi ./lexgen.cmi
|
||||
compact.cmi: ./lexgen.cmi
|
||||
lexer.cmi: ./parser.cmi
|
||||
lexgen.cmi: ./syntax.cmi
|
||||
output.cmi: ./syntax.cmi ./lexgen.cmi ./compact.cmi ./common.cmi
|
||||
outputbis.cmi: ./syntax.cmi ./lexgen.cmi ./common.cmi
|
||||
parser.cmi: ./syntax.cmi
|
||||
syntax.cmi: ./cset.cmi
|
||||
common.cmo: ./syntax.cmi ./lexgen.cmi common.cmi
|
||||
common.cmx: ./syntax.cmx ./lexgen.cmx common.cmi
|
||||
compact.cmo: ./table.cmi ./lexgen.cmi compact.cmi
|
||||
compact.cmx: ./table.cmx ./lexgen.cmx compact.cmi
|
||||
cset.cmo: cset.cmi
|
||||
cset.cmx: cset.cmi
|
||||
lexer.cmo: syntax.cmi parser.cmi lexer.cmi
|
||||
lexer.cmx: syntax.cmx parser.cmx lexer.cmi
|
||||
lexgen.cmo: table.cmi syntax.cmi cset.cmi lexgen.cmi
|
||||
lexgen.cmx: table.cmx syntax.cmx cset.cmx lexgen.cmi
|
||||
main.cmo: syntax.cmi parser.cmi outputbis.cmi output.cmi lexgen.cmi lexer.cmi \
|
||||
cset.cmi compact.cmi common.cmi
|
||||
main.cmx: syntax.cmx parser.cmx outputbis.cmx output.cmx lexgen.cmx lexer.cmx \
|
||||
cset.cmx compact.cmx common.cmx
|
||||
output.cmo: syntax.cmi lexgen.cmi compact.cmi common.cmi output.cmi
|
||||
output.cmx: syntax.cmx lexgen.cmx compact.cmx common.cmx output.cmi
|
||||
outputbis.cmo: syntax.cmi lexgen.cmi common.cmi outputbis.cmi
|
||||
outputbis.cmx: syntax.cmx lexgen.cmx common.cmx outputbis.cmi
|
||||
parser.cmo: syntax.cmi cset.cmi parser.cmi
|
||||
parser.cmx: syntax.cmx cset.cmx parser.cmi
|
||||
syntax.cmo: cset.cmi syntax.cmi
|
||||
syntax.cmx: cset.cmx syntax.cmi
|
||||
lexer.cmo: ./syntax.cmi ./parser.cmi lexer.cmi
|
||||
lexer.cmx: ./syntax.cmx ./parser.cmx lexer.cmi
|
||||
lexgen.cmo: ./table.cmi ./syntax.cmi ./cset.cmi lexgen.cmi
|
||||
lexgen.cmx: ./table.cmx ./syntax.cmx ./cset.cmx lexgen.cmi
|
||||
main.cmo: ./syntax.cmi ./parser.cmi ./outputbis.cmi ./output.cmi ./lexgen.cmi \
|
||||
./lexer.cmi ./cset.cmi ./compact.cmi ./common.cmi
|
||||
main.cmx: ./syntax.cmx ./parser.cmx ./outputbis.cmx ./output.cmx ./lexgen.cmx \
|
||||
./lexer.cmx ./cset.cmx ./compact.cmx ./common.cmx
|
||||
output.cmo: ./syntax.cmi ./lexgen.cmi ./compact.cmi ./common.cmi output.cmi
|
||||
output.cmx: ./syntax.cmx ./lexgen.cmx ./compact.cmx ./common.cmx output.cmi
|
||||
outputbis.cmo: ./syntax.cmi ./lexgen.cmi ./common.cmi outputbis.cmi
|
||||
outputbis.cmx: ./syntax.cmx ./lexgen.cmx ./common.cmx outputbis.cmi
|
||||
parser.cmo: ./syntax.cmi ./cset.cmi parser.cmi
|
||||
parser.cmx: ./syntax.cmx ./cset.cmx parser.cmi
|
||||
syntax.cmo: ./cset.cmi syntax.cmi
|
||||
syntax.cmx: ./cset.cmx syntax.cmi
|
||||
table.cmo: table.cmi
|
||||
table.cmx: table.cmi
|
||||
|
|
397
ocamldoc/.depend
397
ocamldoc/.depend
|
@ -1,233 +1,242 @@
|
|||
odoc.cmo: ../typing/typedtree.cmi odoc_texi.cmo odoc_messages.cmo \
|
||||
odoc_man.cmo odoc_latex.cmo odoc_info.cmi odoc_html.cmo odoc_global.cmi \
|
||||
odoc_dot.cmo odoc_config.cmi odoc_args.cmi odoc_analyse.cmi \
|
||||
../utils/misc.cmi ../utils/config.cmi ../utils/clflags.cmo
|
||||
odoc.cmx: ../typing/typedtree.cmx odoc_texi.cmx odoc_messages.cmx \
|
||||
odoc_man.cmx odoc_latex.cmx odoc_info.cmx odoc_html.cmx odoc_global.cmx \
|
||||
odoc_dot.cmx odoc_config.cmx odoc_args.cmx odoc_analyse.cmx \
|
||||
../utils/misc.cmx ../utils/config.cmx ../utils/clflags.cmx
|
||||
odoc.cmo: ../typing/typedtree.cmi ./odoc_texi.cmo ./odoc_messages.cmo \
|
||||
./odoc_man.cmo ./odoc_latex.cmo ./odoc_info.cmi ./odoc_html.cmo \
|
||||
./odoc_global.cmi ./odoc_dot.cmo ./odoc_config.cmi ./odoc_args.cmi \
|
||||
./odoc_analyse.cmi ../utils/misc.cmi ../utils/config.cmi \
|
||||
../utils/clflags.cmi
|
||||
odoc.cmx: ../typing/typedtree.cmx ./odoc_texi.cmx ./odoc_messages.cmx \
|
||||
./odoc_man.cmx ./odoc_latex.cmx ./odoc_info.cmx ./odoc_html.cmx \
|
||||
./odoc_global.cmx ./odoc_dot.cmx ./odoc_config.cmx ./odoc_args.cmx \
|
||||
./odoc_analyse.cmx ../utils/misc.cmx ../utils/config.cmx \
|
||||
../utils/clflags.cmx
|
||||
odoc_analyse.cmo: ../utils/warnings.cmi ../typing/typetexp.cmi \
|
||||
../typing/types.cmi ../typing/typemod.cmi ../typing/typedtree.cmi \
|
||||
../typing/typedecl.cmi ../typing/typecore.cmi ../typing/typeclass.cmi \
|
||||
../bytecomp/translcore.cmi ../bytecomp/translclass.cmi \
|
||||
../parsing/syntaxerr.cmi ../parsing/parse.cmi odoc_types.cmi \
|
||||
odoc_text.cmi odoc_sig.cmi odoc_module.cmo odoc_misc.cmi \
|
||||
odoc_messages.cmo odoc_merge.cmi odoc_global.cmi odoc_dep.cmo \
|
||||
odoc_cross.cmi odoc_comments.cmi odoc_class.cmo odoc_ast.cmi \
|
||||
odoc_args.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
../parsing/syntaxerr.cmi ../parsing/parse.cmi ./odoc_types.cmi \
|
||||
./odoc_text.cmi ./odoc_sig.cmi ./odoc_module.cmo ./odoc_misc.cmi \
|
||||
./odoc_messages.cmo ./odoc_merge.cmi ./odoc_global.cmi ./odoc_dep.cmo \
|
||||
./odoc_cross.cmi ./odoc_comments.cmi ./odoc_class.cmo ./odoc_ast.cmi \
|
||||
./odoc_args.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
../parsing/lexer.cmi ../typing/includemod.cmi ../typing/env.cmi \
|
||||
../typing/ctype.cmi ../utils/config.cmi ../utils/clflags.cmo \
|
||||
../typing/ctype.cmi ../utils/config.cmi ../utils/clflags.cmi \
|
||||
../utils/ccomp.cmi odoc_analyse.cmi
|
||||
odoc_analyse.cmx: ../utils/warnings.cmx ../typing/typetexp.cmx \
|
||||
../typing/types.cmx ../typing/typemod.cmx ../typing/typedtree.cmx \
|
||||
../typing/typedecl.cmx ../typing/typecore.cmx ../typing/typeclass.cmx \
|
||||
../bytecomp/translcore.cmx ../bytecomp/translclass.cmx \
|
||||
../parsing/syntaxerr.cmx ../parsing/parse.cmx odoc_types.cmx \
|
||||
odoc_text.cmx odoc_sig.cmx odoc_module.cmx odoc_misc.cmx \
|
||||
odoc_messages.cmx odoc_merge.cmx odoc_global.cmx odoc_dep.cmx \
|
||||
odoc_cross.cmx odoc_comments.cmx odoc_class.cmx odoc_ast.cmx \
|
||||
odoc_args.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
../parsing/syntaxerr.cmx ../parsing/parse.cmx ./odoc_types.cmx \
|
||||
./odoc_text.cmx ./odoc_sig.cmx ./odoc_module.cmx ./odoc_misc.cmx \
|
||||
./odoc_messages.cmx ./odoc_merge.cmx ./odoc_global.cmx ./odoc_dep.cmx \
|
||||
./odoc_cross.cmx ./odoc_comments.cmx ./odoc_class.cmx ./odoc_ast.cmx \
|
||||
./odoc_args.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
../parsing/lexer.cmx ../typing/includemod.cmx ../typing/env.cmx \
|
||||
../typing/ctype.cmx ../utils/config.cmx ../utils/clflags.cmx \
|
||||
../utils/ccomp.cmx odoc_analyse.cmi
|
||||
odoc_args.cmo: odoc_types.cmi odoc_module.cmo odoc_messages.cmo \
|
||||
odoc_global.cmi odoc_config.cmi ../utils/misc.cmi ../utils/config.cmi \
|
||||
../utils/clflags.cmo odoc_args.cmi
|
||||
odoc_args.cmx: odoc_types.cmx odoc_module.cmx odoc_messages.cmx \
|
||||
odoc_global.cmx odoc_config.cmx ../utils/misc.cmx ../utils/config.cmx \
|
||||
odoc_args.cmo: ./odoc_types.cmi ./odoc_module.cmo ./odoc_messages.cmo \
|
||||
./odoc_global.cmi ./odoc_config.cmi ../utils/misc.cmi ../utils/config.cmi \
|
||||
../utils/clflags.cmi odoc_args.cmi
|
||||
odoc_args.cmx: ./odoc_types.cmx ./odoc_module.cmx ./odoc_messages.cmx \
|
||||
./odoc_global.cmx ./odoc_config.cmx ../utils/misc.cmx ../utils/config.cmx \
|
||||
../utils/clflags.cmx odoc_args.cmi
|
||||
odoc_ast.cmo: ../typing/types.cmi ../typing/typedtree.cmi \
|
||||
../typing/predef.cmi ../typing/path.cmi ../parsing/parsetree.cmi \
|
||||
odoc_value.cmo odoc_types.cmi odoc_type.cmo odoc_sig.cmi \
|
||||
odoc_parameter.cmo odoc_name.cmi odoc_module.cmo odoc_messages.cmo \
|
||||
odoc_global.cmi odoc_exception.cmo odoc_env.cmi odoc_class.cmo \
|
||||
odoc_args.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
../parsing/asttypes.cmi odoc_ast.cmi
|
||||
./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo ./odoc_sig.cmi \
|
||||
./odoc_parameter.cmo ./odoc_name.cmi ./odoc_module.cmo \
|
||||
./odoc_messages.cmo ./odoc_global.cmi ./odoc_exception.cmo ./odoc_env.cmi \
|
||||
./odoc_class.cmo ./odoc_args.cmi ../utils/misc.cmi \
|
||||
../parsing/location.cmi ../typing/ident.cmi ../parsing/asttypes.cmi \
|
||||
odoc_ast.cmi
|
||||
odoc_ast.cmx: ../typing/types.cmx ../typing/typedtree.cmx \
|
||||
../typing/predef.cmx ../typing/path.cmx ../parsing/parsetree.cmi \
|
||||
odoc_value.cmx odoc_types.cmx odoc_type.cmx odoc_sig.cmx \
|
||||
odoc_parameter.cmx odoc_name.cmx odoc_module.cmx odoc_messages.cmx \
|
||||
odoc_global.cmx odoc_exception.cmx odoc_env.cmx odoc_class.cmx \
|
||||
odoc_args.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
../parsing/asttypes.cmi odoc_ast.cmi
|
||||
odoc_class.cmo: ../typing/types.cmi odoc_value.cmo odoc_types.cmi \
|
||||
odoc_parameter.cmo odoc_name.cmi
|
||||
odoc_class.cmx: ../typing/types.cmx odoc_value.cmx odoc_types.cmx \
|
||||
odoc_parameter.cmx odoc_name.cmx
|
||||
odoc_comments.cmo: odoc_types.cmi odoc_text.cmi odoc_see_lexer.cmo \
|
||||
odoc_parser.cmi odoc_misc.cmi odoc_messages.cmo odoc_lexer.cmo \
|
||||
odoc_global.cmi odoc_comments_global.cmi odoc_comments.cmi
|
||||
odoc_comments.cmx: odoc_types.cmx odoc_text.cmx odoc_see_lexer.cmx \
|
||||
odoc_parser.cmx odoc_misc.cmx odoc_messages.cmx odoc_lexer.cmx \
|
||||
odoc_global.cmx odoc_comments_global.cmx odoc_comments.cmi
|
||||
./odoc_value.cmx ./odoc_types.cmx ./odoc_type.cmx ./odoc_sig.cmx \
|
||||
./odoc_parameter.cmx ./odoc_name.cmx ./odoc_module.cmx \
|
||||
./odoc_messages.cmx ./odoc_global.cmx ./odoc_exception.cmx ./odoc_env.cmx \
|
||||
./odoc_class.cmx ./odoc_args.cmx ../utils/misc.cmx \
|
||||
../parsing/location.cmx ../typing/ident.cmx ../parsing/asttypes.cmi \
|
||||
odoc_ast.cmi
|
||||
odoc_class.cmo: ../typing/types.cmi ./odoc_value.cmo ./odoc_types.cmi \
|
||||
./odoc_parameter.cmo ./odoc_name.cmi
|
||||
odoc_class.cmx: ../typing/types.cmx ./odoc_value.cmx ./odoc_types.cmx \
|
||||
./odoc_parameter.cmx ./odoc_name.cmx
|
||||
odoc_comments.cmo: ./odoc_types.cmi ./odoc_text.cmi ./odoc_see_lexer.cmo \
|
||||
./odoc_parser.cmi ./odoc_misc.cmi ./odoc_messages.cmo ./odoc_lexer.cmo \
|
||||
./odoc_global.cmi ./odoc_cross.cmi ./odoc_comments_global.cmi \
|
||||
odoc_comments.cmi
|
||||
odoc_comments.cmx: ./odoc_types.cmx ./odoc_text.cmx ./odoc_see_lexer.cmx \
|
||||
./odoc_parser.cmx ./odoc_misc.cmx ./odoc_messages.cmx ./odoc_lexer.cmx \
|
||||
./odoc_global.cmx ./odoc_cross.cmx ./odoc_comments_global.cmx \
|
||||
odoc_comments.cmi
|
||||
odoc_comments_global.cmo: odoc_comments_global.cmi
|
||||
odoc_comments_global.cmx: odoc_comments_global.cmi
|
||||
odoc_config.cmo: ../utils/config.cmi odoc_config.cmi
|
||||
odoc_config.cmx: ../utils/config.cmx odoc_config.cmi
|
||||
odoc_cross.cmo: odoc_value.cmo odoc_types.cmi odoc_type.cmo odoc_search.cmi \
|
||||
odoc_scan.cmo odoc_parameter.cmo odoc_name.cmi odoc_module.cmo \
|
||||
odoc_misc.cmi odoc_messages.cmo odoc_exception.cmo odoc_class.cmo \
|
||||
odoc_cross.cmi
|
||||
odoc_cross.cmx: odoc_value.cmx odoc_types.cmx odoc_type.cmx odoc_search.cmx \
|
||||
odoc_scan.cmx odoc_parameter.cmx odoc_name.cmx odoc_module.cmx \
|
||||
odoc_misc.cmx odoc_messages.cmx odoc_exception.cmx odoc_class.cmx \
|
||||
odoc_cross.cmi
|
||||
odoc_dag2html.cmo: odoc_info.cmi odoc_dag2html.cmi
|
||||
odoc_dag2html.cmx: odoc_info.cmx odoc_dag2html.cmi
|
||||
odoc_dep.cmo: ../parsing/parsetree.cmi odoc_type.cmo odoc_print.cmi \
|
||||
odoc_module.cmo ../tools/depend.cmi
|
||||
odoc_dep.cmx: ../parsing/parsetree.cmi odoc_type.cmx odoc_print.cmx \
|
||||
odoc_module.cmx ../tools/depend.cmx
|
||||
odoc_dot.cmo: odoc_info.cmi
|
||||
odoc_dot.cmx: odoc_info.cmx
|
||||
odoc_cross.cmo: ./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo \
|
||||
./odoc_search.cmi ./odoc_scan.cmo ./odoc_parameter.cmo ./odoc_name.cmi \
|
||||
./odoc_module.cmo ./odoc_misc.cmi ./odoc_messages.cmo \
|
||||
./odoc_exception.cmo ./odoc_class.cmo odoc_cross.cmi
|
||||
odoc_cross.cmx: ./odoc_value.cmx ./odoc_types.cmx ./odoc_type.cmx \
|
||||
./odoc_search.cmx ./odoc_scan.cmx ./odoc_parameter.cmx ./odoc_name.cmx \
|
||||
./odoc_module.cmx ./odoc_misc.cmx ./odoc_messages.cmx \
|
||||
./odoc_exception.cmx ./odoc_class.cmx odoc_cross.cmi
|
||||
odoc_dag2html.cmo: ./odoc_info.cmi odoc_dag2html.cmi
|
||||
odoc_dag2html.cmx: ./odoc_info.cmx odoc_dag2html.cmi
|
||||
odoc_dep.cmo: ../parsing/parsetree.cmi ./odoc_type.cmo ./odoc_print.cmi \
|
||||
./odoc_module.cmo ../tools/depend.cmi
|
||||
odoc_dep.cmx: ../parsing/parsetree.cmi ./odoc_type.cmx ./odoc_print.cmx \
|
||||
./odoc_module.cmx ../tools/depend.cmx
|
||||
odoc_dot.cmo: ./odoc_info.cmi
|
||||
odoc_dot.cmx: ./odoc_info.cmx
|
||||
odoc_env.cmo: ../typing/types.cmi ../typing/printtyp.cmi ../typing/predef.cmi \
|
||||
../typing/path.cmi odoc_name.cmi ../typing/btype.cmi odoc_env.cmi
|
||||
../typing/path.cmi ./odoc_name.cmi ../typing/btype.cmi odoc_env.cmi
|
||||
odoc_env.cmx: ../typing/types.cmx ../typing/printtyp.cmx ../typing/predef.cmx \
|
||||
../typing/path.cmx odoc_name.cmx ../typing/btype.cmx odoc_env.cmi
|
||||
odoc_exception.cmo: ../typing/types.cmi odoc_types.cmi odoc_name.cmi
|
||||
odoc_exception.cmx: ../typing/types.cmx odoc_types.cmx odoc_name.cmx
|
||||
odoc_global.cmo: ../utils/clflags.cmo odoc_global.cmi
|
||||
../typing/path.cmx ./odoc_name.cmx ../typing/btype.cmx odoc_env.cmi
|
||||
odoc_exception.cmo: ../typing/types.cmi ./odoc_types.cmi ./odoc_name.cmi
|
||||
odoc_exception.cmx: ../typing/types.cmx ./odoc_types.cmx ./odoc_name.cmx
|
||||
odoc_global.cmo: ../utils/clflags.cmi odoc_global.cmi
|
||||
odoc_global.cmx: ../utils/clflags.cmx odoc_global.cmi
|
||||
odoc_html.cmo: odoc_text.cmi odoc_ocamlhtml.cmo odoc_messages.cmo \
|
||||
odoc_info.cmi odoc_dag2html.cmi odoc_args.cmi
|
||||
odoc_html.cmx: odoc_text.cmx odoc_ocamlhtml.cmx odoc_messages.cmx \
|
||||
odoc_info.cmx odoc_dag2html.cmx odoc_args.cmx
|
||||
odoc_info.cmo: ../typing/printtyp.cmi odoc_value.cmo odoc_types.cmi \
|
||||
odoc_type.cmo odoc_text.cmi odoc_str.cmi odoc_search.cmi odoc_scan.cmo \
|
||||
odoc_print.cmi odoc_parameter.cmo odoc_name.cmi odoc_module.cmo \
|
||||
odoc_misc.cmi odoc_messages.cmo odoc_global.cmi odoc_exception.cmo \
|
||||
odoc_dep.cmo odoc_comments.cmi odoc_class.cmo odoc_args.cmi \
|
||||
odoc_analyse.cmi odoc_info.cmi
|
||||
odoc_info.cmx: ../typing/printtyp.cmx odoc_value.cmx odoc_types.cmx \
|
||||
odoc_type.cmx odoc_text.cmx odoc_str.cmx odoc_search.cmx odoc_scan.cmx \
|
||||
odoc_print.cmx odoc_parameter.cmx odoc_name.cmx odoc_module.cmx \
|
||||
odoc_misc.cmx odoc_messages.cmx odoc_global.cmx odoc_exception.cmx \
|
||||
odoc_dep.cmx odoc_comments.cmx odoc_class.cmx odoc_args.cmx \
|
||||
odoc_analyse.cmx odoc_info.cmi
|
||||
odoc_latex.cmo: odoc_to_text.cmo odoc_messages.cmo odoc_latex_style.cmo \
|
||||
odoc_info.cmi
|
||||
odoc_latex.cmx: odoc_to_text.cmx odoc_messages.cmx odoc_latex_style.cmx \
|
||||
odoc_info.cmx
|
||||
odoc_lexer.cmo: odoc_parser.cmi odoc_messages.cmo odoc_comments_global.cmi \
|
||||
odoc_args.cmi
|
||||
odoc_lexer.cmx: odoc_parser.cmx odoc_messages.cmx odoc_comments_global.cmx \
|
||||
odoc_args.cmx
|
||||
odoc_man.cmo: odoc_str.cmi odoc_print.cmi odoc_misc.cmi odoc_messages.cmo \
|
||||
odoc_info.cmi odoc_args.cmi
|
||||
odoc_man.cmx: odoc_str.cmx odoc_print.cmx odoc_misc.cmx odoc_messages.cmx \
|
||||
odoc_info.cmx odoc_args.cmx
|
||||
odoc_merge.cmo: odoc_value.cmo odoc_types.cmi odoc_type.cmo \
|
||||
odoc_parameter.cmo odoc_name.cmi odoc_module.cmo odoc_messages.cmo \
|
||||
odoc_exception.cmo odoc_class.cmo odoc_args.cmi odoc_merge.cmi
|
||||
odoc_merge.cmx: odoc_value.cmx odoc_types.cmx odoc_type.cmx \
|
||||
odoc_parameter.cmx odoc_name.cmx odoc_module.cmx odoc_messages.cmx \
|
||||
odoc_exception.cmx odoc_class.cmx odoc_args.cmx odoc_merge.cmi
|
||||
odoc_messages.cmo: odoc_global.cmi ../utils/config.cmi
|
||||
odoc_messages.cmx: odoc_global.cmx ../utils/config.cmx
|
||||
odoc_html.cmo: ./odoc_text.cmi ./odoc_ocamlhtml.cmo ./odoc_messages.cmo \
|
||||
./odoc_info.cmi ./odoc_dag2html.cmi ./odoc_args.cmi
|
||||
odoc_html.cmx: ./odoc_text.cmx ./odoc_ocamlhtml.cmx ./odoc_messages.cmx \
|
||||
./odoc_info.cmx ./odoc_dag2html.cmx ./odoc_args.cmx
|
||||
odoc_info.cmo: ../typing/printtyp.cmi ./odoc_value.cmo ./odoc_types.cmi \
|
||||
./odoc_type.cmo ./odoc_text.cmi ./odoc_str.cmi ./odoc_search.cmi \
|
||||
./odoc_scan.cmo ./odoc_print.cmi ./odoc_parameter.cmo ./odoc_name.cmi \
|
||||
./odoc_module.cmo ./odoc_misc.cmi ./odoc_messages.cmo ./odoc_global.cmi \
|
||||
./odoc_exception.cmo ./odoc_dep.cmo ./odoc_comments.cmi ./odoc_class.cmo \
|
||||
./odoc_args.cmi ./odoc_analyse.cmi odoc_info.cmi
|
||||
odoc_info.cmx: ../typing/printtyp.cmx ./odoc_value.cmx ./odoc_types.cmx \
|
||||
./odoc_type.cmx ./odoc_text.cmx ./odoc_str.cmx ./odoc_search.cmx \
|
||||
./odoc_scan.cmx ./odoc_print.cmx ./odoc_parameter.cmx ./odoc_name.cmx \
|
||||
./odoc_module.cmx ./odoc_misc.cmx ./odoc_messages.cmx ./odoc_global.cmx \
|
||||
./odoc_exception.cmx ./odoc_dep.cmx ./odoc_comments.cmx ./odoc_class.cmx \
|
||||
./odoc_args.cmx ./odoc_analyse.cmx odoc_info.cmi
|
||||
odoc_latex.cmo: ./odoc_to_text.cmo ./odoc_messages.cmo ./odoc_latex_style.cmo \
|
||||
./odoc_info.cmi
|
||||
odoc_latex.cmx: ./odoc_to_text.cmx ./odoc_messages.cmx ./odoc_latex_style.cmx \
|
||||
./odoc_info.cmx
|
||||
odoc_lexer.cmo: ./odoc_parser.cmi ./odoc_messages.cmo \
|
||||
./odoc_comments_global.cmi ./odoc_args.cmi
|
||||
odoc_lexer.cmx: ./odoc_parser.cmx ./odoc_messages.cmx \
|
||||
./odoc_comments_global.cmx ./odoc_args.cmx
|
||||
odoc_man.cmo: ./odoc_str.cmi ./odoc_print.cmi ./odoc_misc.cmi \
|
||||
./odoc_messages.cmo ./odoc_info.cmi ./odoc_args.cmi
|
||||
odoc_man.cmx: ./odoc_str.cmx ./odoc_print.cmx ./odoc_misc.cmx \
|
||||
./odoc_messages.cmx ./odoc_info.cmx ./odoc_args.cmx
|
||||
odoc_merge.cmo: ./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo \
|
||||
./odoc_parameter.cmo ./odoc_name.cmi ./odoc_module.cmo \
|
||||
./odoc_messages.cmo ./odoc_exception.cmo ./odoc_class.cmo ./odoc_args.cmi \
|
||||
odoc_merge.cmi
|
||||
odoc_merge.cmx: ./odoc_value.cmx ./odoc_types.cmx ./odoc_type.cmx \
|
||||
./odoc_parameter.cmx ./odoc_name.cmx ./odoc_module.cmx \
|
||||
./odoc_messages.cmx ./odoc_exception.cmx ./odoc_class.cmx ./odoc_args.cmx \
|
||||
odoc_merge.cmi
|
||||
odoc_messages.cmo: ./odoc_global.cmi ../utils/config.cmi
|
||||
odoc_messages.cmx: ./odoc_global.cmx ../utils/config.cmx
|
||||
odoc_misc.cmo: ../typing/types.cmi ../typing/predef.cmi ../typing/path.cmi \
|
||||
odoc_types.cmi odoc_messages.cmo ../parsing/longident.cmi \
|
||||
./odoc_types.cmi ./odoc_messages.cmo ../parsing/longident.cmi \
|
||||
../typing/ctype.cmi ../typing/btype.cmi odoc_misc.cmi
|
||||
odoc_misc.cmx: ../typing/types.cmx ../typing/predef.cmx ../typing/path.cmx \
|
||||
odoc_types.cmx odoc_messages.cmx ../parsing/longident.cmx \
|
||||
./odoc_types.cmx ./odoc_messages.cmx ../parsing/longident.cmx \
|
||||
../typing/ctype.cmx ../typing/btype.cmx odoc_misc.cmi
|
||||
odoc_module.cmo: ../typing/types.cmi odoc_value.cmo odoc_types.cmi \
|
||||
odoc_type.cmo odoc_name.cmi odoc_exception.cmo odoc_class.cmo
|
||||
odoc_module.cmx: ../typing/types.cmx odoc_value.cmx odoc_types.cmx \
|
||||
odoc_type.cmx odoc_name.cmx odoc_exception.cmx odoc_class.cmx
|
||||
odoc_name.cmo: ../typing/path.cmi ../parsing/longident.cmi \
|
||||
../typing/ident.cmi odoc_name.cmi
|
||||
odoc_name.cmx: ../typing/path.cmx ../parsing/longident.cmx \
|
||||
../typing/ident.cmx odoc_name.cmi
|
||||
odoc_opt.cmo: ../typing/typedtree.cmi odoc_texi.cmo odoc_messages.cmo \
|
||||
odoc_man.cmo odoc_latex.cmo odoc_info.cmi odoc_html.cmo odoc_global.cmi \
|
||||
odoc_dot.cmo odoc_args.cmi odoc_analyse.cmi ../utils/misc.cmi \
|
||||
../utils/config.cmi ../utils/clflags.cmo
|
||||
odoc_opt.cmx: ../typing/typedtree.cmx odoc_texi.cmx odoc_messages.cmx \
|
||||
odoc_man.cmx odoc_latex.cmx odoc_info.cmx odoc_html.cmx odoc_global.cmx \
|
||||
odoc_dot.cmx odoc_args.cmx odoc_analyse.cmx ../utils/misc.cmx \
|
||||
../utils/config.cmx ../utils/clflags.cmx
|
||||
odoc_parameter.cmo: ../typing/types.cmi odoc_types.cmi
|
||||
odoc_parameter.cmx: ../typing/types.cmx odoc_types.cmx
|
||||
odoc_parser.cmo: odoc_types.cmi odoc_comments_global.cmi odoc_parser.cmi
|
||||
odoc_parser.cmx: odoc_types.cmx odoc_comments_global.cmx odoc_parser.cmi
|
||||
odoc_module.cmo: ../typing/types.cmi ./odoc_value.cmo ./odoc_types.cmi \
|
||||
./odoc_type.cmo ./odoc_name.cmi ./odoc_exception.cmo ./odoc_class.cmo
|
||||
odoc_module.cmx: ../typing/types.cmx ./odoc_value.cmx ./odoc_types.cmx \
|
||||
./odoc_type.cmx ./odoc_name.cmx ./odoc_exception.cmx ./odoc_class.cmx
|
||||
odoc_name.cmo: ../typing/path.cmi ./odoc_misc.cmi ../typing/ident.cmi \
|
||||
odoc_name.cmi
|
||||
odoc_name.cmx: ../typing/path.cmx ./odoc_misc.cmx ../typing/ident.cmx \
|
||||
odoc_name.cmi
|
||||
odoc_opt.cmo: ../typing/typedtree.cmi ./odoc_texi.cmo ./odoc_messages.cmo \
|
||||
./odoc_man.cmo ./odoc_latex.cmo ./odoc_info.cmi ./odoc_html.cmo \
|
||||
./odoc_global.cmi ./odoc_dot.cmo ./odoc_args.cmi ./odoc_analyse.cmi \
|
||||
../utils/misc.cmi ../utils/config.cmi ../utils/clflags.cmi
|
||||
odoc_opt.cmx: ../typing/typedtree.cmx ./odoc_texi.cmx ./odoc_messages.cmx \
|
||||
./odoc_man.cmx ./odoc_latex.cmx ./odoc_info.cmx ./odoc_html.cmx \
|
||||
./odoc_global.cmx ./odoc_dot.cmx ./odoc_args.cmx ./odoc_analyse.cmx \
|
||||
../utils/misc.cmx ../utils/config.cmx ../utils/clflags.cmx
|
||||
odoc_parameter.cmo: ../typing/types.cmi ./odoc_types.cmi
|
||||
odoc_parameter.cmx: ../typing/types.cmx ./odoc_types.cmx
|
||||
odoc_parser.cmo: ./odoc_types.cmi ./odoc_comments_global.cmi odoc_parser.cmi
|
||||
odoc_parser.cmx: ./odoc_types.cmx ./odoc_comments_global.cmx odoc_parser.cmi
|
||||
odoc_print.cmo: ../typing/types.cmi ../typing/printtyp.cmi odoc_print.cmi
|
||||
odoc_print.cmx: ../typing/types.cmx ../typing/printtyp.cmx odoc_print.cmi
|
||||
odoc_scan.cmo: odoc_value.cmo odoc_types.cmi odoc_type.cmo odoc_module.cmo \
|
||||
odoc_exception.cmo odoc_class.cmo
|
||||
odoc_scan.cmx: odoc_value.cmx odoc_types.cmx odoc_type.cmx odoc_module.cmx \
|
||||
odoc_exception.cmx odoc_class.cmx
|
||||
odoc_search.cmo: odoc_value.cmo odoc_types.cmi odoc_type.cmo \
|
||||
odoc_parameter.cmo odoc_name.cmi odoc_module.cmo odoc_exception.cmo \
|
||||
odoc_class.cmo odoc_search.cmi
|
||||
odoc_search.cmx: odoc_value.cmx odoc_types.cmx odoc_type.cmx \
|
||||
odoc_parameter.cmx odoc_name.cmx odoc_module.cmx odoc_exception.cmx \
|
||||
odoc_class.cmx odoc_search.cmi
|
||||
odoc_see_lexer.cmo: odoc_parser.cmi
|
||||
odoc_see_lexer.cmx: odoc_parser.cmx
|
||||
odoc_scan.cmo: ./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo \
|
||||
./odoc_module.cmo ./odoc_exception.cmo ./odoc_class.cmo
|
||||
odoc_scan.cmx: ./odoc_value.cmx ./odoc_types.cmx ./odoc_type.cmx \
|
||||
./odoc_module.cmx ./odoc_exception.cmx ./odoc_class.cmx
|
||||
odoc_search.cmo: ./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo \
|
||||
./odoc_parameter.cmo ./odoc_name.cmi ./odoc_module.cmo \
|
||||
./odoc_exception.cmo ./odoc_class.cmo odoc_search.cmi
|
||||
odoc_search.cmx: ./odoc_value.cmx ./odoc_types.cmx ./odoc_type.cmx \
|
||||
./odoc_parameter.cmx ./odoc_name.cmx ./odoc_module.cmx \
|
||||
./odoc_exception.cmx ./odoc_class.cmx odoc_search.cmi
|
||||
odoc_see_lexer.cmo: ./odoc_parser.cmi
|
||||
odoc_see_lexer.cmx: ./odoc_parser.cmx
|
||||
odoc_sig.cmo: ../typing/types.cmi ../typing/typedtree.cmi ../typing/path.cmi \
|
||||
../parsing/parsetree.cmi odoc_value.cmo odoc_types.cmi odoc_type.cmo \
|
||||
odoc_print.cmi odoc_parameter.cmo odoc_name.cmi odoc_module.cmo \
|
||||
odoc_misc.cmi odoc_messages.cmo odoc_merge.cmi odoc_global.cmi \
|
||||
odoc_exception.cmo odoc_env.cmi odoc_class.cmo odoc_args.cmi \
|
||||
../utils/misc.cmi ../parsing/location.cmi ../typing/btype.cmi \
|
||||
../parsing/asttypes.cmi odoc_sig.cmi
|
||||
../parsing/parsetree.cmi ./odoc_value.cmo ./odoc_types.cmi \
|
||||
./odoc_type.cmo ./odoc_print.cmi ./odoc_parameter.cmo ./odoc_name.cmi \
|
||||
./odoc_module.cmo ./odoc_misc.cmi ./odoc_messages.cmo ./odoc_merge.cmi \
|
||||
./odoc_global.cmi ./odoc_exception.cmo ./odoc_env.cmi ./odoc_class.cmo \
|
||||
./odoc_args.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
../typing/btype.cmi ../parsing/asttypes.cmi odoc_sig.cmi
|
||||
odoc_sig.cmx: ../typing/types.cmx ../typing/typedtree.cmx ../typing/path.cmx \
|
||||
../parsing/parsetree.cmi odoc_value.cmx odoc_types.cmx odoc_type.cmx \
|
||||
odoc_print.cmx odoc_parameter.cmx odoc_name.cmx odoc_module.cmx \
|
||||
odoc_misc.cmx odoc_messages.cmx odoc_merge.cmx odoc_global.cmx \
|
||||
odoc_exception.cmx odoc_env.cmx odoc_class.cmx odoc_args.cmx \
|
||||
../utils/misc.cmx ../parsing/location.cmx ../typing/btype.cmx \
|
||||
../parsing/asttypes.cmi odoc_sig.cmi
|
||||
odoc_str.cmo: ../typing/types.cmi ../typing/printtyp.cmi odoc_value.cmo \
|
||||
odoc_type.cmo odoc_print.cmi odoc_name.cmi odoc_misc.cmi \
|
||||
odoc_messages.cmo odoc_exception.cmo odoc_class.cmo odoc_str.cmi
|
||||
odoc_str.cmx: ../typing/types.cmx ../typing/printtyp.cmx odoc_value.cmx \
|
||||
odoc_type.cmx odoc_print.cmx odoc_name.cmx odoc_misc.cmx \
|
||||
odoc_messages.cmx odoc_exception.cmx odoc_class.cmx odoc_str.cmi
|
||||
odoc_test.cmo: odoc_info.cmi
|
||||
odoc_test.cmx: odoc_info.cmx
|
||||
odoc_texi.cmo: odoc_to_text.cmo odoc_messages.cmo odoc_info.cmi
|
||||
odoc_texi.cmx: odoc_to_text.cmx odoc_messages.cmx odoc_info.cmx
|
||||
odoc_text.cmo: odoc_types.cmi odoc_text_parser.cmi odoc_text_lexer.cmo \
|
||||
../parsing/parsetree.cmi ./odoc_value.cmx ./odoc_types.cmx \
|
||||
./odoc_type.cmx ./odoc_print.cmx ./odoc_parameter.cmx ./odoc_name.cmx \
|
||||
./odoc_module.cmx ./odoc_misc.cmx ./odoc_messages.cmx ./odoc_merge.cmx \
|
||||
./odoc_global.cmx ./odoc_exception.cmx ./odoc_env.cmx ./odoc_class.cmx \
|
||||
./odoc_args.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
../typing/btype.cmx ../parsing/asttypes.cmi odoc_sig.cmi
|
||||
odoc_str.cmo: ../typing/types.cmi ../typing/printtyp.cmi ./odoc_value.cmo \
|
||||
./odoc_type.cmo ./odoc_print.cmi ./odoc_name.cmi ./odoc_misc.cmi \
|
||||
./odoc_messages.cmo ./odoc_exception.cmo ./odoc_class.cmo odoc_str.cmi
|
||||
odoc_str.cmx: ../typing/types.cmx ../typing/printtyp.cmx ./odoc_value.cmx \
|
||||
./odoc_type.cmx ./odoc_print.cmx ./odoc_name.cmx ./odoc_misc.cmx \
|
||||
./odoc_messages.cmx ./odoc_exception.cmx ./odoc_class.cmx odoc_str.cmi
|
||||
odoc_test.cmo: ./odoc_info.cmi
|
||||
odoc_test.cmx: ./odoc_info.cmx
|
||||
odoc_texi.cmo: ./odoc_to_text.cmo ./odoc_messages.cmo ./odoc_info.cmi
|
||||
odoc_texi.cmx: ./odoc_to_text.cmx ./odoc_messages.cmx ./odoc_info.cmx
|
||||
odoc_text.cmo: ./odoc_types.cmi ./odoc_text_parser.cmi ./odoc_text_lexer.cmo \
|
||||
odoc_text.cmi
|
||||
odoc_text.cmx: odoc_types.cmx odoc_text_parser.cmx odoc_text_lexer.cmx \
|
||||
odoc_text.cmx: ./odoc_types.cmx ./odoc_text_parser.cmx ./odoc_text_lexer.cmx \
|
||||
odoc_text.cmi
|
||||
odoc_text_lexer.cmo: odoc_text_parser.cmi odoc_misc.cmi
|
||||
odoc_text_lexer.cmx: odoc_text_parser.cmx odoc_misc.cmx
|
||||
odoc_text_parser.cmo: odoc_types.cmi odoc_misc.cmi odoc_text_parser.cmi
|
||||
odoc_text_parser.cmx: odoc_types.cmx odoc_misc.cmx odoc_text_parser.cmi
|
||||
odoc_to_text.cmo: odoc_messages.cmo odoc_info.cmi
|
||||
odoc_to_text.cmx: odoc_messages.cmx odoc_info.cmx
|
||||
odoc_type.cmo: ../typing/types.cmi odoc_types.cmi odoc_name.cmi
|
||||
odoc_type.cmx: ../typing/types.cmx odoc_types.cmx odoc_name.cmx
|
||||
odoc_types.cmo: odoc_messages.cmo odoc_types.cmi
|
||||
odoc_types.cmx: odoc_messages.cmx odoc_types.cmi
|
||||
odoc_value.cmo: ../typing/types.cmi ../typing/printtyp.cmi odoc_types.cmi \
|
||||
odoc_parameter.cmo odoc_name.cmi
|
||||
odoc_value.cmx: ../typing/types.cmx ../typing/printtyp.cmx odoc_types.cmx \
|
||||
odoc_parameter.cmx odoc_name.cmx
|
||||
odoc_analyse.cmi: odoc_module.cmo odoc_args.cmi
|
||||
odoc_args.cmi: odoc_types.cmi odoc_module.cmo
|
||||
odoc_text_lexer.cmo: ./odoc_text_parser.cmi ./odoc_misc.cmi
|
||||
odoc_text_lexer.cmx: ./odoc_text_parser.cmx ./odoc_misc.cmx
|
||||
odoc_text_parser.cmo: ./odoc_types.cmi ./odoc_misc.cmi odoc_text_parser.cmi
|
||||
odoc_text_parser.cmx: ./odoc_types.cmx ./odoc_misc.cmx odoc_text_parser.cmi
|
||||
odoc_to_text.cmo: ./odoc_messages.cmo ./odoc_info.cmi
|
||||
odoc_to_text.cmx: ./odoc_messages.cmx ./odoc_info.cmx
|
||||
odoc_type.cmo: ../typing/types.cmi ./odoc_types.cmi ./odoc_name.cmi
|
||||
odoc_type.cmx: ../typing/types.cmx ./odoc_types.cmx ./odoc_name.cmx
|
||||
odoc_types.cmo: ./odoc_messages.cmo odoc_types.cmi
|
||||
odoc_types.cmx: ./odoc_messages.cmx odoc_types.cmi
|
||||
odoc_value.cmo: ../typing/types.cmi ../typing/printtyp.cmi ./odoc_types.cmi \
|
||||
./odoc_parameter.cmo ./odoc_name.cmi
|
||||
odoc_value.cmx: ../typing/types.cmx ../typing/printtyp.cmx ./odoc_types.cmx \
|
||||
./odoc_parameter.cmx ./odoc_name.cmx
|
||||
odoc_analyse.cmi: ./odoc_module.cmo ./odoc_args.cmi
|
||||
odoc_args.cmi: ./odoc_types.cmi ./odoc_module.cmo
|
||||
odoc_ast.cmi: ../typing/types.cmi ../typing/typedtree.cmi ../typing/path.cmi \
|
||||
../parsing/parsetree.cmi odoc_sig.cmi odoc_name.cmi odoc_module.cmo
|
||||
odoc_comments.cmi: odoc_types.cmi
|
||||
odoc_cross.cmi: odoc_module.cmo
|
||||
odoc_dag2html.cmi: odoc_info.cmi
|
||||
odoc_env.cmi: ../typing/types.cmi odoc_name.cmi
|
||||
odoc_info.cmi: ../typing/types.cmi odoc_value.cmo odoc_types.cmi \
|
||||
odoc_type.cmo odoc_search.cmi odoc_parameter.cmo odoc_module.cmo \
|
||||
odoc_exception.cmo odoc_class.cmo
|
||||
odoc_merge.cmi: odoc_types.cmi odoc_module.cmo
|
||||
odoc_misc.cmi: ../typing/types.cmi odoc_types.cmi ../parsing/longident.cmi
|
||||
../parsing/parsetree.cmi ./odoc_sig.cmi ./odoc_name.cmi ./odoc_module.cmo
|
||||
odoc_comments.cmi: ./odoc_types.cmi ./odoc_module.cmo
|
||||
odoc_cross.cmi: ./odoc_types.cmi ./odoc_module.cmo
|
||||
odoc_dag2html.cmi: ./odoc_info.cmi
|
||||
odoc_env.cmi: ../typing/types.cmi ./odoc_name.cmi
|
||||
odoc_info.cmi: ../typing/types.cmi ./odoc_value.cmo ./odoc_types.cmi \
|
||||
./odoc_type.cmo ./odoc_search.cmi ./odoc_parameter.cmo ./odoc_module.cmo \
|
||||
./odoc_exception.cmo ./odoc_class.cmo
|
||||
odoc_merge.cmi: ./odoc_types.cmi ./odoc_module.cmo
|
||||
odoc_misc.cmi: ../typing/types.cmi ./odoc_types.cmi ../parsing/longident.cmi
|
||||
odoc_name.cmi: ../typing/path.cmi ../parsing/longident.cmi \
|
||||
../typing/ident.cmi
|
||||
odoc_parser.cmi: odoc_types.cmi
|
||||
odoc_parser.cmi: ./odoc_types.cmi
|
||||
odoc_print.cmi: ../typing/types.cmi
|
||||
odoc_search.cmi: odoc_value.cmo odoc_types.cmi odoc_type.cmo odoc_module.cmo \
|
||||
odoc_exception.cmo odoc_class.cmo
|
||||
odoc_sig.cmi: ../typing/types.cmi ../parsing/parsetree.cmi odoc_types.cmi \
|
||||
odoc_type.cmo odoc_name.cmi odoc_module.cmo odoc_env.cmi odoc_class.cmo
|
||||
odoc_str.cmi: ../typing/types.cmi odoc_value.cmo odoc_type.cmo \
|
||||
odoc_exception.cmo odoc_class.cmo
|
||||
odoc_text.cmi: odoc_types.cmi
|
||||
odoc_text_parser.cmi: odoc_types.cmi
|
||||
odoc_search.cmi: ./odoc_value.cmo ./odoc_types.cmi ./odoc_type.cmo \
|
||||
./odoc_module.cmo ./odoc_exception.cmo ./odoc_class.cmo
|
||||
odoc_sig.cmi: ../typing/types.cmi ../parsing/parsetree.cmi ./odoc_types.cmi \
|
||||
./odoc_type.cmo ./odoc_name.cmi ./odoc_module.cmo ./odoc_env.cmi \
|
||||
./odoc_class.cmo
|
||||
odoc_str.cmi: ../typing/types.cmi ./odoc_value.cmo ./odoc_type.cmo \
|
||||
./odoc_exception.cmo ./odoc_class.cmo
|
||||
odoc_text.cmi: ./odoc_types.cmi
|
||||
odoc_text_parser.cmi: ./odoc_types.cmi
|
||||
|
|
|
@ -1,9 +1,27 @@
|
|||
TODO:
|
||||
- need to fix display of type parameters for inherited classes/class types
|
||||
- need to add an environment while generating to print correct links:
|
||||
file foo.mli:
|
||||
type u
|
||||
module type M = sig type u end
|
||||
module N : sig include M val f: u -> unit end
|
||||
Here, in html for example, f in displayed being of type Foo.u instead of Foo.M.u
|
||||
- latex: types variant polymorphes dépassent de la page quand ils sont trop longs
|
||||
- utilisation nouvelles infos de Xavier: "début de rec", etc.
|
||||
- xml generator
|
||||
|
||||
=====
|
||||
Release 3.09.3:
|
||||
- mod: PR#4017 new option -short-functors to use a short form to display
|
||||
functors in html generator
|
||||
- fix: PR#4016 (using modtype constraint to filter module elements displayed in doc)
|
||||
- fix: PR#4066 (missing crossref in text from intro files)
|
||||
- fix: PR#4007 (error in merging of top dependencies of modules)
|
||||
- fix: PR#3981 (-dot-colors has no effect)
|
||||
- mod: name resolution in cross-referencing: {!name} if name is not
|
||||
found, then it is searched in the parent module/class, and in the parent
|
||||
of the parent, and so on until it is found.
|
||||
|
||||
=====
|
||||
Release 3.09.1:
|
||||
- fix: remove .TP for generated man pages, use .sp instead
|
||||
|
|
|
@ -93,7 +93,6 @@ CMOFILES= odoc_config.cmo \
|
|||
odoc_parser.cmo\
|
||||
odoc_lexer.cmo\
|
||||
odoc_see_lexer.cmo\
|
||||
odoc_comments.cmo\
|
||||
odoc_env.cmo\
|
||||
odoc_merge.cmo\
|
||||
odoc_sig.cmo\
|
||||
|
@ -103,6 +102,7 @@ CMOFILES= odoc_config.cmo \
|
|||
odoc_search.cmo\
|
||||
odoc_scan.cmo\
|
||||
odoc_cross.cmo\
|
||||
odoc_comments.cmo\
|
||||
odoc_dep.cmo\
|
||||
odoc_analyse.cmo\
|
||||
odoc_info.cmo
|
||||
|
@ -211,6 +211,10 @@ $(OCAMLDOC_LIBCMXA): $(LIBCMXFILES)
|
|||
|
||||
manpages: stdlib_man/Pervasives.3o
|
||||
|
||||
dot: $(EXECMOFILES) odoc.cmo
|
||||
$(OCAMLDOC_RUN) -dot -dot-reduce -o ocamldoc.dot $(INCLUDES) \
|
||||
odoc*.ml
|
||||
|
||||
# Parsers and lexers dependencies :
|
||||
###################################
|
||||
odoc_text_parser.ml: odoc_text_parser.mly
|
||||
|
|
|
@ -87,7 +87,6 @@ CMOFILES= odoc_config.cmo \
|
|||
odoc_parser.cmo\
|
||||
odoc_lexer.cmo\
|
||||
odoc_see_lexer.cmo\
|
||||
odoc_comments.cmo\
|
||||
odoc_env.cmo\
|
||||
odoc_merge.cmo\
|
||||
odoc_sig.cmo\
|
||||
|
@ -97,6 +96,7 @@ CMOFILES= odoc_config.cmo \
|
|||
odoc_search.cmo\
|
||||
odoc_scan.cmo\
|
||||
odoc_cross.cmo\
|
||||
odoc_comments.cmo\
|
||||
odoc_dep.cmo\
|
||||
odoc_analyse.cmo\
|
||||
odoc_info.cmo
|
||||
|
|
|
@ -124,6 +124,8 @@ let index_only = ref false
|
|||
|
||||
let colorize_code = ref false
|
||||
|
||||
let html_short_functors = ref false
|
||||
|
||||
let with_header = ref true
|
||||
|
||||
let with_trailer = ref true
|
||||
|
@ -256,7 +258,8 @@ let options = ref [
|
|||
"-all-params", Arg.Set with_parameter_list, M.with_parameter_list ;
|
||||
"-css-style", Arg.String (fun s -> css_style := Some s), M.css_style ;
|
||||
"-index-only", Arg.Set index_only, M.index_only ;
|
||||
"-colorize-code", Arg.Set colorize_code, M.colorize_code ^
|
||||
"-colorize-code", Arg.Set colorize_code, M.colorize_code ;
|
||||
"-short-functors", Arg.Set html_short_functors, M.html_short_functors ^
|
||||
"\n\n *** LaTeX options ***\n";
|
||||
|
||||
(* latex only options *)
|
||||
|
|
|
@ -94,6 +94,10 @@ val index_only : bool ref
|
|||
(** To colorize code in HTML generated documentation pages, not code pages. *)
|
||||
val colorize_code : bool ref
|
||||
|
||||
(** To display functors in short form rather than with "functor ... -> ",
|
||||
in HTML generated documentation. *)
|
||||
val html_short_functors : bool ref
|
||||
|
||||
(** The flag which indicates if we must generate a header (for LaTeX). *)
|
||||
val with_header : bool ref
|
||||
|
||||
|
|
|
@ -33,10 +33,10 @@ open Odoc_types
|
|||
|
||||
(** This variable contains the regular expression representing a blank.*)
|
||||
let blank = "[ \010\013\009\012']"
|
||||
|
||||
(** This variable contains the regular expression representing a blank but not a '\n'.*)
|
||||
let simple_blank = "[ \013\009\012]"
|
||||
|
||||
|
||||
(** This module is used to search for structure items by name in a Typedtree.structure.
|
||||
One function creates two hash tables, which can then be used to search for elements.
|
||||
Class elements do not use tables.
|
||||
|
@ -850,6 +850,94 @@ module Analyser =
|
|||
in
|
||||
f (module_elements, included_modules)
|
||||
|
||||
(** This function removes the elements of the module which does not
|
||||
belong to the given module type, if the module type is expanded
|
||||
and the module has a "structure" kind. *)
|
||||
let rec filter_module_with_module_type_constraint m mt =
|
||||
match m.m_kind, mt with
|
||||
Module_struct l, Types.Tmty_signature lsig ->
|
||||
m.m_kind <- Module_struct (filter_module_elements_with_module_type_constraint l lsig);
|
||||
m.m_type <- mt;
|
||||
| _ -> ()
|
||||
|
||||
(** This function removes the elements of the module type which does not
|
||||
belong to the given module type, if the module type is expanded
|
||||
and the module type has a "structure" kind. *)
|
||||
and filter_module_type_with_module_type_constraint mtyp mt =
|
||||
match mtyp.mt_kind, mt with
|
||||
Some Module_type_struct l, Types.Tmty_signature lsig ->
|
||||
mtyp.mt_kind <- Some (Module_type_struct (filter_module_elements_with_module_type_constraint l lsig));
|
||||
mtyp.mt_type <- Some mt;
|
||||
| _ -> ()
|
||||
|
||||
and filter_module_elements_with_module_type_constraint l lsig =
|
||||
let pred ele =
|
||||
let f = match ele with
|
||||
Element_module m ->
|
||||
(function
|
||||
Types.Tsig_module (ident,t,_) ->
|
||||
let n1 = Name.simple m.m_name
|
||||
and n2 = Ident.name ident in
|
||||
(
|
||||
match n1 = n2 with
|
||||
true -> filter_module_with_module_type_constraint m t; true
|
||||
| false -> false
|
||||
)
|
||||
| _ -> false)
|
||||
| Element_module_type mt ->
|
||||
(function
|
||||
Types.Tsig_modtype (ident,Types.Tmodtype_manifest t) ->
|
||||
let n1 = Name.simple mt.mt_name
|
||||
and n2 = Ident.name ident in
|
||||
(
|
||||
match n1 = n2 with
|
||||
true -> filter_module_type_with_module_type_constraint mt t; true
|
||||
| false -> false
|
||||
)
|
||||
| _ -> false)
|
||||
| Element_value v ->
|
||||
(function
|
||||
Types.Tsig_value (ident,_) ->
|
||||
let n1 = Name.simple v.val_name
|
||||
and n2 = Ident.name ident in
|
||||
n1 = n2
|
||||
| _ -> false)
|
||||
| Element_type t ->
|
||||
(function
|
||||
Types.Tsig_type (ident,_,_) ->
|
||||
(* A VOIR: il est possible que le détail du type soit caché *)
|
||||
let n1 = Name.simple t.ty_name
|
||||
and n2 = Ident.name ident in
|
||||
n1 = n2
|
||||
| _ -> false)
|
||||
| Element_exception e ->
|
||||
(function
|
||||
Types.Tsig_exception (ident,_) ->
|
||||
let n1 = Name.simple e.ex_name
|
||||
and n2 = Ident.name ident in
|
||||
n1 = n2
|
||||
| _ -> false)
|
||||
| Element_class c ->
|
||||
(function
|
||||
Types.Tsig_class (ident,_,_) ->
|
||||
let n1 = Name.simple c.cl_name
|
||||
and n2 = Ident.name ident in
|
||||
n1 = n2
|
||||
| _ -> false)
|
||||
| Element_class_type ct ->
|
||||
(function
|
||||
Types.Tsig_cltype (ident,_,_) ->
|
||||
let n1 = Name.simple ct.clt_name
|
||||
and n2 = Ident.name ident in
|
||||
n1 = n2
|
||||
| _ -> false)
|
||||
| Element_module_comment _ -> fun _ -> true
|
||||
| Element_included_module _ -> fun _ -> true
|
||||
in
|
||||
List.exists f lsig
|
||||
in
|
||||
List.filter pred l
|
||||
|
||||
(** Analysis of a parse tree structure with a typed tree, to return module elements.*)
|
||||
let rec analyse_structure env current_module_name last_pos pos_limit parsetree typedtree =
|
||||
print_DEBUG "Odoc_ast:analyse_struture";
|
||||
|
@ -1163,7 +1251,7 @@ module Analyser =
|
|||
)
|
||||
|
||||
| Parsetree.Pstr_recmodule mods ->
|
||||
(* A VOIR ICI ca merde avec /work/tmp/graph.ml: pas de lien avec les module type
|
||||
(* A VOIR ICI pb: pas de lien avec les module type
|
||||
dans les contraintes sur les modules *)
|
||||
let new_env =
|
||||
List.fold_left
|
||||
|
@ -1482,11 +1570,6 @@ module Analyser =
|
|||
| (Parsetree.Pmod_constraint (p_module_expr2, p_modtype),
|
||||
Typedtree.Tmod_constraint (tt_module_expr2, tt_modtype, _)) ->
|
||||
print_DEBUG ("Odoc_ast: case Parsetree.Pmod_constraint + Typedtree.Tmod_constraint "^module_name);
|
||||
|
||||
(* we create the module with p_module_expr2 and tt_module_expr2
|
||||
but we change its type according to the constraint.
|
||||
A VOIR : est-ce que c'est bien ?
|
||||
*)
|
||||
let m_base2 = analyse_module
|
||||
env
|
||||
current_module_name
|
||||
|
@ -1495,20 +1578,16 @@ module Analyser =
|
|||
p_module_expr2
|
||||
tt_module_expr2
|
||||
in
|
||||
let mtkind = Sig.analyse_module_type_kind
|
||||
env
|
||||
let mtkind = Sig.analyse_module_type_kind env
|
||||
(Name.concat current_module_name "??")
|
||||
p_modtype tt_modtype
|
||||
in
|
||||
let tt_modtype = Odoc_env.subst_module_type env tt_modtype in
|
||||
filter_module_with_module_type_constraint m_base2 tt_modtype;
|
||||
{
|
||||
m_base with
|
||||
m_type = Odoc_env.subst_module_type env tt_modtype ;
|
||||
m_kind = Module_constraint (m_base2.m_kind,
|
||||
mtkind)
|
||||
|
||||
(* Module_type_alias { mta_name = "Not analyzed" ;
|
||||
mta_module = None })
|
||||
*)
|
||||
m_type = tt_modtype ;
|
||||
m_kind = Module_constraint (m_base2.m_kind, mtkind) ;
|
||||
}
|
||||
|
||||
| (Parsetree.Pmod_structure p_structure,
|
||||
|
@ -1591,7 +1670,3 @@ module Analyser =
|
|||
m_text_only = false ;
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
|
||||
(* eof $Id$ *)
|
||||
|
|
|
@ -333,12 +333,11 @@ let info_of_string s =
|
|||
None -> dummy
|
||||
| Some i -> i
|
||||
|
||||
let info_of_comment_file f =
|
||||
let info_of_comment_file modlist f =
|
||||
try
|
||||
let s = Odoc_misc.input_file_as_string f in
|
||||
info_of_string s
|
||||
let i = info_of_string s in
|
||||
Odoc_cross.assoc_comments_info "" modlist i
|
||||
with
|
||||
Sys_error s ->
|
||||
failwith s
|
||||
|
||||
(* eof $Id$ *)
|
||||
|
|
|
@ -66,7 +66,9 @@ val info_of_string : string -> Odoc_types.info
|
|||
(** [info_of_comment_file file] parses the given file
|
||||
and return an {!Odoc_types.info} structure. The content of the
|
||||
file must have the same syntax as the content of a special comment.
|
||||
The given module list is used for cross reference.
|
||||
@raise Failure is the file could not be opened or there is a
|
||||
syntax error.
|
||||
*)
|
||||
val info_of_comment_file : string -> Odoc_types.info
|
||||
val info_of_comment_file :
|
||||
Odoc_module.t_module list -> string -> Odoc_types.info
|
||||
|
|
|
@ -169,7 +169,7 @@ let add_known_element name k =
|
|||
Not_found ->
|
||||
known_elements := Ele_map.add name [k] !known_elements
|
||||
|
||||
let get_known_elements name =
|
||||
let rec get_known_elements name =
|
||||
try Ele_map.find name !known_elements
|
||||
with Not_found -> []
|
||||
|
||||
|
@ -576,29 +576,45 @@ and associate_in_class_type module_list (acc_b_modif, acc_incomplete_top_module_
|
|||
|
||||
let ao = Odoc_misc.apply_opt
|
||||
|
||||
let rec assoc_comments_text_elements module_list t_ele =
|
||||
let not_found_of_kind kind name =
|
||||
(match kind with
|
||||
RK_module -> Odoc_messages.cross_module_not_found
|
||||
| RK_module_type -> Odoc_messages.cross_module_type_not_found
|
||||
| RK_class -> Odoc_messages.cross_class_not_found
|
||||
| RK_class_type -> Odoc_messages.cross_class_type_not_found
|
||||
| RK_value -> Odoc_messages.cross_value_not_found
|
||||
| RK_type -> Odoc_messages.cross_type_not_found
|
||||
| RK_exception -> Odoc_messages.cross_exception_not_found
|
||||
| RK_attribute -> Odoc_messages.cross_attribute_not_found
|
||||
| RK_method -> Odoc_messages.cross_method_not_found
|
||||
| RK_section _ -> Odoc_messages.cross_section_not_found
|
||||
) name
|
||||
|
||||
let rec assoc_comments_text_elements parent_name module_list t_ele =
|
||||
match t_ele with
|
||||
| Raw _
|
||||
| Code _
|
||||
| CodePre _
|
||||
| Latex _
|
||||
| Verbatim _ -> t_ele
|
||||
| Bold t -> Bold (assoc_comments_text module_list t)
|
||||
| Italic t -> Italic (assoc_comments_text module_list t)
|
||||
| Center t -> Center (assoc_comments_text module_list t)
|
||||
| Left t -> Left (assoc_comments_text module_list t)
|
||||
| Right t -> Right (assoc_comments_text module_list t)
|
||||
| Emphasize t -> Emphasize (assoc_comments_text module_list t)
|
||||
| List l -> List (List.map (assoc_comments_text module_list) l)
|
||||
| Enum l -> Enum (List.map (assoc_comments_text module_list) l)
|
||||
| Bold t -> Bold (assoc_comments_text parent_name module_list t)
|
||||
| Italic t -> Italic (assoc_comments_text parent_name module_list t)
|
||||
| Center t -> Center (assoc_comments_text parent_name module_list t)
|
||||
| Left t -> Left (assoc_comments_text parent_name module_list t)
|
||||
| Right t -> Right (assoc_comments_text parent_name module_list t)
|
||||
| Emphasize t -> Emphasize (assoc_comments_text parent_name module_list t)
|
||||
| List l -> List (List.map (assoc_comments_text parent_name module_list) l)
|
||||
| Enum l -> Enum (List.map (assoc_comments_text parent_name module_list) l)
|
||||
| Newline -> Newline
|
||||
| Block t -> Block (assoc_comments_text module_list t)
|
||||
| Superscript t -> Superscript (assoc_comments_text module_list t)
|
||||
| Subscript t -> Subscript (assoc_comments_text module_list t)
|
||||
| Title (n, l_opt, t) -> Title (n, l_opt, (assoc_comments_text module_list t))
|
||||
| Link (s, t) -> Link (s, (assoc_comments_text module_list t))
|
||||
| Ref (name, None) ->
|
||||
| Block t -> Block (assoc_comments_text parent_name module_list t)
|
||||
| Superscript t -> Superscript (assoc_comments_text parent_name module_list t)
|
||||
| Subscript t -> Subscript (assoc_comments_text parent_name module_list t)
|
||||
| Title (n, l_opt, t) -> Title (n, l_opt, (assoc_comments_text parent_name module_list t))
|
||||
| Link (s, t) -> Link (s, (assoc_comments_text parent_name module_list t))
|
||||
| Ref (initial_name, None) ->
|
||||
(
|
||||
let rec iter_parent ?parent_name name =
|
||||
let res =
|
||||
match get_known_elements name with
|
||||
[] ->
|
||||
(
|
||||
|
@ -607,36 +623,54 @@ let rec assoc_comments_text_elements module_list t_ele =
|
|||
let t = Odoc_search.find_section module_list re in
|
||||
let v2 = (name, Some (RK_section t)) in
|
||||
add_verified v2 ;
|
||||
Ref (name, Some (RK_section t))
|
||||
(name, Some (RK_section t))
|
||||
with
|
||||
Not_found ->
|
||||
Odoc_messages.pwarning (Odoc_messages.cross_element_not_found name);
|
||||
Ref (name, None)
|
||||
(name, None)
|
||||
)
|
||||
| ele :: _ ->
|
||||
(* we look for the first element with this name *)
|
||||
let kind =
|
||||
let (name, kind) =
|
||||
match ele with
|
||||
Odoc_search.Res_module _ -> RK_module
|
||||
| Odoc_search.Res_module_type _ -> RK_module_type
|
||||
| Odoc_search.Res_class _ -> RK_class
|
||||
| Odoc_search.Res_class_type _ -> RK_class_type
|
||||
| Odoc_search.Res_value _ -> RK_value
|
||||
| Odoc_search.Res_type _ -> RK_type
|
||||
| Odoc_search.Res_exception _ -> RK_exception
|
||||
| Odoc_search.Res_attribute _ -> RK_attribute
|
||||
| Odoc_search.Res_method _ -> RK_method
|
||||
Odoc_search.Res_module m -> (m.m_name, RK_module)
|
||||
| Odoc_search.Res_module_type mt -> (mt.mt_name, RK_module_type)
|
||||
| Odoc_search.Res_class c -> (c.cl_name, RK_class)
|
||||
| Odoc_search.Res_class_type ct -> (ct.clt_name, RK_class_type)
|
||||
| Odoc_search.Res_value v -> (v.val_name, RK_value)
|
||||
| Odoc_search.Res_type t -> (t.ty_name, RK_type)
|
||||
| Odoc_search.Res_exception e -> (e.ex_name, RK_exception)
|
||||
| Odoc_search.Res_attribute a -> (a.att_value.val_name, RK_attribute)
|
||||
| Odoc_search.Res_method m -> (m.met_value.val_name, RK_method)
|
||||
| Odoc_search.Res_section (_ ,t)-> assert false
|
||||
in
|
||||
add_verified (name, Some kind) ;
|
||||
Ref (name, Some kind)
|
||||
(name, Some kind)
|
||||
in
|
||||
match res with
|
||||
| (name, Some k) -> Ref (name, Some k)
|
||||
| (_, None) ->
|
||||
match parent_name with
|
||||
None ->
|
||||
Odoc_messages.pwarning (Odoc_messages.cross_element_not_found initial_name);
|
||||
Ref (initial_name, None)
|
||||
| Some p ->
|
||||
let parent_name =
|
||||
match Name.father p with
|
||||
"" -> None
|
||||
| s -> Some s
|
||||
in
|
||||
iter_parent ?parent_name (Name.concat p initial_name)
|
||||
in
|
||||
iter_parent ~parent_name initial_name
|
||||
)
|
||||
| Ref (name, Some kind) ->
|
||||
| Ref (initial_name, Some kind) ->
|
||||
(
|
||||
let rec iter_parent ?parent_name name =
|
||||
let v = (name, Some kind) in
|
||||
if was_verified v then
|
||||
Ref (name, Some kind)
|
||||
else
|
||||
let res =
|
||||
match kind with
|
||||
| RK_section _ ->
|
||||
(
|
||||
|
@ -646,48 +680,61 @@ let rec assoc_comments_text_elements module_list t_ele =
|
|||
let t = Odoc_search.find_section module_list re in
|
||||
let v2 = (name, Some (RK_section t)) in
|
||||
add_verified v2 ;
|
||||
Ref (name, Some (RK_section t))
|
||||
(name, Some (RK_section t))
|
||||
with
|
||||
Not_found ->
|
||||
Odoc_messages.pwarning (Odoc_messages.cross_section_not_found name);
|
||||
Ref (name, None)
|
||||
(name, None)
|
||||
)
|
||||
| _ ->
|
||||
let (f,f_mes) =
|
||||
let f =
|
||||
match kind with
|
||||
RK_module -> module_exists, Odoc_messages.cross_module_not_found
|
||||
| RK_module_type -> module_type_exists, Odoc_messages.cross_module_type_not_found
|
||||
| RK_class -> class_exists, Odoc_messages.cross_class_not_found
|
||||
| RK_class_type -> class_type_exists, Odoc_messages.cross_class_type_not_found
|
||||
| RK_value -> value_exists, Odoc_messages.cross_value_not_found
|
||||
| RK_type -> type_exists, Odoc_messages.cross_type_not_found
|
||||
| RK_exception -> exception_exists, Odoc_messages.cross_exception_not_found
|
||||
| RK_attribute -> attribute_exists, Odoc_messages.cross_attribute_not_found
|
||||
| RK_method -> method_exists, Odoc_messages.cross_method_not_found
|
||||
RK_module -> module_exists
|
||||
| RK_module_type -> module_type_exists
|
||||
| RK_class -> class_exists
|
||||
| RK_class_type -> class_type_exists
|
||||
| RK_value -> value_exists
|
||||
| RK_type -> type_exists
|
||||
| RK_exception -> exception_exists
|
||||
| RK_attribute -> attribute_exists
|
||||
| RK_method -> method_exists
|
||||
| RK_section _ -> assert false
|
||||
in
|
||||
if f name then
|
||||
(
|
||||
add_verified v ;
|
||||
Ref (name, Some kind)
|
||||
(name, Some kind)
|
||||
)
|
||||
else
|
||||
(
|
||||
Odoc_messages.pwarning (f_mes name);
|
||||
Ref (name, None)
|
||||
)
|
||||
(name, None)
|
||||
in
|
||||
match res with
|
||||
| (name, Some k) -> Ref (name, Some k)
|
||||
| (_, None) ->
|
||||
match parent_name with
|
||||
None ->
|
||||
Odoc_messages.pwarning (not_found_of_kind kind initial_name);
|
||||
Ref (initial_name, None)
|
||||
| Some p ->
|
||||
let parent_name =
|
||||
match Name.father p with
|
||||
"" -> None
|
||||
| s -> Some s
|
||||
in
|
||||
iter_parent ?parent_name (Name.concat p initial_name)
|
||||
in
|
||||
iter_parent ~parent_name initial_name
|
||||
)
|
||||
| Module_list l ->
|
||||
Module_list l
|
||||
| Index_list ->
|
||||
Index_list
|
||||
| Custom (s,t) -> Custom (s, (assoc_comments_text module_list t))
|
||||
| Custom (s,t) -> Custom (s, (assoc_comments_text parent_name module_list t))
|
||||
|
||||
and assoc_comments_text module_list text =
|
||||
List.map (assoc_comments_text_elements module_list) text
|
||||
and assoc_comments_text parent_name module_list text =
|
||||
List.map (assoc_comments_text_elements parent_name module_list) text
|
||||
|
||||
and assoc_comments_info module_list i =
|
||||
let ft = assoc_comments_text module_list in
|
||||
and assoc_comments_info parent_name module_list i =
|
||||
let ft = assoc_comments_text parent_name module_list in
|
||||
{
|
||||
i with
|
||||
i_desc = ao ft i.i_desc ;
|
||||
|
@ -700,133 +747,155 @@ and assoc_comments_info module_list i =
|
|||
}
|
||||
|
||||
|
||||
let rec assoc_comments_module_element module_list m_ele =
|
||||
let rec assoc_comments_module_element parent_name module_list m_ele =
|
||||
match m_ele with
|
||||
Element_module m -> Element_module (assoc_comments_module module_list m)
|
||||
| Element_module_type mt -> Element_module_type (assoc_comments_module_type module_list mt)
|
||||
| Element_included_module _ -> m_ele (* don't go down into the aliases *)
|
||||
| Element_class c -> Element_class (assoc_comments_class module_list c)
|
||||
| Element_class_type ct -> Element_class_type (assoc_comments_class_type module_list ct)
|
||||
| Element_value v -> Element_value (assoc_comments_value module_list v)
|
||||
| Element_exception e -> Element_exception (assoc_comments_exception module_list e)
|
||||
| Element_type t -> Element_type (assoc_comments_type module_list t)
|
||||
| Element_module_comment t -> Element_module_comment (assoc_comments_text module_list t)
|
||||
Element_module m ->
|
||||
Element_module (assoc_comments_module module_list m)
|
||||
| Element_module_type mt ->
|
||||
Element_module_type (assoc_comments_module_type module_list mt)
|
||||
| Element_included_module _ ->
|
||||
m_ele (* don't go down into the aliases *)
|
||||
| Element_class c ->
|
||||
Element_class (assoc_comments_class module_list c)
|
||||
| Element_class_type ct ->
|
||||
Element_class_type (assoc_comments_class_type module_list ct)
|
||||
| Element_value v ->
|
||||
Element_value (assoc_comments_value module_list v)
|
||||
| Element_exception e ->
|
||||
Element_exception (assoc_comments_exception module_list e)
|
||||
| Element_type t ->
|
||||
Element_type (assoc_comments_type module_list t)
|
||||
| Element_module_comment t ->
|
||||
Element_module_comment (assoc_comments_text parent_name module_list t)
|
||||
|
||||
and assoc_comments_class_element module_list c_ele =
|
||||
and assoc_comments_class_element parent_name module_list c_ele =
|
||||
match c_ele with
|
||||
Class_attribute a -> Class_attribute (assoc_comments_attribute module_list a)
|
||||
| Class_method m -> Class_method (assoc_comments_method module_list m)
|
||||
| Class_comment t -> Class_comment (assoc_comments_text module_list t)
|
||||
Class_attribute a ->
|
||||
Class_attribute (assoc_comments_attribute module_list a)
|
||||
| Class_method m ->
|
||||
Class_method (assoc_comments_method module_list m)
|
||||
| Class_comment t ->
|
||||
Class_comment (assoc_comments_text parent_name module_list t)
|
||||
|
||||
and assoc_comments_module_kind module_list mk =
|
||||
and assoc_comments_module_kind parent_name module_list mk =
|
||||
match mk with
|
||||
| Module_struct eles ->
|
||||
Module_struct (List.map (assoc_comments_module_element module_list) eles)
|
||||
Module_struct
|
||||
(List.map (assoc_comments_module_element parent_name module_list) eles)
|
||||
| Module_alias _
|
||||
| Module_functor _ ->
|
||||
mk
|
||||
| Module_apply (mk1, mk2) ->
|
||||
Module_apply (assoc_comments_module_kind module_list mk1,
|
||||
assoc_comments_module_kind module_list mk2)
|
||||
Module_apply (assoc_comments_module_kind parent_name module_list mk1,
|
||||
assoc_comments_module_kind parent_name module_list mk2)
|
||||
| Module_with (mtk, s) ->
|
||||
Module_with (assoc_comments_module_type_kind module_list mtk, s)
|
||||
Module_with (assoc_comments_module_type_kind parent_name module_list mtk, s)
|
||||
| Module_constraint (mk1, mtk) ->
|
||||
Module_constraint (assoc_comments_module_kind module_list mk1,
|
||||
assoc_comments_module_type_kind module_list mtk)
|
||||
Module_constraint
|
||||
(assoc_comments_module_kind parent_name module_list mk1,
|
||||
assoc_comments_module_type_kind parent_name module_list mtk)
|
||||
|
||||
and assoc_comments_module_type_kind module_list mtk =
|
||||
and assoc_comments_module_type_kind parent_name module_list mtk =
|
||||
match mtk with
|
||||
| Module_type_struct eles ->
|
||||
Module_type_struct (List.map (assoc_comments_module_element module_list) eles)
|
||||
Module_type_struct
|
||||
(List.map (assoc_comments_module_element parent_name module_list) eles)
|
||||
| Module_type_functor (params, mtk1) ->
|
||||
Module_type_functor (params, assoc_comments_module_type_kind module_list mtk1)
|
||||
Module_type_functor
|
||||
(params, assoc_comments_module_type_kind parent_name module_list mtk1)
|
||||
| Module_type_alias _ ->
|
||||
mtk
|
||||
| Module_type_with (mtk1, s) ->
|
||||
Module_type_with (assoc_comments_module_type_kind module_list mtk1, s)
|
||||
Module_type_with
|
||||
(assoc_comments_module_type_kind parent_name module_list mtk1, s)
|
||||
|
||||
and assoc_comments_class_kind module_list ck =
|
||||
and assoc_comments_class_kind parent_name module_list ck =
|
||||
match ck with
|
||||
Class_structure (inher, eles) ->
|
||||
let inher2 =
|
||||
List.map
|
||||
(fun ic -> { ic with
|
||||
ic_text = ao (assoc_comments_text module_list) ic.ic_text })
|
||||
(fun ic ->
|
||||
{ ic with
|
||||
ic_text = ao (assoc_comments_text parent_name module_list) ic.ic_text })
|
||||
inher
|
||||
in
|
||||
Class_structure (inher2, List.map (assoc_comments_class_element module_list) eles)
|
||||
Class_structure
|
||||
(inher2, List.map (assoc_comments_class_element parent_name module_list) eles)
|
||||
|
||||
| Class_apply _
|
||||
| Class_constr _ -> ck
|
||||
| Class_constraint (ck1, ctk) ->
|
||||
Class_constraint (assoc_comments_class_kind module_list ck1,
|
||||
assoc_comments_class_type_kind module_list ctk)
|
||||
Class_constraint (assoc_comments_class_kind parent_name module_list ck1,
|
||||
assoc_comments_class_type_kind parent_name module_list ctk)
|
||||
|
||||
and assoc_comments_class_type_kind module_list ctk =
|
||||
and assoc_comments_class_type_kind parent_name module_list ctk =
|
||||
match ctk with
|
||||
Class_signature (inher, eles) ->
|
||||
let inher2 =
|
||||
List.map
|
||||
(fun ic -> { ic with
|
||||
ic_text = ao (assoc_comments_text module_list) ic.ic_text })
|
||||
ic_text = ao (assoc_comments_text parent_name module_list) ic.ic_text })
|
||||
inher
|
||||
in
|
||||
Class_signature (inher2, List.map (assoc_comments_class_element module_list) eles)
|
||||
Class_signature (inher2, List.map (assoc_comments_class_element parent_name module_list) eles)
|
||||
|
||||
| Class_type _ -> ctk
|
||||
|
||||
|
||||
and assoc_comments_module module_list m =
|
||||
m.m_info <- ao (assoc_comments_info module_list) m.m_info ;
|
||||
m.m_kind <- assoc_comments_module_kind module_list m.m_kind ;
|
||||
m.m_info <- ao (assoc_comments_info m.m_name module_list) m.m_info ;
|
||||
m.m_kind <- assoc_comments_module_kind m.m_name module_list m.m_kind ;
|
||||
m
|
||||
|
||||
and assoc_comments_module_type module_list mt =
|
||||
mt.mt_info <- ao (assoc_comments_info module_list) mt.mt_info ;
|
||||
mt.mt_kind <- ao (assoc_comments_module_type_kind module_list) mt.mt_kind ;
|
||||
mt.mt_info <- ao (assoc_comments_info mt.mt_name module_list) mt.mt_info ;
|
||||
mt.mt_kind <- ao (assoc_comments_module_type_kind mt.mt_name module_list) mt.mt_kind ;
|
||||
mt
|
||||
|
||||
and assoc_comments_class module_list c =
|
||||
c.cl_info <- ao (assoc_comments_info module_list) c.cl_info ;
|
||||
c.cl_kind <- assoc_comments_class_kind module_list c.cl_kind ;
|
||||
assoc_comments_parameter_list module_list c.cl_parameters;
|
||||
c.cl_info <- ao (assoc_comments_info c.cl_name module_list) c.cl_info ;
|
||||
c.cl_kind <- assoc_comments_class_kind c.cl_name module_list c.cl_kind ;
|
||||
assoc_comments_parameter_list c.cl_name module_list c.cl_parameters;
|
||||
c
|
||||
|
||||
and assoc_comments_class_type module_list ct =
|
||||
ct.clt_info <- ao (assoc_comments_info module_list) ct.clt_info ;
|
||||
ct.clt_kind <- assoc_comments_class_type_kind module_list ct.clt_kind ;
|
||||
ct.clt_info <- ao (assoc_comments_info ct.clt_name module_list) ct.clt_info ;
|
||||
ct.clt_kind <- assoc_comments_class_type_kind ct.clt_name module_list ct.clt_kind ;
|
||||
ct
|
||||
|
||||
and assoc_comments_parameter module_list p =
|
||||
and assoc_comments_parameter parent_name module_list p =
|
||||
match p with
|
||||
Simple_name sn ->
|
||||
sn.sn_text <- ao (assoc_comments_text module_list) sn.sn_text
|
||||
sn.sn_text <- ao (assoc_comments_text parent_name module_list) sn.sn_text
|
||||
| Tuple (l, t) ->
|
||||
List.iter (assoc_comments_parameter module_list) l
|
||||
List.iter (assoc_comments_parameter parent_name module_list) l
|
||||
|
||||
and assoc_comments_parameter_list module_list pl =
|
||||
List.iter (assoc_comments_parameter module_list) pl
|
||||
and assoc_comments_parameter_list parent_name module_list pl =
|
||||
List.iter (assoc_comments_parameter parent_name module_list) pl
|
||||
|
||||
and assoc_comments_value module_list v =
|
||||
v.val_info <- ao (assoc_comments_info module_list) v.val_info ;
|
||||
assoc_comments_parameter_list module_list v.val_parameters;
|
||||
let parent = Name.father v.val_name in
|
||||
v.val_info <- ao (assoc_comments_info parent module_list) v.val_info ;
|
||||
assoc_comments_parameter_list parent module_list v.val_parameters;
|
||||
v
|
||||
|
||||
and assoc_comments_exception module_list e =
|
||||
e.ex_info <- ao (assoc_comments_info module_list) e.ex_info ;
|
||||
let parent = Name.father e.ex_name in
|
||||
e.ex_info <- ao (assoc_comments_info parent module_list) e.ex_info ;
|
||||
e
|
||||
|
||||
and assoc_comments_type module_list t =
|
||||
t.ty_info <- ao (assoc_comments_info module_list) t.ty_info ;
|
||||
let parent = Name.father t.ty_name in
|
||||
t.ty_info <- ao (assoc_comments_info parent module_list) t.ty_info ;
|
||||
(match t.ty_kind with
|
||||
Type_abstract -> ()
|
||||
| Type_variant (vl, _) ->
|
||||
List.iter
|
||||
(fun vc -> vc.vc_text <- ao (assoc_comments_text module_list) vc.vc_text)
|
||||
(fun vc -> vc.vc_text <- ao (assoc_comments_text parent module_list) vc.vc_text)
|
||||
vl
|
||||
| Type_record (fl, _) ->
|
||||
List.iter
|
||||
(fun rf -> rf.rf_text <- ao (assoc_comments_text module_list) rf.rf_text)
|
||||
(fun rf -> rf.rf_text <- ao (assoc_comments_text parent module_list) rf.rf_text)
|
||||
fl
|
||||
);
|
||||
t
|
||||
|
@ -836,8 +905,9 @@ and assoc_comments_attribute module_list a =
|
|||
a
|
||||
|
||||
and assoc_comments_method module_list m =
|
||||
let parent_name = Name.father m.met_value.val_name in
|
||||
let _ = assoc_comments_value module_list m.met_value in
|
||||
assoc_comments_parameter_list module_list m.met_value.val_parameters;
|
||||
assoc_comments_parameter_list parent_name module_list m.met_value.val_parameters;
|
||||
m
|
||||
|
||||
|
||||
|
@ -897,6 +967,3 @@ let associate module_list =
|
|||
|
||||
(* Find a type for each name of element which is referenced in comments. *)
|
||||
ignore (associate_type_of_elements_in_comments module_list)
|
||||
|
||||
|
||||
(* eof $Id$ *)
|
||||
|
|
|
@ -15,3 +15,6 @@
|
|||
|
||||
val associate : Odoc_module.t_module list -> unit
|
||||
|
||||
val assoc_comments_info :
|
||||
string -> Odoc_module.t_module list ->
|
||||
Odoc_types.info -> Odoc_types.info
|
||||
|
|
|
@ -123,6 +123,7 @@ class dot =
|
|||
|
||||
(** Generate the dot code in the file {!Odoc_info.Args.out_file}. *)
|
||||
method generate (modules_list : Odoc_info.Module.t_module list) =
|
||||
colors <- !Args.dot_colors;
|
||||
if !Args.dot_types then
|
||||
self#generate_types (Odoc_info.Search.types modules_list)
|
||||
else
|
||||
|
|
|
@ -1168,9 +1168,20 @@ class html =
|
|||
bs b (self#create_fully_qualified_module_idents_links father a.ma_name);
|
||||
bs b "</code>"
|
||||
| Module_functor (p, k) ->
|
||||
if !Odoc_info.Args.html_short_functors then
|
||||
bs b " "
|
||||
else
|
||||
bs b "<div class=\"sig_block\">";
|
||||
self#html_of_module_parameter b father p;
|
||||
(
|
||||
match k with
|
||||
Module_functor _ -> ()
|
||||
| _ when !Odoc_info.Args.html_short_functors ->
|
||||
bs b ": "
|
||||
| _ -> ()
|
||||
);
|
||||
self#html_of_module_kind b father ?modu k;
|
||||
if not !Odoc_info.Args.html_short_functors then
|
||||
bs b "</div>"
|
||||
| Module_apply (k1, k2) ->
|
||||
(* TODO: l'application n'est pas correcte dans un .mli.
|
||||
|
@ -1190,14 +1201,20 @@ class html =
|
|||
self#html_of_module_kind b father ?modu k
|
||||
|
||||
method html_of_module_parameter b father p =
|
||||
let (s_functor,s_arrow) =
|
||||
if !Odoc_info.Args.html_short_functors then
|
||||
"", ""
|
||||
else
|
||||
"functor ", "-> "
|
||||
in
|
||||
self#html_of_text b
|
||||
[
|
||||
Code "functor (";
|
||||
Code (s_functor^"(");
|
||||
Code p.mp_name ;
|
||||
Code " : ";
|
||||
] ;
|
||||
self#html_of_module_type_kind b father p.mp_kind;
|
||||
self#html_of_text b [ Code ") -> "]
|
||||
self#html_of_text b [ Code (") "^s_arrow)]
|
||||
|
||||
method html_of_module_element b father ele =
|
||||
match ele with
|
||||
|
@ -1628,7 +1645,12 @@ class html =
|
|||
else
|
||||
bs b (Name.simple m.m_name)
|
||||
);
|
||||
bs b ": ";
|
||||
(
|
||||
match m.m_kind with
|
||||
Module_functor _ when !Odoc_info.Args.html_short_functors ->
|
||||
()
|
||||
| _ -> bs b ": "
|
||||
);
|
||||
self#html_of_module_kind b father ~modu: m m.m_kind;
|
||||
bs b "</pre>";
|
||||
if info then
|
||||
|
@ -2290,7 +2312,8 @@ class html =
|
|||
bs b title;
|
||||
bs b "</h1></center>\n" ;
|
||||
let info = Odoc_info.apply_opt
|
||||
Odoc_info.info_of_comment_file !Odoc_info.Args.intro_file
|
||||
(Odoc_info.info_of_comment_file module_list)
|
||||
!Odoc_info.Args.intro_file
|
||||
in
|
||||
(
|
||||
match info with
|
||||
|
|
|
@ -444,7 +444,7 @@ module Module :
|
|||
and t_module = Odoc_module.t_module =
|
||||
{
|
||||
m_name : Name.t ; (** Complete name of the module. *)
|
||||
m_type : Types.module_type ; (** The type of the module. *)
|
||||
mutable m_type : Types.module_type ; (** The type of the module. *)
|
||||
mutable m_info : info option ; (** Information found in the optional associated comment. *)
|
||||
m_is_interface : bool ; (** [true] for modules read from interface files *)
|
||||
m_file : string ; (** The file the module is defined in. *)
|
||||
|
@ -477,7 +477,7 @@ module Module :
|
|||
{
|
||||
mt_name : Name.t ; (** Complete name of the module type. *)
|
||||
mutable mt_info : info option ; (** Information found in the optional associated comment. *)
|
||||
mt_type : Types.module_type option ; (** [None] means that the module type is abstract. *)
|
||||
mutable mt_type : Types.module_type option ; (** [None] means that the module type is abstract. *)
|
||||
mt_is_interface : bool ; (** [true] for modules read from interface files. *)
|
||||
mt_file : string ; (** The file the module type is defined in. *)
|
||||
mutable mt_kind : module_type_kind option ;
|
||||
|
@ -750,10 +750,11 @@ val info_string_of_info : info -> string
|
|||
(** [info_of_comment_file file] parses the given file
|
||||
and return an {!Odoc_info.info} structure. The content of the
|
||||
file must have the same syntax as the content of a special comment.
|
||||
The given module list is used for cross reference.
|
||||
@raise Failure is the file could not be opened or there is a
|
||||
syntax error.
|
||||
*)
|
||||
val info_of_comment_file : string -> info
|
||||
val info_of_comment_file : Module.t_module list -> string -> info
|
||||
|
||||
(** [remove_ending_newline s] returns [s] without the optional ending newline. *)
|
||||
val remove_ending_newline : string -> string
|
||||
|
@ -961,6 +962,10 @@ module Args :
|
|||
(** To colorize code in HTML generated documentation pages, not code pages. *)
|
||||
val colorize_code : bool ref
|
||||
|
||||
(** To display functors in short form rather than with "functor ... -> ",
|
||||
in HTML generated documentation. *)
|
||||
val html_short_functors : bool ref
|
||||
|
||||
(** The flag which indicates if we must generate a header (for LaTeX). *)
|
||||
val with_header : bool ref
|
||||
|
||||
|
|
|
@ -1044,7 +1044,7 @@ class latex =
|
|||
(Module.module_elements ~trans: false m)
|
||||
|
||||
(** Print the header of the TeX document. *)
|
||||
method latex_header fmt =
|
||||
method latex_header fmt module_list =
|
||||
ps fmt "\\documentclass[11pt]{article} \n";
|
||||
ps fmt "\\usepackage[latin1]{inputenc} \n";
|
||||
ps fmt "\\usepackage[T1]{fontenc} \n";
|
||||
|
@ -1067,7 +1067,8 @@ class latex =
|
|||
if !Args.with_toc then ps fmt "\\tableofcontents\n";
|
||||
(
|
||||
let info = Odoc_info.apply_opt
|
||||
Odoc_info.info_of_comment_file !Odoc_info.Args.intro_file
|
||||
(Odoc_info.info_of_comment_file module_list)
|
||||
!Odoc_info.Args.intro_file
|
||||
in
|
||||
(match info with None -> () | Some _ -> ps fmt "\\vspace{0.2cm}");
|
||||
self#latex_of_info fmt info;
|
||||
|
@ -1123,7 +1124,7 @@ class latex =
|
|||
try
|
||||
let chanout = open_out main_file in
|
||||
let fmt = Format.formatter_of_out_channel chanout in
|
||||
if !Args.with_header then self#latex_header fmt;
|
||||
if !Args.with_header then self#latex_header fmt module_list;
|
||||
List.iter
|
||||
(fun m ->
|
||||
if !Args.separate_files then
|
||||
|
|
|
@ -682,8 +682,13 @@ let rec merge_module_types merge_options mli ml =
|
|||
and merge_modules merge_options mli ml =
|
||||
mli.m_info <- merge_info_opt merge_options mli.m_info ml.m_info;
|
||||
mli.m_loc <- { mli.m_loc with loc_impl = ml.m_loc.loc_impl } ;
|
||||
(* More dependencies in the .ml file. *)
|
||||
mli.m_top_deps <- ml.m_top_deps ;
|
||||
let rec remove_doubles acc = function
|
||||
[] -> acc
|
||||
| h :: q ->
|
||||
if List.mem h acc then remove_doubles acc q
|
||||
else remove_doubles (h :: acc) q
|
||||
in
|
||||
mli.m_top_deps <- remove_doubles mli.m_top_deps ml.m_top_deps ;
|
||||
|
||||
let code =
|
||||
if !Odoc_args.keep_code then
|
||||
|
@ -959,5 +964,3 @@ let merge merge_options modules_list =
|
|||
|
||||
in
|
||||
iter modules_list
|
||||
|
||||
(* eof $Id$ *)
|
||||
|
|
|
@ -52,6 +52,7 @@ let load = "<file>\tLoad information from <file> ; may be used several times"
|
|||
let css_style = "<file>\n\t\tUse content of <file> as CSS style definition "^html_only
|
||||
let index_only = "\tGenerate index files only "^html_only
|
||||
let colorize_code = "\n\t\tColorize code even in documentation pages "^html_only
|
||||
let html_short_functors = "\n\t\tUse short form to display functor types "^html_only
|
||||
let generate_html = "\tGenerate HTML documentation"
|
||||
let generate_latex = "\tGenerate LaTeX documentation"
|
||||
let generate_texinfo = "\tGenerate TeXinfo documentation"
|
||||
|
@ -286,7 +287,7 @@ let cross_element_not_found n = "Element "^n^" not found"
|
|||
let cross_method_not_found n = "Method "^n^" not found"
|
||||
let cross_attribute_not_found n = "Attribute "^n^" not found"
|
||||
let cross_section_not_found n = "Section "^n^" not found"
|
||||
let cross_value_not_found n = "Attribute "^n^" not found"
|
||||
let cross_value_not_found n = "Value "^n^" not found"
|
||||
let cross_type_not_found n = "Type "^n^" not found"
|
||||
|
||||
let object_end = "object ... end"
|
||||
|
|
|
@ -64,7 +64,7 @@ and module_kind =
|
|||
(** Representation of a module. *)
|
||||
and t_module = {
|
||||
m_name : Name.t ;
|
||||
m_type : Types.module_type ;
|
||||
mutable m_type : Types.module_type ;
|
||||
mutable m_info : Odoc_types.info option ;
|
||||
m_is_interface : bool ; (** true for modules read from interface files *)
|
||||
m_file : string ; (** the file the module is defined in. *)
|
||||
|
@ -92,7 +92,7 @@ and module_type_kind =
|
|||
and t_module_type = {
|
||||
mt_name : Name.t ;
|
||||
mutable mt_info : Odoc_types.info option ;
|
||||
mt_type : Types.module_type option ; (** [None] = abstract module type *)
|
||||
mutable mt_type : Types.module_type option ; (** [None] = abstract module type *)
|
||||
mt_is_interface : bool ; (** true for modules read from interface files *)
|
||||
mt_file : string ; (** the file the module type is defined in. *)
|
||||
mutable mt_kind : module_type_kind option ; (** [None] = abstract module type if mt_type = None ;
|
||||
|
|
|
@ -79,4 +79,3 @@ let _ =
|
|||
)
|
||||
else
|
||||
exit 0
|
||||
|
||||
|
|
|
@ -1105,7 +1105,8 @@ class texi =
|
|||
| Some f ->
|
||||
nl chan ;
|
||||
puts_nl chan
|
||||
(self#texi_of_info (Some (Odoc_info.info_of_comment_file f)))
|
||||
(self#texi_of_info
|
||||
(Some (Odoc_info.info_of_comment_file m_list f)))
|
||||
end ;
|
||||
|
||||
(* write a top menu *)
|
||||
|
|
|
@ -1,19 +1,44 @@
|
|||
bigarray_stubs.o: bigarray_stubs.c ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/mlvalues.h bigarray.h ../../byterun/custom.h \
|
||||
../../byterun/fail.h ../../byterun/intext.h ../../byterun/io.h \
|
||||
../../byterun/fix_code.h ../../byterun/memory.h ../../byterun/gc.h \
|
||||
../../byterun/major_gc.h ../../byterun/freelist.h \
|
||||
../../byterun/minor_gc.h
|
||||
mmap_unix.o: mmap_unix.c bigarray.h ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/misc.h ../../byterun/custom.h \
|
||||
../../byterun/fail.h ../../byterun/sys.h
|
||||
mmap_win32.o: mmap_win32.c bigarray.h ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
|
||||
../../byterun/custom.h ../../byterun/fail.h ../../byterun/sys.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/../config/m.h ../../byterun/../config/s.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/misc.h bigarray.h ../../byterun/custom.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/fail.h ../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/intext.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/io.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/fix_code.h \
|
||||
../../byterun/config.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/memory.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/gc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/major_gc.h ../../byterun/freelist.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/misc.h ../../byterun/minor_gc.h \
|
||||
../../byterun/misc.h ../../byterun/misc.h ../../byterun/mlvalues.h
|
||||
mmap_unix.o: mmap_unix.c bigarray.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/misc.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/custom.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/fail.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/io.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/sys.h ../../byterun/misc.h
|
||||
mmap_win32.o: mmap_win32.c bigarray.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/misc.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/alloc.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/custom.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/fail.h ../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/sys.h ../../byterun/misc.h \
|
||||
../unix/unixsupport.h
|
||||
bigarray.cmo: bigarray.cmi
|
||||
bigarray.cmx: bigarray.cmi
|
||||
|
|
|
@ -2,85 +2,137 @@ color.o: color.c libgraph.h \
|
|||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h
|
||||
draw.o: draw.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h ../../byterun/alloc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h
|
||||
dump_img.o: dump_img.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h image.h ../../byterun/alloc.h \
|
||||
../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/minor_gc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h image.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h
|
||||
events.o: events.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h ../../byterun/alloc.h ../../byterun/signals.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/signals.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h
|
||||
fill.o: fill.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h ../../byterun/memory.h ../../byterun/gc.h \
|
||||
../../byterun/major_gc.h ../../byterun/freelist.h \
|
||||
../../byterun/minor_gc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h
|
||||
image.o: image.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h image.h ../../byterun/alloc.h \
|
||||
../../byterun/custom.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h image.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/custom.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h
|
||||
make_img.o: make_img.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h image.h ../../byterun/memory.h ../../byterun/gc.h \
|
||||
../../byterun/major_gc.h ../../byterun/freelist.h \
|
||||
../../byterun/minor_gc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h image.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h
|
||||
open.o: open.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h ../../byterun/alloc.h ../../byterun/callback.h \
|
||||
../../byterun/fail.h ../../byterun/memory.h ../../byterun/gc.h \
|
||||
../../byterun/major_gc.h ../../byterun/freelist.h \
|
||||
../../byterun/minor_gc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/callback.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/fail.h ../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h
|
||||
point_col.o: point_col.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h
|
||||
sound.o: sound.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h
|
||||
subwindow.o: subwindow.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h
|
||||
text.o: text.c libgraph.h \
|
||||
\
|
||||
\
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/misc.h ../../byterun/alloc.h
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h
|
||||
graphics.cmo: graphics.cmi
|
||||
graphics.cmx: graphics.cmi
|
||||
graphicsX11.cmo: graphics.cmi graphicsX11.cmi
|
||||
graphicsX11.cmx: graphics.cmx graphicsX11.cmi
|
||||
graphicsX11.cmo: ./graphics.cmi graphicsX11.cmi
|
||||
graphicsX11.cmx: ./graphics.cmx graphicsX11.cmi
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
bng.o: bng.c bng.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/compatibility.h bng_ppc.c bng_digit.c
|
||||
bng.o: bng.c bng.h ../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h bng_ppc.c \
|
||||
bng_digit.c
|
||||
bng_alpha.o: bng_alpha.c
|
||||
bng_amd64.o: bng_amd64.c
|
||||
bng_digit.o: bng_digit.c
|
||||
|
@ -9,25 +10,39 @@ bng_ppc.o: bng_ppc.c
|
|||
bng_sparc.o: bng_sparc.c
|
||||
nat_stubs.o: nat_stubs.c ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/mlvalues.h ../../byterun/custom.h ../../byterun/intext.h \
|
||||
../../byterun/io.h ../../byterun/fix_code.h ../../byterun/fail.h \
|
||||
../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/minor_gc.h bng.h nat.h
|
||||
big_int.cmi: nat.cmi
|
||||
num.cmi: ratio.cmi nat.cmi big_int.cmi
|
||||
ratio.cmi: nat.cmi big_int.cmi
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/../config/m.h ../../byterun/../config/s.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/misc.h ../../byterun/custom.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/intext.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/io.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/fix_code.h \
|
||||
../../byterun/config.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/fail.h ../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h bng.h nat.h
|
||||
big_int.cmi: ./nat.cmi
|
||||
num.cmi: ./ratio.cmi ./nat.cmi ./big_int.cmi
|
||||
ratio.cmi: ./nat.cmi ./big_int.cmi
|
||||
arith_flags.cmo: arith_flags.cmi
|
||||
arith_flags.cmx: arith_flags.cmi
|
||||
arith_status.cmo: arith_flags.cmi arith_status.cmi
|
||||
arith_status.cmx: arith_flags.cmx arith_status.cmi
|
||||
big_int.cmo: nat.cmi int_misc.cmi big_int.cmi
|
||||
big_int.cmx: nat.cmx int_misc.cmx big_int.cmi
|
||||
arith_status.cmo: ./arith_flags.cmi arith_status.cmi
|
||||
arith_status.cmx: ./arith_flags.cmx arith_status.cmi
|
||||
big_int.cmo: ./nat.cmi ./int_misc.cmi big_int.cmi
|
||||
big_int.cmx: ./nat.cmx ./int_misc.cmx big_int.cmi
|
||||
int_misc.cmo: int_misc.cmi
|
||||
int_misc.cmx: int_misc.cmi
|
||||
nat.cmo: int_misc.cmi nat.cmi
|
||||
nat.cmx: int_misc.cmx nat.cmi
|
||||
num.cmo: ratio.cmi nat.cmi int_misc.cmi big_int.cmi arith_flags.cmi num.cmi
|
||||
num.cmx: ratio.cmx nat.cmx int_misc.cmx big_int.cmx arith_flags.cmx num.cmi
|
||||
ratio.cmo: nat.cmi int_misc.cmi big_int.cmi arith_flags.cmi ratio.cmi
|
||||
ratio.cmx: nat.cmx int_misc.cmx big_int.cmx arith_flags.cmx ratio.cmi
|
||||
nat.cmo: ./int_misc.cmi nat.cmi
|
||||
nat.cmx: ./int_misc.cmx nat.cmi
|
||||
num.cmo: ./ratio.cmi ./nat.cmi ./int_misc.cmi ./big_int.cmi ./arith_flags.cmi \
|
||||
num.cmi
|
||||
num.cmx: ./ratio.cmx ./nat.cmx ./int_misc.cmx ./big_int.cmx ./arith_flags.cmx \
|
||||
num.cmi
|
||||
ratio.cmo: ./nat.cmi ./int_misc.cmi ./big_int.cmi ./arith_flags.cmi ratio.cmi
|
||||
ratio.cmx: ./nat.cmx ./int_misc.cmx ./big_int.cmx ./arith_flags.cmx ratio.cmi
|
||||
|
|
|
@ -1,7 +1,16 @@
|
|||
strstubs.o: strstubs.c ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/misc.h ../../byterun/alloc.h \
|
||||
../../byterun/memory.h ../../byterun/gc.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/minor_gc.h ../../byterun/fail.h
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/../config/m.h ../../byterun/../config/s.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/alloc.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/fail.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h
|
||||
str.cmo: str.cmi
|
||||
str.cmx: str.cmi
|
||||
|
|
|
@ -1,27 +1,35 @@
|
|||
posix.o: posix.c ../../byterun/alloc.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/mlvalues.h ../../byterun/backtrace.h \
|
||||
../../byterun/callback.h ../../byterun/custom.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/printexc.h ../../byterun/roots.h \
|
||||
../../byterun/signals.h ../../byterun/stacks.h ../../byterun/sys.h
|
||||
win32.o: win32.c ../../byterun/alloc.h ../../byterun/compatibility.h \
|
||||
../../byterun/misc.h ../../byterun/config.h ../../config/m.h \
|
||||
../../config/s.h ../../byterun/mlvalues.h ../../byterun/backtrace.h \
|
||||
../../byterun/callback.h ../../byterun/custom.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/printexc.h ../../byterun/roots.h \
|
||||
../../byterun/signals.h ../../byterun/stacks.h ../../byterun/sys.h
|
||||
condition.cmi: mutex.cmi
|
||||
condition.cmo: mutex.cmi condition.cmi
|
||||
condition.cmx: mutex.cmx condition.cmi
|
||||
event.cmo: mutex.cmi condition.cmi event.cmi
|
||||
event.cmx: mutex.cmx condition.cmx event.cmi
|
||||
../../byterun/misc.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/../config/m.h \
|
||||
../../byterun/../config/s.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/compatibility.h \
|
||||
../../byterun/config.h ../../byterun/misc.h ../../byterun/backtrace.h \
|
||||
../../byterun/mlvalues.h ../../byterun/callback.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/custom.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/fail.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/io.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/printexc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/roots.h \
|
||||
../../byterun/misc.h ../../byterun/memory.h ../../byterun/signals.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/stacks.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/sys.h \
|
||||
../../byterun/misc.h
|
||||
condition.cmi: ./mutex.cmi
|
||||
condition.cmo: ./mutex.cmi condition.cmi
|
||||
condition.cmx: ./mutex.cmx condition.cmi
|
||||
event.cmo: ./mutex.cmi ./condition.cmi event.cmi
|
||||
event.cmx: ./mutex.cmx ./condition.cmx event.cmi
|
||||
mutex.cmo: mutex.cmi
|
||||
mutex.cmx: mutex.cmi
|
||||
thread.cmo: thread.cmi
|
||||
thread.cmx: thread.cmi
|
||||
threadUnix.cmo: thread.cmi threadUnix.cmi
|
||||
threadUnix.cmx: thread.cmx threadUnix.cmi
|
||||
threadUnix.cmo: ./thread.cmi threadUnix.cmi
|
||||
threadUnix.cmx: ./thread.cmx threadUnix.cmi
|
||||
|
|
|
@ -96,7 +96,7 @@ installopt:
|
|||
$(CAMLOPT) -c $(COMPFLAGS) $<
|
||||
|
||||
depend: $(GENFILES)
|
||||
gcc -MM -I../../byterun *.c > .depend
|
||||
-gcc -MM -I../../byterun *.c > .depend
|
||||
../../boot/ocamlrun ../../tools/ocamldep *.mli *.ml >> .depend
|
||||
|
||||
include .depend
|
||||
|
|
|
@ -1,28 +1,42 @@
|
|||
scheduler.o: scheduler.c ../../byterun/alloc.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/config.h ../../config/m.h ../../config/s.h \
|
||||
../../byterun/mlvalues.h ../../byterun/backtrace.h \
|
||||
../../byterun/callback.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/printexc.h ../../byterun/roots.h ../../byterun/signals.h \
|
||||
../../byterun/stacks.h ../../byterun/sys.h
|
||||
condition.cmi: mutex.cmi
|
||||
thread.cmi: unix.cmi
|
||||
threadUnix.cmi: unix.cmi
|
||||
condition.cmo: thread.cmi mutex.cmi condition.cmi
|
||||
condition.cmx: thread.cmx mutex.cmx condition.cmi
|
||||
event.cmo: mutex.cmi condition.cmi event.cmi
|
||||
event.cmx: mutex.cmx condition.cmx event.cmi
|
||||
marshal.cmo: pervasives.cmi marshal.cmi
|
||||
marshal.cmx: pervasives.cmx marshal.cmi
|
||||
mutex.cmo: thread.cmi mutex.cmi
|
||||
mutex.cmx: thread.cmx mutex.cmi
|
||||
pervasives.cmo: unix.cmi pervasives.cmi
|
||||
pervasives.cmx: unix.cmx pervasives.cmi
|
||||
thread.cmo: unix.cmi thread.cmi
|
||||
thread.cmx: unix.cmx thread.cmi
|
||||
threadUnix.cmo: unix.cmi thread.cmi threadUnix.cmi
|
||||
threadUnix.cmx: unix.cmx thread.cmx threadUnix.cmi
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/../config/m.h ../../byterun/../config/s.h \
|
||||
../../byterun/compatibility.h ../../byterun/mlvalues.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h \
|
||||
../../byterun/misc.h ../../byterun/backtrace.h ../../byterun/mlvalues.h \
|
||||
../../byterun/callback.h ../../byterun/compatibility.h \
|
||||
../../byterun/mlvalues.h ../../byterun/fail.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/io.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h \
|
||||
../../byterun/compatibility.h ../../byterun/config.h ../../byterun/gc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/major_gc.h \
|
||||
../../byterun/freelist.h ../../byterun/misc.h ../../byterun/mlvalues.h \
|
||||
../../byterun/misc.h ../../byterun/minor_gc.h ../../byterun/misc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/printexc.h \
|
||||
../../byterun/misc.h ../../byterun/mlvalues.h ../../byterun/roots.h \
|
||||
../../byterun/misc.h ../../byterun/memory.h ../../byterun/signals.h \
|
||||
../../byterun/compatibility.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/stacks.h ../../byterun/misc.h \
|
||||
../../byterun/mlvalues.h ../../byterun/memory.h ../../byterun/sys.h \
|
||||
../../byterun/misc.h
|
||||
condition.cmi: ./mutex.cmi
|
||||
thread.cmi: ./unix.cmi
|
||||
threadUnix.cmi: ./unix.cmi
|
||||
condition.cmo: ./thread.cmi ./mutex.cmi condition.cmi
|
||||
condition.cmx: ./thread.cmx ./mutex.cmx condition.cmi
|
||||
event.cmo: ./mutex.cmi ./condition.cmi event.cmi
|
||||
event.cmx: ./mutex.cmx ./condition.cmx event.cmi
|
||||
marshal.cmo: ./pervasives.cmi marshal.cmi
|
||||
marshal.cmx: ./pervasives.cmx marshal.cmi
|
||||
mutex.cmo: ./thread.cmi mutex.cmi
|
||||
mutex.cmx: ./thread.cmx mutex.cmi
|
||||
pervasives.cmo: ./unix.cmi pervasives.cmi
|
||||
pervasives.cmx: ./unix.cmx pervasives.cmi
|
||||
thread.cmo: ./unix.cmi thread.cmi
|
||||
thread.cmx: ./unix.cmx thread.cmi
|
||||
threadUnix.cmo: ./unix.cmi ./thread.cmi threadUnix.cmi
|
||||
threadUnix.cmx: ./unix.cmx ./thread.cmx threadUnix.cmi
|
||||
unix.cmo: unix.cmi
|
||||
unix.cmx: unix.cmi
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -62,7 +62,12 @@ static value alloc_host_entry(struct hostent *entry)
|
|||
|
||||
Begin_roots4 (name, aliases, addr_list, adr);
|
||||
name = copy_string((char *)(entry->h_name));
|
||||
/* PR#4043: protect against buggy implementations of gethostbyname()
|
||||
that return a NULL pointer in h_aliases */
|
||||
if (entry->h_aliases)
|
||||
aliases = copy_string_array((const char**)entry->h_aliases);
|
||||
else
|
||||
aliases = Atom(0);
|
||||
entry_h_length = entry->h_length;
|
||||
#ifdef h_addr
|
||||
addr_list = alloc_array(alloc_one_addr, (const char**)entry->h_addr_list);
|
||||
|
|
184
stdlib/.depend
184
stdlib/.depend
|
@ -1,104 +1,116 @@
|
|||
camlinternalMod.cmi: obj.cmi
|
||||
camlinternalOO.cmi: obj.cmi
|
||||
format.cmi: buffer.cmi
|
||||
genlex.cmi: stream.cmi
|
||||
moreLabels.cmi: set.cmi map.cmi hashtbl.cmi
|
||||
oo.cmi: camlinternalOO.cmi
|
||||
parsing.cmi: obj.cmi lexing.cmi
|
||||
printf.cmi: buffer.cmi
|
||||
random.cmi: nativeint.cmi int64.cmi int32.cmi
|
||||
weak.cmi: hashtbl.cmi
|
||||
arg.cmo: sys.cmi string.cmi printf.cmi list.cmi buffer.cmi array.cmi arg.cmi
|
||||
arg.cmx: sys.cmx string.cmx printf.cmx list.cmx buffer.cmx array.cmx arg.cmi
|
||||
camlinternalMod.cmi: ./obj.cmi
|
||||
camlinternalOO.cmi: ./obj.cmi
|
||||
format.cmi: ./buffer.cmi
|
||||
genlex.cmi: ./stream.cmi
|
||||
moreLabels.cmi: ./set.cmi ./map.cmi ./hashtbl.cmi
|
||||
oo.cmi: ./camlinternalOO.cmi
|
||||
parsing.cmi: ./obj.cmi ./lexing.cmi
|
||||
printf.cmi: ./obj.cmi ./buffer.cmi
|
||||
random.cmi: ./nativeint.cmi ./int64.cmi ./int32.cmi
|
||||
weak.cmi: ./hashtbl.cmi
|
||||
arg.cmo: ./sys.cmi ./string.cmi ./printf.cmi ./list.cmi ./buffer.cmi \
|
||||
./array.cmi arg.cmi
|
||||
arg.cmx: ./sys.cmx ./string.cmx ./printf.cmx ./list.cmx ./buffer.cmx \
|
||||
./array.cmx arg.cmi
|
||||
array.cmo: array.cmi
|
||||
array.cmx: array.cmi
|
||||
arrayLabels.cmo: array.cmi arrayLabels.cmi
|
||||
arrayLabels.cmx: array.cmx arrayLabels.cmi
|
||||
buffer.cmo: sys.cmi string.cmi buffer.cmi
|
||||
buffer.cmx: sys.cmx string.cmx buffer.cmi
|
||||
callback.cmo: obj.cmi callback.cmi
|
||||
callback.cmx: obj.cmx callback.cmi
|
||||
camlinternalMod.cmo: obj.cmi camlinternalOO.cmi array.cmi camlinternalMod.cmi
|
||||
camlinternalMod.cmx: obj.cmx camlinternalOO.cmx array.cmx camlinternalMod.cmi
|
||||
camlinternalOO.cmo: sys.cmi string.cmi obj.cmi map.cmi list.cmi char.cmi \
|
||||
array.cmi camlinternalOO.cmi
|
||||
camlinternalOO.cmx: sys.cmx string.cmx obj.cmx map.cmx list.cmx char.cmx \
|
||||
array.cmx camlinternalOO.cmi
|
||||
arrayLabels.cmo: ./array.cmi arrayLabels.cmi
|
||||
arrayLabels.cmx: ./array.cmx arrayLabels.cmi
|
||||
buffer.cmo: ./sys.cmi ./string.cmi buffer.cmi
|
||||
buffer.cmx: ./sys.cmx ./string.cmx buffer.cmi
|
||||
callback.cmo: ./obj.cmi callback.cmi
|
||||
callback.cmx: ./obj.cmx callback.cmi
|
||||
camlinternalMod.cmo: ./obj.cmi ./camlinternalOO.cmi ./array.cmi \
|
||||
camlinternalMod.cmi
|
||||
camlinternalMod.cmx: ./obj.cmx ./camlinternalOO.cmx ./array.cmx \
|
||||
camlinternalMod.cmi
|
||||
camlinternalOO.cmo: ./sys.cmi ./string.cmi ./obj.cmi ./map.cmi ./list.cmi \
|
||||
./char.cmi ./array.cmi camlinternalOO.cmi
|
||||
camlinternalOO.cmx: ./sys.cmx ./string.cmx ./obj.cmx ./map.cmx ./list.cmx \
|
||||
./char.cmx ./array.cmx camlinternalOO.cmi
|
||||
char.cmo: char.cmi
|
||||
char.cmx: char.cmi
|
||||
complex.cmo: complex.cmi
|
||||
complex.cmx: complex.cmi
|
||||
digest.cmo: string.cmi printf.cmi digest.cmi
|
||||
digest.cmx: string.cmx printf.cmx digest.cmi
|
||||
filename.cmo: sys.cmi string.cmi random.cmi printf.cmi buffer.cmi \
|
||||
digest.cmo: ./string.cmi ./printf.cmi digest.cmi
|
||||
digest.cmx: ./string.cmx ./printf.cmx digest.cmi
|
||||
filename.cmo: ./sys.cmi ./string.cmi ./random.cmi ./printf.cmi ./buffer.cmi \
|
||||
filename.cmi
|
||||
filename.cmx: sys.cmx string.cmx random.cmx printf.cmx buffer.cmx \
|
||||
filename.cmx: ./sys.cmx ./string.cmx ./random.cmx ./printf.cmx ./buffer.cmx \
|
||||
filename.cmi
|
||||
format.cmo: string.cmi printf.cmi obj.cmi list.cmi buffer.cmi format.cmi
|
||||
format.cmx: string.cmx printf.cmx obj.cmx list.cmx buffer.cmx format.cmi
|
||||
gc.cmo: sys.cmi printf.cmi gc.cmi
|
||||
gc.cmx: sys.cmx printf.cmx gc.cmi
|
||||
genlex.cmo: string.cmi stream.cmi list.cmi hashtbl.cmi char.cmi genlex.cmi
|
||||
genlex.cmx: string.cmx stream.cmx list.cmx hashtbl.cmx char.cmx genlex.cmi
|
||||
hashtbl.cmo: sys.cmi array.cmi hashtbl.cmi
|
||||
hashtbl.cmx: sys.cmx array.cmx hashtbl.cmi
|
||||
int32.cmo: pervasives.cmi int32.cmi
|
||||
int32.cmx: pervasives.cmx int32.cmi
|
||||
int64.cmo: pervasives.cmi int64.cmi
|
||||
int64.cmx: pervasives.cmx int64.cmi
|
||||
lazy.cmo: obj.cmi lazy.cmi
|
||||
lazy.cmx: obj.cmx lazy.cmi
|
||||
lexing.cmo: sys.cmi string.cmi array.cmi lexing.cmi
|
||||
lexing.cmx: sys.cmx string.cmx array.cmx lexing.cmi
|
||||
format.cmo: ./string.cmi ./printf.cmi ./obj.cmi ./list.cmi ./buffer.cmi \
|
||||
format.cmi
|
||||
format.cmx: ./string.cmx ./printf.cmx ./obj.cmx ./list.cmx ./buffer.cmx \
|
||||
format.cmi
|
||||
gc.cmo: ./sys.cmi ./printf.cmi gc.cmi
|
||||
gc.cmx: ./sys.cmx ./printf.cmx gc.cmi
|
||||
genlex.cmo: ./string.cmi ./stream.cmi ./list.cmi ./hashtbl.cmi ./char.cmi \
|
||||
genlex.cmi
|
||||
genlex.cmx: ./string.cmx ./stream.cmx ./list.cmx ./hashtbl.cmx ./char.cmx \
|
||||
genlex.cmi
|
||||
hashtbl.cmo: ./sys.cmi ./array.cmi hashtbl.cmi
|
||||
hashtbl.cmx: ./sys.cmx ./array.cmx hashtbl.cmi
|
||||
int32.cmo: ./pervasives.cmi int32.cmi
|
||||
int32.cmx: ./pervasives.cmx int32.cmi
|
||||
int64.cmo: ./pervasives.cmi int64.cmi
|
||||
int64.cmx: ./pervasives.cmx int64.cmi
|
||||
lazy.cmo: ./obj.cmi lazy.cmi
|
||||
lazy.cmx: ./obj.cmx lazy.cmi
|
||||
lexing.cmo: ./sys.cmi ./string.cmi ./array.cmi lexing.cmi
|
||||
lexing.cmx: ./sys.cmx ./string.cmx ./array.cmx lexing.cmi
|
||||
list.cmo: list.cmi
|
||||
list.cmx: list.cmi
|
||||
listLabels.cmo: list.cmi listLabels.cmi
|
||||
listLabels.cmx: list.cmx listLabels.cmi
|
||||
listLabels.cmo: ./list.cmi listLabels.cmi
|
||||
listLabels.cmx: ./list.cmx listLabels.cmi
|
||||
map.cmo: map.cmi
|
||||
map.cmx: map.cmi
|
||||
marshal.cmo: string.cmi marshal.cmi
|
||||
marshal.cmx: string.cmx marshal.cmi
|
||||
moreLabels.cmo: set.cmi map.cmi hashtbl.cmi moreLabels.cmi
|
||||
moreLabels.cmx: set.cmx map.cmx hashtbl.cmx moreLabels.cmi
|
||||
nativeint.cmo: sys.cmi pervasives.cmi nativeint.cmi
|
||||
nativeint.cmx: sys.cmx pervasives.cmx nativeint.cmi
|
||||
obj.cmo: marshal.cmi obj.cmi
|
||||
obj.cmx: marshal.cmx obj.cmi
|
||||
oo.cmo: camlinternalOO.cmi oo.cmi
|
||||
oo.cmx: camlinternalOO.cmx oo.cmi
|
||||
parsing.cmo: obj.cmi lexing.cmi array.cmi parsing.cmi
|
||||
parsing.cmx: obj.cmx lexing.cmx array.cmx parsing.cmi
|
||||
marshal.cmo: ./string.cmi marshal.cmi
|
||||
marshal.cmx: ./string.cmx marshal.cmi
|
||||
moreLabels.cmo: ./set.cmi ./map.cmi ./hashtbl.cmi moreLabels.cmi
|
||||
moreLabels.cmx: ./set.cmx ./map.cmx ./hashtbl.cmx moreLabels.cmi
|
||||
nativeint.cmo: ./sys.cmi ./pervasives.cmi nativeint.cmi
|
||||
nativeint.cmx: ./sys.cmx ./pervasives.cmx nativeint.cmi
|
||||
obj.cmo: ./marshal.cmi obj.cmi
|
||||
obj.cmx: ./marshal.cmx obj.cmi
|
||||
oo.cmo: ./camlinternalOO.cmi oo.cmi
|
||||
oo.cmx: ./camlinternalOO.cmx oo.cmi
|
||||
parsing.cmo: ./obj.cmi ./lexing.cmi ./array.cmi parsing.cmi
|
||||
parsing.cmx: ./obj.cmx ./lexing.cmx ./array.cmx parsing.cmi
|
||||
pervasives.cmo: pervasives.cmi
|
||||
pervasives.cmx: pervasives.cmi
|
||||
printexc.cmo: printf.cmi obj.cmi printexc.cmi
|
||||
printexc.cmx: printf.cmx obj.cmx printexc.cmi
|
||||
printf.cmo: string.cmi obj.cmi list.cmi char.cmi buffer.cmi printf.cmi
|
||||
printf.cmx: string.cmx obj.cmx list.cmx char.cmx buffer.cmx printf.cmi
|
||||
queue.cmo: obj.cmi queue.cmi
|
||||
queue.cmx: obj.cmx queue.cmi
|
||||
random.cmo: string.cmi pervasives.cmi nativeint.cmi int64.cmi int32.cmi \
|
||||
digest.cmi char.cmi array.cmi random.cmi
|
||||
random.cmx: string.cmx pervasives.cmx nativeint.cmx int64.cmx int32.cmx \
|
||||
digest.cmx char.cmx array.cmx random.cmi
|
||||
scanf.cmo: string.cmi printf.cmi obj.cmi list.cmi hashtbl.cmi buffer.cmi \
|
||||
scanf.cmi
|
||||
scanf.cmx: string.cmx printf.cmx obj.cmx list.cmx hashtbl.cmx buffer.cmx \
|
||||
scanf.cmi
|
||||
printexc.cmo: ./printf.cmi ./obj.cmi printexc.cmi
|
||||
printexc.cmx: ./printf.cmx ./obj.cmx printexc.cmi
|
||||
printf.cmo: ./string.cmi ./obj.cmi ./list.cmi ./char.cmi ./buffer.cmi \
|
||||
./array.cmi printf.cmi
|
||||
printf.cmx: ./string.cmx ./obj.cmx ./list.cmx ./char.cmx ./buffer.cmx \
|
||||
./array.cmx printf.cmi
|
||||
queue.cmo: ./obj.cmi queue.cmi
|
||||
queue.cmx: ./obj.cmx queue.cmi
|
||||
random.cmo: ./string.cmi ./pervasives.cmi ./nativeint.cmi ./int64.cmi \
|
||||
./int32.cmi ./digest.cmi ./char.cmi ./array.cmi random.cmi
|
||||
random.cmx: ./string.cmx ./pervasives.cmx ./nativeint.cmx ./int64.cmx \
|
||||
./int32.cmx ./digest.cmx ./char.cmx ./array.cmx random.cmi
|
||||
scanf.cmo: ./string.cmi ./printf.cmi ./obj.cmi ./list.cmi ./hashtbl.cmi \
|
||||
./buffer.cmi scanf.cmi
|
||||
scanf.cmx: ./string.cmx ./printf.cmx ./obj.cmx ./list.cmx ./hashtbl.cmx \
|
||||
./buffer.cmx scanf.cmi
|
||||
set.cmo: set.cmi
|
||||
set.cmx: set.cmi
|
||||
sort.cmo: array.cmi sort.cmi
|
||||
sort.cmx: array.cmx sort.cmi
|
||||
stack.cmo: list.cmi stack.cmi
|
||||
stack.cmx: list.cmx stack.cmi
|
||||
stdLabels.cmo: stringLabels.cmi listLabels.cmi arrayLabels.cmi stdLabels.cmi
|
||||
stdLabels.cmx: stringLabels.cmx listLabels.cmx arrayLabels.cmx stdLabels.cmi
|
||||
stream.cmo: string.cmi obj.cmi list.cmi stream.cmi
|
||||
stream.cmx: string.cmx obj.cmx list.cmx stream.cmi
|
||||
string.cmo: pervasives.cmi list.cmi char.cmi string.cmi
|
||||
string.cmx: pervasives.cmx list.cmx char.cmx string.cmi
|
||||
stringLabels.cmo: string.cmi stringLabels.cmi
|
||||
stringLabels.cmx: string.cmx stringLabels.cmi
|
||||
sort.cmo: ./array.cmi sort.cmi
|
||||
sort.cmx: ./array.cmx sort.cmi
|
||||
stack.cmo: ./list.cmi stack.cmi
|
||||
stack.cmx: ./list.cmx stack.cmi
|
||||
stdLabels.cmo: ./stringLabels.cmi ./listLabels.cmi ./arrayLabels.cmi \
|
||||
stdLabels.cmi
|
||||
stdLabels.cmx: ./stringLabels.cmx ./listLabels.cmx ./arrayLabels.cmx \
|
||||
stdLabels.cmi
|
||||
stream.cmo: ./string.cmi ./obj.cmi ./list.cmi stream.cmi
|
||||
stream.cmx: ./string.cmx ./obj.cmx ./list.cmx stream.cmi
|
||||
string.cmo: ./pervasives.cmi ./list.cmi ./char.cmi string.cmi
|
||||
string.cmx: ./pervasives.cmx ./list.cmx ./char.cmx string.cmi
|
||||
stringLabels.cmo: ./string.cmi stringLabels.cmi
|
||||
stringLabels.cmx: ./string.cmx stringLabels.cmi
|
||||
sys.cmo: sys.cmi
|
||||
sys.cmx: sys.cmi
|
||||
weak.cmo: sys.cmi obj.cmi hashtbl.cmi array.cmi weak.cmi
|
||||
weak.cmx: sys.cmx obj.cmx hashtbl.cmx array.cmx weak.cmi
|
||||
weak.cmo: ./sys.cmi ./obj.cmi ./hashtbl.cmi ./array.cmi weak.cmi
|
||||
weak.cmx: ./sys.cmx ./obj.cmx ./hashtbl.cmx ./array.cmx weak.cmi
|
||||
|
|
|
@ -45,7 +45,7 @@ let rec update_mod shape o n =
|
|||
match shape with
|
||||
| Function ->
|
||||
if Obj.tag n = Obj.closure_tag && Obj.size n <= Obj.size o
|
||||
then overwrite o n
|
||||
then begin overwrite o n; Obj.truncate o (Obj.size n) (* PR #4008 *) end
|
||||
else overwrite o (Obj.repr (fun x -> (Obj.obj n : _ -> _) x))
|
||||
| Lazy ->
|
||||
assert (Obj.tag n = Obj.lazy_tag);
|
||||
|
|
|
@ -78,4 +78,4 @@ let catch_break on =
|
|||
|
||||
(* OCaml version string, must be in the format described in sys.mli. *)
|
||||
|
||||
let ocaml_version = "3.10+dev8 (2006-06-26)";;
|
||||
let ocaml_version = "3.10+dev9 (2006-09-18)";;
|
||||
|
|
|
@ -11,39 +11,41 @@ dumpapprox.cmo: ../utils/config.cmi ../asmcomp/compilenv.cmi \
|
|||
../asmcomp/clambda.cmi
|
||||
dumpapprox.cmx: ../utils/config.cmx ../asmcomp/compilenv.cmx \
|
||||
../asmcomp/clambda.cmx
|
||||
dumpobj.cmo: ../utils/tbl.cmi opnames.cmo ../bytecomp/opcodes.cmo \
|
||||
../bytecomp/lambda.cmi ../bytecomp/instruct.cmi ../typing/ident.cmi \
|
||||
../bytecomp/emitcode.cmi ../utils/config.cmi ../bytecomp/bytesections.cmi \
|
||||
dumpobj.cmo: ../utils/tbl.cmi ./opnames.cmo ../bytecomp/opcodes.cmo \
|
||||
../parsing/location.cmi ../bytecomp/lambda.cmi ../bytecomp/instruct.cmi \
|
||||
../typing/ident.cmi ../bytecomp/emitcode.cmi ../utils/config.cmi \
|
||||
../bytecomp/cmo_format.cmi ../bytecomp/bytesections.cmi \
|
||||
../parsing/asttypes.cmi
|
||||
dumpobj.cmx: ../utils/tbl.cmx opnames.cmx ../bytecomp/opcodes.cmx \
|
||||
../bytecomp/lambda.cmx ../bytecomp/instruct.cmx ../typing/ident.cmx \
|
||||
../bytecomp/emitcode.cmx ../utils/config.cmx ../bytecomp/bytesections.cmx \
|
||||
dumpobj.cmx: ../utils/tbl.cmx ./opnames.cmx ../bytecomp/opcodes.cmx \
|
||||
../parsing/location.cmx ../bytecomp/lambda.cmx ../bytecomp/instruct.cmx \
|
||||
../typing/ident.cmx ../bytecomp/emitcode.cmx ../utils/config.cmx \
|
||||
../bytecomp/cmo_format.cmi ../bytecomp/bytesections.cmx \
|
||||
../parsing/asttypes.cmi
|
||||
lexer301.cmo: ../utils/warnings.cmi ../utils/misc.cmi ../parsing/location.cmi
|
||||
lexer301.cmx: ../utils/warnings.cmx ../utils/misc.cmx ../parsing/location.cmx
|
||||
objinfo.cmo: ../bytecomp/emitcode.cmi ../utils/config.cmi
|
||||
objinfo.cmx: ../bytecomp/emitcode.cmx ../utils/config.cmx
|
||||
objinfo.cmo: ../utils/config.cmi ../bytecomp/cmo_format.cmi
|
||||
objinfo.cmx: ../utils/config.cmx ../bytecomp/cmo_format.cmi
|
||||
ocamlcp.cmo: ../driver/main_args.cmi
|
||||
ocamlcp.cmx: ../driver/main_args.cmx
|
||||
ocamldep.cmo: ../parsing/syntaxerr.cmi ../parsing/parsetree.cmi \
|
||||
../parsing/parse.cmi ../utils/misc.cmi ../parsing/longident.cmi \
|
||||
../parsing/location.cmi ../parsing/lexer.cmi depend.cmi \
|
||||
../utils/config.cmi ../utils/clflags.cmo
|
||||
../parsing/location.cmi ../parsing/lexer.cmi ./depend.cmi \
|
||||
../utils/config.cmi ../utils/clflags.cmi
|
||||
ocamldep.cmx: ../parsing/syntaxerr.cmx ../parsing/parsetree.cmi \
|
||||
../parsing/parse.cmx ../utils/misc.cmx ../parsing/longident.cmx \
|
||||
../parsing/location.cmx ../parsing/lexer.cmx depend.cmx \
|
||||
../parsing/location.cmx ../parsing/lexer.cmx ./depend.cmx \
|
||||
../utils/config.cmx ../utils/clflags.cmx
|
||||
ocamlmktop.cmo: ../utils/ccomp.cmi
|
||||
ocamlmktop.cmx: ../utils/ccomp.cmx
|
||||
ocamlprof.cmo: ../parsing/syntaxerr.cmi ../parsing/parsetree.cmi \
|
||||
../parsing/parse.cmi ../utils/misc.cmi ../parsing/location.cmi \
|
||||
../parsing/lexer.cmi ../utils/config.cmi ../utils/clflags.cmo
|
||||
../parsing/lexer.cmi ../utils/config.cmi ../utils/clflags.cmi
|
||||
ocamlprof.cmx: ../parsing/syntaxerr.cmx ../parsing/parsetree.cmi \
|
||||
../parsing/parse.cmx ../utils/misc.cmx ../parsing/location.cmx \
|
||||
../parsing/lexer.cmx ../utils/config.cmx ../utils/clflags.cmx
|
||||
primreq.cmo: ../bytecomp/emitcode.cmi ../utils/config.cmi
|
||||
primreq.cmx: ../bytecomp/emitcode.cmx ../utils/config.cmx
|
||||
primreq.cmo: ../utils/config.cmi ../bytecomp/cmo_format.cmi
|
||||
primreq.cmx: ../utils/config.cmx ../bytecomp/cmo_format.cmi
|
||||
profiling.cmo: profiling.cmi
|
||||
profiling.cmx: profiling.cmi
|
||||
scrapelabels.cmo: lexer301.cmo
|
||||
scrapelabels.cmx: lexer301.cmx
|
||||
scrapelabels.cmo: ./lexer301.cmo
|
||||
scrapelabels.cmx: ./lexer301.cmx
|
||||
|
|
|
@ -195,7 +195,9 @@ clean::
|
|||
rm -f dumpobj
|
||||
|
||||
opnames.ml: ../byterun/instruct.h
|
||||
unset LC_ALL LC_CTYPE LC_COLLATE LANG; \
|
||||
unset LC_ALL || : ; \
|
||||
unset LC_CTYPE || : ; \
|
||||
unset LC_COLLATE LANG || : ; \
|
||||
sed -e '/\/\*/d' \
|
||||
-e '/^#/d' \
|
||||
-e 's/enum \(.*\) {/let names_of_\1 = [|/' \
|
||||
|
|
|
@ -449,6 +449,11 @@ open Format
|
|||
|
||||
let usage = "Usage: ocamlprof <options> <files>\noptions are:"
|
||||
|
||||
let print_version () =
|
||||
printf "ocamlprof, version %s@." Sys.ocaml_version;
|
||||
exit 0;
|
||||
;;
|
||||
|
||||
let main () =
|
||||
try
|
||||
Arg.parse [
|
||||
|
@ -461,7 +466,9 @@ let main () =
|
|||
"-instrument", Arg.Set instr_mode, " (undocumented)";
|
||||
"-intf", Arg.String process_intf_file,
|
||||
"<file> Process <file> as a .mli file";
|
||||
"-m", Arg.String (fun s -> modes := s), "<flags> (undocumented)"
|
||||
"-m", Arg.String (fun s -> modes := s), "<flags> (undocumented)";
|
||||
"-version", Arg.Unit print_version,
|
||||
" Print version and exit";
|
||||
] process_anon_file usage;
|
||||
exit 0
|
||||
with x ->
|
||||
|
|
|
@ -1105,6 +1105,13 @@ let expand_abbrev env ty =
|
|||
| _ ->
|
||||
assert false
|
||||
|
||||
let safe_abbrev env ty =
|
||||
let snap = Btype.snapshot () in
|
||||
try ignore (expand_abbrev env ty); true
|
||||
with Cannot_expand | Unify _ ->
|
||||
Btype.backtrack snap;
|
||||
false
|
||||
|
||||
(* Fully expand the head of a type.
|
||||
Raise Cannot_expand if the type cannot be expanded.
|
||||
May raise Unify, if a recursion was hidden in the type. *)
|
||||
|
@ -1128,7 +1135,10 @@ let expand_head_once env ty =
|
|||
try expand_abbrev env (repr ty) with Cannot_expand -> assert false
|
||||
|
||||
(* Fully expand the head of a type. *)
|
||||
let rec expand_head env ty =
|
||||
let expand_head_unif env ty =
|
||||
try try_expand_head env ty with Cannot_expand -> repr ty
|
||||
|
||||
let expand_head env ty =
|
||||
let snap = Btype.snapshot () in
|
||||
try try_expand_head env ty
|
||||
with Cannot_expand | Unify _ -> (* expand_head shall never fail *)
|
||||
|
@ -1506,8 +1516,8 @@ let rec unify env t1 t2 =
|
|||
and unify2 env t1 t2 =
|
||||
(* Second step: expansion of abbreviations *)
|
||||
let rec expand_both t1'' t2'' =
|
||||
let t1' = expand_head env t1 in
|
||||
let t2' = expand_head env t2 in
|
||||
let t1' = expand_head_unif env t1 in
|
||||
let t2' = expand_head_unif env t2 in
|
||||
(* Expansion may have changed the representative of the types... *)
|
||||
if t1' == t1'' && t2' == t2'' then (t1',t2') else
|
||||
expand_both t1' t2'
|
||||
|
@ -1600,7 +1610,7 @@ and unify3 env t1 t1' t2 t2' =
|
|||
match t2.desc with
|
||||
Tconstr (p, tl, abbrev) ->
|
||||
forget_abbrev abbrev p;
|
||||
let t2'' = expand_head env t2 in
|
||||
let t2'' = expand_head_unif env t2 in
|
||||
if not (closed_parameterized_type tl t2'') then
|
||||
link_type (repr t2) (repr t2')
|
||||
| _ ->
|
||||
|
@ -1684,13 +1694,15 @@ and unify_row env row1 row2 =
|
|||
let rm1 = row_more row1 and rm2 = row_more row2 in
|
||||
if rm1 == rm2 then () else
|
||||
let r1, r2, pairs = merge_row_fields row1.row_fields row2.row_fields in
|
||||
ignore (List.fold_left
|
||||
(fun hl l ->
|
||||
let h = hash_variant l in
|
||||
try raise(Tags(l,List.assoc h hl))
|
||||
with Not_found -> (h,l)::hl)
|
||||
(List.map (fun (l,_) -> (hash_variant l, l)) row1.row_fields)
|
||||
(List.map fst r2));
|
||||
if r1 <> [] && r2 <> [] then begin
|
||||
let ht = Hashtbl.create (List.length r1) in
|
||||
List.iter (fun (l,_) -> Hashtbl.add ht (hash_variant l) l) r1;
|
||||
List.iter
|
||||
(fun (l,_) ->
|
||||
try raise (Tags(l, Hashtbl.find ht (hash_variant l)))
|
||||
with Not_found -> ())
|
||||
r2
|
||||
end;
|
||||
let more =
|
||||
if row1.row_fixed then rm1 else
|
||||
if row2.row_fixed then rm2 else
|
||||
|
@ -1847,7 +1859,7 @@ let unify env ty1 ty2 =
|
|||
(2) the original label is not optional
|
||||
*)
|
||||
let rec filter_arrow env t l =
|
||||
let t = expand_head env t in
|
||||
let t = expand_head_unif env t in
|
||||
match t.desc with
|
||||
Tvar ->
|
||||
let t1 = newvar () and t2 = newvar () in
|
||||
|
@ -1890,7 +1902,7 @@ let rec filter_method_field env name priv ty =
|
|||
|
||||
(* Unify [ty] and [< name : 'a; .. >]. Return ['a]. *)
|
||||
let rec filter_method env name priv ty =
|
||||
let ty = expand_head env ty in
|
||||
let ty = expand_head_unif env ty in
|
||||
match ty.desc with
|
||||
Tvar ->
|
||||
let ty1 = newvar () in
|
||||
|
@ -1964,8 +1976,8 @@ let rec moregen inst_nongen type_pairs env t1 t2 =
|
|||
| (Tconstr (p1, [], _), Tconstr (p2, [], _)) when Path.same p1 p2 ->
|
||||
()
|
||||
| _ ->
|
||||
let t1' = expand_head env t1 in
|
||||
let t2' = expand_head env t2 in
|
||||
let t1' = expand_head_unif env t1 in
|
||||
let t2' = expand_head_unif env t2 in
|
||||
(* Expansion may have changed the representative of the types... *)
|
||||
let t1' = repr t1' and t2' = repr t2' in
|
||||
if t1' == t2' then () else
|
||||
|
@ -2211,8 +2223,8 @@ let rec eqtype rename type_pairs subst env t1 t2 =
|
|||
| (Tconstr (p1, [], _), Tconstr (p2, [], _)) when Path.same p1 p2 ->
|
||||
()
|
||||
| _ ->
|
||||
let t1' = expand_head env t1 in
|
||||
let t2' = expand_head env t2 in
|
||||
let t1' = expand_head_unif env t1 in
|
||||
let t2' = expand_head_unif env t2 in
|
||||
(* Expansion may have changed the representative of the types... *)
|
||||
let t1' = repr t1' and t2' = repr t2' in
|
||||
if t1' == t2' then () else
|
||||
|
@ -2719,7 +2731,8 @@ let rec build_subtype env visited loops posi level t =
|
|||
if c > Unchanged then (newty (Ttuple (List.map fst tlist')), c)
|
||||
else (t, Unchanged)
|
||||
| Tconstr(p, tl, abbrev)
|
||||
when level > 0 && generic_abbrev env p && not (has_constr_row' env t) ->
|
||||
when level > 0 && generic_abbrev env p && safe_abbrev env t
|
||||
&& not (has_constr_row' env t) ->
|
||||
let t' = repr (expand_abbrev env t) in
|
||||
let level' = pred_expand level in
|
||||
begin try match t'.desc with
|
||||
|
@ -2759,7 +2772,8 @@ let rec build_subtype env visited loops posi level t =
|
|||
let visited = t :: visited in
|
||||
begin try
|
||||
let decl = Env.find_type p env in
|
||||
if level = 0 && generic_abbrev env p && not (has_constr_row' env t)
|
||||
if level = 0 && generic_abbrev env p && safe_abbrev env t
|
||||
&& not (has_constr_row' env t)
|
||||
then warn := true;
|
||||
let tl' =
|
||||
List.map2
|
||||
|
@ -2890,9 +2904,11 @@ let rec subtype_rec env trace t1 t2 cstrs =
|
|||
subtype_list env trace tl1 tl2 cstrs
|
||||
| (Tconstr(p1, [], _), Tconstr(p2, [], _)) when Path.same p1 p2 ->
|
||||
cstrs
|
||||
| (Tconstr(p1, tl1, abbrev1), _) when generic_abbrev env p1 ->
|
||||
| (Tconstr(p1, tl1, abbrev1), _)
|
||||
when generic_abbrev env p1 && safe_abbrev env t1 ->
|
||||
subtype_rec env trace (expand_abbrev env t1) t2 cstrs
|
||||
| (_, Tconstr(p2, tl2, abbrev2)) when generic_abbrev env p2 ->
|
||||
| (_, Tconstr(p2, tl2, abbrev2))
|
||||
when generic_abbrev env p2 && safe_abbrev env t2 ->
|
||||
subtype_rec env trace t1 (expand_abbrev env t2) cstrs
|
||||
| (Tconstr(p1, tl1, _), Tconstr(p2, tl2, _)) when Path.same p1 p2 ->
|
||||
begin try
|
||||
|
@ -3082,8 +3098,9 @@ let cyclic_abbrev env id ty =
|
|||
p = Path.Pident id || List.memq ty seen ||
|
||||
begin try
|
||||
check_cycle (ty :: seen) (expand_abbrev env ty)
|
||||
with Cannot_expand ->
|
||||
false
|
||||
with
|
||||
Cannot_expand -> false
|
||||
| Unify _ -> true
|
||||
end
|
||||
| _ ->
|
||||
false
|
||||
|
|
|
@ -35,6 +35,7 @@ type error =
|
|||
| Class_declarations of
|
||||
Ident.t * class_declaration * class_declaration *
|
||||
Ctype.class_match_failure list
|
||||
| Unbound_modtype_path of Path.t
|
||||
|
||||
exception Error of error list
|
||||
|
||||
|
@ -89,7 +90,7 @@ let expand_module_path env path =
|
|||
try
|
||||
Env.find_modtype_expansion path env
|
||||
with Not_found ->
|
||||
raise Dont_match
|
||||
raise(Error[Unbound_modtype_path path])
|
||||
|
||||
(* Extract name, kind and ident from a signature item *)
|
||||
|
||||
|
@ -377,6 +378,8 @@ let include_err ppf = function
|
|||
(Printtyp.class_declaration id) d1
|
||||
(Printtyp.class_declaration id) d2
|
||||
Includeclass.report_error reason
|
||||
| Unbound_modtype_path path ->
|
||||
fprintf ppf "Unbound module type %a" Printtyp.path path
|
||||
|
||||
let report_error ppf = function
|
||||
| [] -> ()
|
||||
|
|
|
@ -40,6 +40,7 @@ type error =
|
|||
| Class_declarations of
|
||||
Ident.t * class_declaration * class_declaration *
|
||||
Ctype.class_match_failure list
|
||||
| Unbound_modtype_path of Path.t
|
||||
|
||||
exception Error of error list
|
||||
|
||||
|
|
|
@ -333,18 +333,17 @@ let rec transl_type env policy styp =
|
|||
raise(Error(styp.ptyp_loc, Present_has_no_type l)))
|
||||
present
|
||||
end;
|
||||
ignore begin
|
||||
List.fold_left
|
||||
(fun hl (l,_) ->
|
||||
(* Check for tag conflicts *)
|
||||
let ht = Hashtbl.create (List.length fields + 1) in
|
||||
List.iter
|
||||
(fun (l,_) ->
|
||||
let h = Btype.hash_variant l in
|
||||
try
|
||||
let l' = List.assoc h hl in
|
||||
if l <> l' then raise(Error(styp.ptyp_loc, Variant_tags(l, l')));
|
||||
hl
|
||||
with Not_found -> (h,l) :: hl)
|
||||
[]
|
||||
fields
|
||||
end;
|
||||
let l' = Hashtbl.find ht h in
|
||||
if l <> l' then raise(Error(styp.ptyp_loc, Variant_tags(l, l')))
|
||||
with Not_found ->
|
||||
Hashtbl.add ht h l)
|
||||
fields;
|
||||
let row =
|
||||
{ row_fields = List.rev fields; row_more = newvar ();
|
||||
row_bound = !bound; row_closed = closed;
|
||||
|
|
Loading…
Reference in New Issue