"C:/ocamlmgw64-44068/bin/../lib/ocaml/ocamldoc"
/usr/bin/install -c -p -m 644 \
ocamldoc/ocamldoc.hva ocamldoc/*.cmx ocamldoc/odoc_info.a \
ocamldoc/odoc_info.cmxa \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/ocamldoc"
/usr/bin/install -c -p -m 644 \
otherlibs/dynlink/dynlink_config.cmx otherlibs/dynlink/dynlink_types.cmx otherlibs/dynlink/dynlink_platform_intf.cmx otherlibs/dynlink/dynlink_common.cmx otherlibs/dynlink/native/dynlink.cmx otherlibs/dynlink/dynlink.cmxa \
otherlibs/dynlink/dynlink.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/dynlink"
for i in runtime_events unix str systhreads; do \
make -C otherlibs/$i installopt || exit $?; \
done
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/runtime_events'
/usr/bin/install -c -p -m 644 \
runtime_events.cmx runtime_events.cmxa runtime_events.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/runtime_events/"
if test -f runtime_events.cmxs; then \
/usr/bin/install -c -p runtime_events.cmxs "C:/ocamlmgw64-44068/bin/../lib/ocaml/runtime_events"; \
fi
if true \
&& test -f dllcamlruntime_eventsnat.dll; then \
/usr/bin/install -c -p \
dllcamlruntime_eventsnat.dll "C:/ocamlmgw64-44068/bin/../lib/ocaml/stublibs"; \
fi
/usr/bin/install -c -p -m 644 libcamlruntime_eventsnat.a "C:/ocamlmgw64-44068/bin/../lib/ocaml/"
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/runtime_events'
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/unix'
/usr/bin/install -c -p -m 644 \
unix.cmx unixLabels.cmx unix.cmxa unix.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/unix/"
if test -f unix.cmxs; then \
/usr/bin/install -c -p unix.cmxs "C:/ocamlmgw64-44068/bin/../lib/ocaml/unix"; \
fi
if true \
&& test -f dllunixnat.dll; then \
/usr/bin/install -c -p \
dllunixnat.dll "C:/ocamlmgw64-44068/bin/../lib/ocaml/stublibs"; \
fi
/usr/bin/install -c -p -m 644 libunixnat.a "C:/ocamlmgw64-44068/bin/../lib/ocaml/"
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/unix'
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/str'
/usr/bin/install -c -p -m 644 \
str.cmx str.cmxa str.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/str/"
if test -f str.cmxs; then \
/usr/bin/install -c -p str.cmxs "C:/ocamlmgw64-44068/bin/../lib/ocaml/str"; \
fi
if true \
&& test -f dllcamlstrnat.dll; then \
/usr/bin/install -c -p \
dllcamlstrnat.dll "C:/ocamlmgw64-44068/bin/../lib/ocaml/stublibs"; \
fi
/usr/bin/install -c -p -m 644 libcamlstrnat.a "C:/ocamlmgw64-44068/bin/../lib/ocaml/"
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/str'
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/systhreads'
/usr/bin/install -c -p -m 644 libthreadsnat.a "C:/ocamlmgw64-44068/bin/../lib/ocaml"
/usr/bin/install -c -p -m 644 \
thread.cmx event.cmx threads.cmxa threads.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/threads"
/usr/bin/install -c -p threads.cmxs "C:/ocamlmgw64-44068/bin/../lib/ocaml/threads"
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/systhreads'
if test -f ocamlopt.opt.exe; then make installoptopt; else \
cd "C:/ocamlmgw64-44068/bin"; \
ln -sf ocamlc.byte.exe ocamlc.exe; \
ln -sf ocamlopt.byte.exe ocamlopt.exe; \
ln -sf ocamllex.byte.exe ocamllex.exe; \
(test -f flexlink.byte.exe && \
ln -sf flexlink.byte.exe flexlink.exe) || true; \
fi
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
/usr/bin/install -c -p ocamlc.opt.exe "C:/ocamlmgw64-44068/bin"
/usr/bin/install -c -p ocamlopt.opt.exe "C:/ocamlmgw64-44068/bin"
/usr/bin/install -c -p lex/ocamllex.opt.exe "C:/ocamlmgw64-44068/bin"
cd "C:/ocamlmgw64-44068/bin"; \
ln -sf ocamlc.opt.exe ocamlc.exe; \
ln -sf ocamlopt.opt.exe ocamlopt.exe; \
ln -sf ocamllex.opt.exe ocamllex.exe
/usr/bin/install -c -p flexlink.opt.exe "C:/ocamlmgw64-44068/bin"
cd "C:/ocamlmgw64-44068/bin"; \
ln -sf flexlink.opt.exe flexlink.exe
/usr/bin/install -c -p -m 644 \
utils/*.cmx parsing/*.cmx typing/*.cmx bytecomp/*.cmx \
toplevel/*.cmx toplevel/native/*.cmx \
toplevel/native/tophooks.cmi \
file_formats/*.cmx \
lambda/*.cmx \
driver/*.cmx asmcomp/*.cmx middle_end/*.cmx \
middle_end/closure/*.cmx \
middle_end/flambda/*.cmx \
middle_end/flambda/base_types/*.cmx \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/compiler-libs"
/usr/bin/install -c -p -m 644 \
compilerlibs/*.cmxa compilerlibs/*.a \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/compiler-libs"
/usr/bin/install -c -p -m 644 \
driver/main.cmx driver/main.o \
driver/optmain.cmx driver/optmain.o \
toplevel/topstart.o \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/compiler-libs"
/usr/bin/install -c -p ocamlnat.exe "C:/ocamlmgw64-44068/bin"
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
/usr/bin/install -c -p -m 644 \
tools/profiling.cmx tools/profiling.o \
"C:/ocamlmgw64-44068/bin/../lib/ocaml/profiling"
make[1]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
+ make -f Makefile.test -C testsuite/in_prefix test-in-prefix
make: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/testsuite/in_prefix'
make -C ../.. testsuite/tools/test_in_prefix.opt.exe
make[1]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
make -C otherlibs allopt
make[2]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs'
for lib in runtime_events unix str systhreads; do (make -C $lib allopt) || exit $?; done
make[3]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/runtime_events'
make[3]: Nothing to be done for 'allopt'.
make[3]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/runtime_events'
make[3]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/unix'
make[3]: Nothing to be done for 'allopt'.
make[3]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/unix'
make[3]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/str'
make[3]: Nothing to be done for 'allopt'.
make[3]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/str'
make[3]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/systhreads'
make[3]: Nothing to be done for 'allopt'.
make[3]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs/systhreads'
make[2]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/otherlibs'
OCAMLC testsuite/tools/test_in_prefix.cmi
OCAMLOPT testsuite/tools/test_in_prefix.cmx
LINKOPT testsuite/tools/test_in_prefix.opt.exe
make[1]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
make -C ../.. testsuite/tools/main_in_c.o
make[1]: Entering directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
CC testsuite/tools/main_in_c.o
make[1]: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64'
Test Environment
prefix = C:\ocamlmgw64-44068
bindir = [$prefix/]bin
libdir = [$prefix/]lib\ocaml
- C compiler is x86_64-w64-mingw32-gcc [mingw-12-0-gcc-11-4] for x86_64-w64-mingw32
- OCaml is relocatable and reproducible; target binaries by default are relocatable
- Executable header size is 6.50KiB (6656 bytes)
- Testing native and bytecode for shared and static linking with ocamlnat
Checking installed files for
Installation Prefix: /ocamlmgw64-44068
Relative Suffix: /../lib/ocaml
Build Root: /builds/workspace/precheck/flambda/false/label/ocaml-mingw-64
Relocatable files:
**/META, *.a, *.cma, *.cmi, *.cmo, *.cmt, *.cmti, *.cmx, *.cmxa, *.cmxs,
*.dll, *.exe, *.h, *.hva, *.ml, *.ml.in, *.mli, *.o, *.tbl, $bindir/*,
$libdir\ld.conf, $libdir\runtime-launch-info
Files containing the installation prefix:
$libdir\Makefile.config
Files containing the relative suffix:
$libdir\Makefile.config
Testing loading of libraries with bytecode dynlink
$prefix/$bindir\ocamlc.exe -I +dynlink dynlink.cma -linkall -o $PWD\test_script.exe test_install_script.ml
> Environment
> PATH=$prefix/$bindir:$PATH
$PWD\test_script.exe runtime_events
> Loaded runtime_events.cma
$PWD\test_script.exe str
> Loaded str.cma
$PWD\test_script.exe unix threads
> Loaded unix.cma
> Loaded threads.cma
$PWD\test_script.exe unix
> Loaded unix.cma
Testing loading of libraries with native dynlink
$prefix/$bindir\ocamlopt.exe -I +dynlink dynlink.cmxa -linkall -o $PWD\test_script.exe test_install_script.ml
$PWD\test_script.exe runtime_events
> Loaded runtime_events.cmxs
$PWD\test_script.exe str
> Loaded str.cmxs
$PWD\test_script.exe unix threads
> Loaded unix.cmxs
> Loaded threads.cmxs
$PWD\test_script.exe unix
> Loaded unix.cmxs
Testing loading of libraries in $prefix/$bindir\ocaml.exe
$prefix/$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded dynlink.cma
$prefix/$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded runtime_events.cma
$prefix/$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded str.cma
$prefix/$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cma
> Loaded threads.cma
$prefix/$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cma
Testing loading of libraries in $prefix/$bindir\ocamlnat.exe
$prefix/$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded dynlink.cmxa
$prefix/$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded runtime_events.cmxs
$prefix/$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded str.cmxs
$prefix/$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cmxs
> Loaded threads.cmxs
$prefix/$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cmxs
Testing processing of ld.conf
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma ocamlbytecomp.cma -o $PWD\test_ld_conf.byte.exe test_install_script.ml
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa ocamlbytecomp.cmxa -o $PWD\test_ld_conf.opt.exe test_install_script.ml
- Base ld.conf test
Backing up $prefix\$libdir\ld.conf to $prefix\$libdir\ld.conf.bak
$prefix/$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
- Base ld.conf + CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068\lib\ocaml;/lib/ocaml $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068\lib\ocaml;/lib/ocaml $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068\lib\ocaml;/lib/ocaml $PWD\test_ld_conf.opt.exe
- Base ld.conf + quoted CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $PWD\test_ld_conf.opt.exe
- Base ld.conf with CRLF endings
$prefix/$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
- Empty CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH= $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH= $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH= $PWD\test_ld_conf.opt.exe
- Embedded empty entry in CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH=; $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=; $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=; $PWD\test_ld_conf.opt.exe
- Empty CAMLLIB
CAML_LD_LIBRARY_PATH=env CAMLLIB= $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env CAMLLIB= $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env CAMLLIB= $PWD\test_ld_conf.opt.exe
- Empty OCAMLLIB
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- $OCAMLLIB/ld.conf
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- $CAMLLIB/ld.conf
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix/$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- EOF-at-EOF
$prefix/$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
Restoring $prefix\$libdir\ld.conf.bak to $prefix\$libdir\ld.conf
Testing bytecode binaries in $prefix/$bindir
$prefix/$bindir\flexlink.byte.exe -vnum
> 0.43
flexlink.byte (from $prefix/$bindir\flexlink.byte.exe) -M <exit 2>
> flexlink.byte: unknown option '-M'.
> FlexDLL version 0.43
>
> Usage:
> flexlink -o <result.dll/exe> file1.obj file2.obj ... -- <extra linker arguments>
>
> -o Choose the name of the output file
> -exe Link the main program as an exe file
> -maindll Link the main program as a dll file
> -noflexdllobj Do not add the Flexdll runtime object (for exe)
> -noentry Do not use the Flexdll entry point (for dll)
> -noexport Do not export any symbol
> -norelrelocs Ensure that no relative relocation is generated
> -base Specify base address (Win64 only)
> -I <dir> Add a directory where to search for files
> -L <dir> Add a directory where to search for files
> -l <lib> Library file
> -chain {msvc|msvc64|cygwin64|mingw|mingw64|gnat|gnat64|ld}
> Choose which linker to use
> -x64 (Deprecated)
> -defaultlib <obj> External object (no export, no import)
> -save-temps Do not delete intermediate files
> -implib Do not delete the generated import library
> -outdef Produce a def file with exported symbols
> -v Increment verbosity (can be repeated)
> -show-exports Show exported symbols
> -show-imports Show imported symbols
> -dry Show the linker command line, do not actually run it
> -dump Only dump the content of object files
> -patch Only patch the target image (to be used with -stack)
> -nocygpath Do not use cygpath (default for msvc, mingw)
> -cygpath Use cygpath (default for cygwin)
> -no-merge-manifest Do not merge the manifest (takes precedence over -merge-manifest)
> -merge-manifest Merge manifest to the dll or exe (if generated)
> -real-manifest Use the generated manifest (default behavior)
> -default-manifest Use the default manifest (default.manifest/default_amd64.manifest)
> -export <sym> Explicitly export a symbol
> -noreexport Do not reexport symbols imported from import libraries
> -where Show the FlexDLL directory
> -nounderscore Normal symbols are not prefixed with an underscore
> -nodefaultlibs Do not assume any default library
> -builtin Use built-in linker to produce a dll
> -explain Explain why library objects are linked
> -subsystem <id> Set the subsystem (default: console)
> -custom-crt Use a custom CRT
> -stack <int> Set the stack reserve in the resulting image
> -link <option> Next argument is passed verbatim to the linker
> -g (ignored)
> -D <symbol> (Ignored)
> -U <symbol> (Ignored)
> -- Following arguments are passed verbatim to the linker
> -version Print linker version and FlexDLL directory and exit
> -vnum Print linker version number and exit
> -help Display this list of options
> --help Display this list of options
>
> Notes:
> * The -I, -l and -L options do not need to be separated from their argument.
> * An option like /linkXXX is an abbrevation for '-link XXX'.
> * An option like -Wl,-XXX is an abbreviation for '-link -XXX'.
> * FlexDLL's object files are searched by default in the same directory as
> flexlink, or in the directory given by the environment variable FLEXDIR
> if it is defined.
> * Extra argument can be passed in the environment variable FLEXLINKFLAGS.
>
> Homepage: http://alain.frisch.fr/flexdll.html
$prefix/$bindir\ocaml.exe -vnum
> 5.4.0+dev0-2024-08-25
ocaml (from $prefix/$bindir\ocaml.exe) -M <exit 2>
> ocaml: unknown option '-M'.
> Usage: ocaml <options> <files>
> Try 'ocaml --help' for more information.
$prefix/$bindir\ocamlc.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlc.byte (from $prefix/$bindir\ocamlc.byte.exe) -M <exit 2>
> ocamlc.byte: unknown option '-M'.
> Usage: ocamlc <options> <files>
> Try 'ocamlc --help' for more information.
$prefix/$bindir\ocamlcmt.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlcmt (from $prefix/$bindir\ocamlcmt.exe) -M <exit 2>
> ocamlcmt: unknown option '-M'.
> Read FILE.cmt and print related information
> Usage: ocamlcmt [options] FILE.cmt
> Options are:
> -o <file> Dump to file <file> (or stdout if -)
> -annot Generate the corresponding .annot file
> -save-cmt-info Encapsulate additional cmt information in annotations
> -src Convert .cmt or .cmti back to source code (without comments)
> -info : print information on the file
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -I <dir> Add <dir> to the list of include directories
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamlcp.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlcp (from $prefix/$bindir\ocamlcp.exe) -M <exit 2>
> ocamlcp: unknown option '-M'.
> Usage: ocamlcp <options> <files>
> Options are:
> -P [afilmt] Profile constructs specified by argument (default fm):
> a Everything
> f Function calls and method calls
> i if ... then ... else
> l while and for loops
> m match ... with
> t try ... with
> -p [afilmt] Same as option -P
> -a Build a library
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -annot (deprecated) Save information in <filename>.annot
> -bin-annot Save typedtree in <filename>.cmt
> -bin-annot-occurrences Store every occurrence of a bound name in the .cmt file.
> This information can be used by external tools to provide
> features such as project-wide occurrences. This flag has
> no effect in the absence of '-bin-annot'.
> -c Compile only (do not link)
> -cc <command> Use <command> as the C compiler and linker
> -cclib <opt> Pass option <opt> to the C linker
> -ccopt <opt> Pass option <opt> to the C compiler and linker
> -cmi-file <file> Use the <file> interface file to type-check
> -color {auto|always|never} Enable or disable colors in compiler messages
> The following settings are supported:
> auto use heuristics to enable colors only if supported
> always enable colors
> never disable colors
> The default setting is 'auto', and the current heuristic
> checks that the TERM environment variable exists and is
> not empty or "dumb", and that isatty(stderr) holds.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_COLOR environment variable.
> -error-style {contextual|short} Control the way error messages and warnings are printed
> The following settings are supported:
> short only print the error and its location
> contextual like "short", but also display the source code
> snippet corresponding to the location of the error
> The default setting is 'contextual'.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_ERROR_STYLE environment variable.
> -compat-32 Check that generated bytecode can run on 32-bit platforms
> -config Print configuration values and exit
> -config-var Print the value of a configuration variable, without a newline, and exit
> (print nothing and exit with error value if the variable does not exist)
> -custom Link in custom mode
> -dllib <lib> Use the dynamically-loaded library <lib>
> -dllib-suffixed <lib> Use the dynamically-loaded library <lib>, with runtime suffix appended to the name
> -dllpath <dir> Add <dir> to the run-time search path for shared libraries
> -dtypes (deprecated) same as -annot
> -for-pack <ident> Generate code that can later be `packed' with
> ocamlc -pack -o <ident>.cmo
> -g Save debugging information
> -no-g Do not record debugging information (default)
> -stop-after {parsing|typing|lambda} Stop after the given compilation pass.
> -i Print inferred interface
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -intf_suffix <string> (deprecated) same as -intf-suffix
> -keep-docs Keep documentation strings in .cmi files
> -no-keep-docs Do not keep documentation strings in .cmi files (default)
> -keep-locs Keep locations in .cmi files (default)
> -no-keep-locs Do not keep locations in .cmi files
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -linkall Link all modules, even unused ones
> -make-runtime Build a runtime system with given C objects and libraries
> -make_runtime (deprecated) same as -make-runtime
> -modern (deprecated) same as -labels
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -no-check-prims Do not check runtime for primitives
> -noassert Do not compile assertion checks
> -noautolink Do not automatically link C libraries specified in .cma files
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -nopervasives (undocumented)
> -o <file> Set output file name to <file>
> -opaque Does not generate cross-module optimization information
> (reduces necessary recompilation on module change)
> -open <module> Opens the module <module> before typing
> -output-obj Output an object file instead of an executable
> -output-complete-obj Output an object file, including runtime, instead of an executable
> -output-complete-exe Output a self-contained executable, including runtime and C stubs
> -pack Package the given .cmo files into one .cmo
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -plugin <plugin> (no longer supported)
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -runtime-variant <str> Use the <str> variant of the run-time system
> -with-runtime Include the runtime system in the generated program (default)
> -without-runtime Do not include the runtime system in the generated program.
> -safe-string (default unconditionally since 5.0)
> -safer-matching Do not use type information to optimize pattern-matching
> -set-runtime-default <param>=<value> Set the default for runtime parameter <param> to <value>
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe Do not compile bounds checking on array and string access
> -unsafe-string (option not available)
> -use-runtime <file> Generate bytecode for the given runtime system
> -use_runtime <file> (deprecated) same as -use-runtime
> -launch-method <method> Use <method> for the bytecode launcher rather than the mechanism in runtime-launch-info
> -runtime-search {disable|enable|always} Control the way the bytecode header searches for the interpreter
> The following settings are supported:
> disable use a fixed absolute path to the runtime
> enable search for runtime only if not found at the absolute path
> always always search for the runtime
> The default setting is 'enable'.
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vmthread (no longer supported)
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> -warn-error <list> Enable or disable error status for warnings according
> to <list>. See option -w for the syntax of <list>.
> Default setting is "-a"
> -warn-help Show description of warning numbers
> -where Print location of standard library and exit
> - <file> Treat <file> as a file name (even if it starts with `-')
> -match-context-rows <n> (advanced, see manual section 13.2.)
> -use-prims <file> (undocumented)
> -dno-unique-ids (undocumented)
> -dunique-ids (undocumented)
> -dno-canonical-ids (undocumented)
> -dcanonical-ids (undocumented)
> -dno-locations (undocumented)
> -dlocations (undocumented)
> -dsource (undocumented)
> -dparsetree (undocumented)
> -dtypedtree (undocumented)
> -dshape (undocumented)
> -dmatchcomp (undocumented)
> -drawlambda (undocumented)
> -dlambda (undocumented)
> -dinstr (undocumented)
> -dcamlprimc (undocumented)
> -dtimings Print timings information for each pass
> -dprofile Print performance information for each pass
> The columns are: time alloc top-heap absolute-top-heap.
> -dump-into-file dump output like -dlambda into <target>.dump
> -dump-dir <dir> dump output like -dlambda into <dir>/<target>.dump
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line arguments
> from <file>
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamldebug.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldebug (from $prefix/$bindir\ocamldebug.exe) -M <exit 2>
> ocamldebug: unknown option '-M'.
> Usage: ocamldebug [options] <program> [arguments]
> Options are:
> -c <count> Set max number of checkpoints kept
> -cd <dir> Change working directory
> -emacs For running the debugger under emacs; implies -machine-readable
> -I <dir> Add <dir> to the list of include directories
> -machine-readable Print information in a format more suitable for machines
> -s <filename> Set the name of the communication socket
> -version Print version and exit
> -vnum Print version number and exit
> -no-version Do not print version at startup
> -no-prompt Suppress all prompts
> -no-time Do not print times
> -no-breakpoint-message Do not print message at breakpoint setup and removal
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamldep.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldep.byte (from $prefix/$bindir\ocamldep.byte.exe) -M <exit 2>
> ocamldep.byte: unknown option '-M'.
> Usage: ocamldep.byte <options> <files>
> Try 'ocamldep.byte --help' for more information.
$prefix/$bindir\ocamldoc.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldoc (from $prefix/$bindir\ocamldoc.exe) -M <exit 2>
> ocamldoc: unknown option '-M'.
> Usage: ocamldoc [options] <files>
> Options are:
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -intf_suffix <string> (deprecated) same as -intf-suffix
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -modern (deprecated) same as -labels
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -noassert Do not compile assertion checks
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -open <module> Opens the module <module> before typing
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -safe-string (default unconditionally since 5.0)
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe-string (option not available)
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vmthread (no longer supported)
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> - <file> Treat <file> as a file name (even if it starts with `-')
> -initially-opened-module <module> Name of the module that is initially opened
> -lib <module> Name of the library namespace for a prefixed library.Note: very experimental.
> -text <file> Consider <file> as a .txt file
> -warn-error Treat ocamldoc warnings as errors
> -show-missed-crossref Show missed cross-reference opportunities
> -hide-warnings do not print ocamldoc warnings
> -o <file> Set the output file name, used by texi, latex and dot generators
> (default is ocamldoc.out)
> or the prefix of index files for the HTML generator
> (default is index)
> -d <dir> Generate files in directory <dir>, rather than in current
> directory (for man and HTML generators)
> -sort Sort the list of top modules before generating the documentation
> -no-stop Do not stop at (**/**) comments
> -no-custom-tags Do not allow custom @-tags
> -stars Remove beginning blanks of comment lines, until the first '*'
> -inv-merge-ml-mli Inverse implementations and interfaces when merging
> -no-module-constraint-filter Do not filter module elements using module type constraints
> -keep-code Always keep code when available
>
> -dump <file> Dump collected information into <file>
> -load <file> Load information from <file> ; may be used several times
>
> -t <title> Use <title> as title for the generated documentation
> -intro <file> Use content of <file> as ocamldoc text to use as introduction
> (HTML, LaTeX and TeXinfo only)
> -hide <M1,M2.M3,...> Hide the given complete module names in generated doc
> -m <options> specify merge options between .mli and .ml
> <options> can be one or more of the following characters:
> d merge description
> a merge @author
> v merge @version
> l merge @see
> s merge @since
> b merge @before
> o merge @deprecated
> p merge @param
> e merge @raise
> r merge @return
> c merge custom @-tags
> A merge all
>
> *** choosing a generator ***
>
> -html Generate HTML documentation
> -latex Generate LaTeX documentation
> -texi Generate TeXinfo documentation
> -man Generate man pages
> -dot Generate dot code of top modules dependencies
> -customdir Display custom generators standard directory and exit
> -i <dir> Add the given directory to the search path for custom
> generators
> -g <file.cm[o|a|xs]> Load file defining a new documentation generator
>
> *** HTML options ***
>
> -all-params Display the complete list of parameters for functions and
> methods (HTML only)
> -css-style <file> Use content of <file> as CSS style definition (HTML only)
> -index-only Generate index files only (HTML only)
> -colorize-code Colorize code even in documentation pages (HTML only)
> -short-functors Use short form to display functor types (HTML only)
> -charset <s> Add information about character encoding being s
> (default is UTF-8)
> -nonavbar Do not include the navigation bar (HTML only)
>
> *** LaTeX options ***
>
> -noheader Suppress header in generated documentation
> (LaTeX and TeXinfo only)
> -notrailer Suppress trailer in generated documentation
> (LaTeX and TeXinfo only)
> -sepfiles Generate one file per toplevel module (LaTeX only)
> -latextitle n,style Associate {n } to the given sectioning style
> (e.g. 'section') in the latex output (LaTeX only)
> Default sectioning is:
> 0 -> section
> 1 -> section
> 2 -> subsection
> 3 -> subsubsection
> 4 -> paragraph
> 5 -> subparagraph
> -latex-value-prefix <string>
> Use <string> as prefix for the LaTeX labels of values.
> (default is "val:")
> -latex-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of types.
> (default is "type:")
> -latex-exception-prefix <string>
> Use <string> as prefix for the LaTeX labels of exceptions.
> (default is "exception:")
> -latex-attribute-prefix <string>
> Use <string> as prefix for the LaTeX labels of attributes.
> (default is "val:")
> -latex-method-prefix <string>
> Use <string> as prefix for the LaTeX labels of methods.
> (default is "method:")
> -latex-module-prefix <string>
> Use <string> as prefix for the LaTeX labels of modules.
> (default is "module:")
> -latex-module-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of module types.
> (default is "moduletype:")
> -latex-class-prefix <string>
> Use <string> as prefix for the LaTeX labels of classes.
> (default is "class:")
> -latex-class-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of class types.
> (default is "classtype:")
> -latex-escape-underscore escape underscore in references
> -notoc Do not generate table of contents (LaTeX only)
>
> *** texinfo options ***
>
> -noindex Do not build index for Info files (TeXinfo only)
> -esc8 Escape accentuated characters in Info files (TeXinfo only)
> -texinfotitle n,style Associate {n } to the given sectioning style
> (e.g. 'section') in the texInfo output (TeXinfo only)
> Default sectioning is:
> 0 -> @chapter , @majorheading
> 1 -> @chapter , @majorheading
> 2 -> @section , @heading
> 3 -> @subsection , @subheading
> 4 -> @subsubsection , @subsubheading
> -info-section Specify section of Info directory (TeXinfo only)
> -info-entry Specify Info directory entry (TeXinfo only)
>
> *** dot options ***
>
> -dot-colors <c1,c2,...,cn>
> Use colors c1,c1,...,cn in the dot output
> (default list is darkturquoise,darkgoldenrod2,cyan,green,
> magenta,yellow,burlywood1,aquamarine,floralwhite,lightpink,
> lightblue,mediumturquoise,salmon,slategray3)
> -dot-include-all Include all modules in the dot output, not only the
> modules given on the command line
> -dot-types Generate dependency graph for types instead of modules
> -dot-reduce Perform a transitive reduction on the selected dependency graph
> before the dot output
>
> *** man pages options ***
>
> -man-mini Generate man pages only for modules, module types, classes
> and class types (man only)
> -man-suffix <suffix> Use <suffix> for man page files (default is 3o) (man only)
>
> -man-section <section> Use <section> in man page files (default is 3) (man only)
>
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamllex.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamllex.byte (from $prefix/$bindir\ocamllex.byte.exe) -M <exit 2>
> ocamllex.byte: unknown option '-M'.
> Usage: ocamllex [options] sourcefile
> Options are:
> -ml Output code that does not use the Lexing module built-in automata interpreter
> -o <file> Set output file name to <file>
> -q Do not display informational messages
> -v Print version and exit
> -version Print version and exit
> -vnum Print version number and exit
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamlmklib.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlmklib (from $prefix/$bindir\ocamlmklib.exe) -M <exit 4>
> Unknown option -M
> Usage: ocamlmklib [options] <.cmo|.cma|.cmx|.ml|.mli|.o|.a|.obj|.lib|
> .dll|.dylib files>
> Options are:
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line
> arguments from <file>
> -cclib <lib> C library passed to ocamlc -a or ocamlopt -a only
> -ccopt <opt> C option passed to ocamlc -a or ocamlopt -a only
> -custom Disable dynamic loading
> -g Build with debug information
> -dllpath <dir> Add <dir> to the run-time search path for DLLs
> -F<dir> Specify a framework directory (MacOSX)
> -framework <name> Use framework <name> (MacOSX)
> -help Print this help message and exit
> --help Same as -help
> -h Same as -help
> -I <dir> Add <dir> to the path searched for OCaml object files
> -failsafe fall back to static linking if DLL construction failed
> -ldopt <opt> C option passed to the shared linker only
> -linkall Build OCaml archive with link-all behavior
> -l<lib> Specify a dependent C library
> -L<dir> Add <dir> to the path searched for C libraries
> -ocamlc <cmd> Use <cmd> in place of "ocamlc"
> -ocamlcflags <opt> Pass <opt> to ocamlc
> -ocamlopt <cmd> Use <cmd> in place of "ocamlopt"
> -ocamloptflags <opt> Pass <opt> to ocamlopt
> -o <name> Generated OCaml library is named <name>.cma or <name>.cmxa
> -oc <name> Generated C library is named dll<name>.so or lib<name>.a
> -rpath <dir> Same as -dllpath <dir>
> -R<dir> Same as -rpath
> -suffixed Append runtime ID to any generated shared libraries
> -verbose Print commands before executing them
> -v same as -verbose
> -version Print version and exit
> -vnum Print version number and exit
> -Wl,-rpath,<dir> Same as -dllpath <dir>
> -Wl,-rpath -Wl,<dir> Same as -dllpath <dir>
> -Wl,-R<dir> Same as -dllpath <dir>
$prefix/$bindir\ocamlmktop.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlmktop (from $prefix/$bindir\ocamlmktop.exe) -M <exit 2>
> C:\ocamlmgw64-44068\bin\ocamlc.exe: unknown option '-M'.
> Usage: ocamlc <options> <files>
> Try 'ocamlc --help' for more information.
$prefix/$bindir\ocamlobjinfo.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlobjinfo.byte (from $prefix/$bindir\ocamlobjinfo.byte.exe) -M <exit 2>
> ocamlobjinfo.byte: unknown option '-M'.
> ocamlobjinfo.byte [OPTIONS] FILES : give information on files
> -quiet Only print explicitly required information
> -no-approx Do not print module approximation information
> -no-code Do not print code from exported flambda functions
> -shape Print the shape of the module
> -index Print a list of all usages of values, types, etc. in the module
> -decls Print a list of all declarations in the module
> -uid-deps Print the declarations' uids dependencies of the module
> -null-crc Print a null CRC for imported interfaces
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamlopt.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlopt.byte (from $prefix/$bindir\ocamlopt.byte.exe) -M <exit 2>
> ocamlopt.byte: unknown option '-M'.
> Usage: ocamlopt <options> <files>
> Try 'ocamlopt --help' for more information.
$prefix/$bindir\ocamloptp.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamloptp (from $prefix/$bindir\ocamloptp.exe) -M <exit 2>
> ocamloptp: unknown option '-M'.
> Usage: ocamloptp <options> <files>
> Options are:
> -P [afilmt] Profile constructs specified by argument (default fm):
> a Everything
> f Function calls and method calls
> i if ... then ... else
> l while and for loops
> m match ... with
> t try ... with
> -a Build a library
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -afl-instrument Enable instrumentation for afl-fuzz
> -afl-inst-ratio Configure percentage of branches instrumented
> (advanced, see afl-fuzz docs for AFL_INST_RATIO)
> -annot (deprecated) Save information in <filename>.annot
> -bin-annot Save typedtree in <filename>.cmt
> -bin-annot-occurrences Store every occurrence of a bound name in the .cmt file.
> This information can be used by external tools to provide
> features such as project-wide occurrences. This flag has
> no effect in the absence of '-bin-annot'.
> -inline-branch-factor <n>|<round>=<n>[,...] Estimate the probability of a branch being cold as 1/(1+n) (used for inlining) (default 0.10)
> -c Compile only (do not link)
> -cc <command> Use <command> as the C compiler and linker
> -cclib <opt> Pass option <opt> to the C linker
> -ccopt <opt> Pass option <opt> to the C compiler and linker
> -cmi-file <file> Use the <file> interface file to type-check
> -clambda-checks Instrument clambda code with closure and field access checks (for debugging the compiler)
> -Oclassic Make inlining decisions at function definition time rather than at the call site (replicates previous behaviour of the compiler)
> -color {auto|always|never} Enable or disable colors in compiler messages
> The following settings are supported:
> auto use heuristics to enable colors only if supported
> always enable colors
> never disable colors
> The default setting is 'auto', and the current heuristic
> checks that the TERM environment variable exists and is
> not empty or "dumb", and that isatty(stderr) holds.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_COLOR environment variable.
> -error-style {contextual|short} Control the way error messages and warnings are printed
> The following settings are supported:
> short only print the error and its location
> contextual like "short", but also display the source code
> snippet corresponding to the location of the error
> The default setting is 'contextual'.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_ERROR_STYLE environment variable.
> -compact Optimize code size rather than speed
> -config Print configuration values and exit
> -config-var Print the value of a configuration variable, without a newline, and exit
> (print nothing and exit with error value if the variable does not exist)
> -dtypes (deprecated) same as -annot
> -for-pack <ident> Generate code that can later be `packed' with
> ocamlopt -pack -o <ident>.cmx
> -g Record debugging information for exception backtrace
> -no-g Do not record debugging information (default)
> -function-sections (option not available)
> -stop-after {parsing|typing|lambda|scheduling|emit} Stop after the given compilation pass.
> -save-ir-after {scheduling} Save intermediate representation after the given compilation pass(may be specified more than once).
> -i Print inferred interface
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -inline <n>|<round>=<n>[,...] Aggressiveness of inlining (default 1.25, higher numbers mean more aggressive)
> -inline-toplevel <n>|<round>=<n>[,...] Aggressiveness of inlining at toplevel (higher numbers mean more aggressive)
> -inline-alloc-cost <n>|<round>=<n>[,...] The cost of not removing an allocation during inlining (default 7, higher numbers more costly)
> -inline-branch-cost <n>|<round>=<n>[,...] The cost of not removing a conditional during inlining (default 5, higher numbers more costly)
> -inline-call-cost <n>|<round>=<n>[,...] The cost of not removing a call during inlining (default 5, higher numbers more costly)
> -inline-prim-cost <n>|<round>=<n>[,...] The cost of not removing a primitive during inlining (default 3, higher numbers more costly)
> -inline-indirect-cost <n>|<round>=<n>[,...] The cost of not removing an indirect call during inlining (default 4, higher numbers more costly)
> -inline-lifting-benefit <n>|<round>=<n>[,...] The benefit of lifting definitions to toplevel during inlining (default 1300, higher numbers more beneficial)
> -inlining-report Emit `.<round>.inlining' file(s) (one per round) showing the inliner's decisions
> -insn-sched Run the instruction scheduling pass (default)
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -keep-docs Keep documentation strings in .cmi files
> -no-keep-docs Do not keep documentation strings in .cmi files (default)
> -keep-locs Keep locations in .cmi files (default)
> -no-keep-locs Do not keep locations in .cmi files
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -linkall Link all modules, even unused ones
> -inline-max-depth <n>|<round>=<n>[,...] Maximum depth of search for inlining opportunities inside inlined functions (default 1)
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -linscan Use the linear scan register allocator
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -no-float-const-prop Deactivate constant propagation for floating-point operations
> -noassert Do not compile assertion checks
> -noautolink Do not automatically link C libraries specified in .cmxa files
> -nodynlink Enable optimizations for code that will not be dynlinked
> -no-insn-sched Do not run the instruction scheduling pass
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -nopervasives (undocumented)
> -no-unbox-free-vars-of-closures Do not unbox variables that will appear inside function closures
> -no-unbox-specialised-args Do not unbox arguments to which functions have been specialised
> -o <file> Set output file name to <file>
> -O2 Apply increased optimization for speed
> -O3 Apply aggressive optimization for speed (may significantly increase code size and compilation time)
> -opaque Does not generate cross-module optimization information
> (reduces necessary recompilation on module change)
> -open <module> Opens the module <module> before typing
> -output-obj Output an object file instead of an executable
> -output-complete-obj Output an object file, including runtime, instead of an executable
> -p (no longer supported)
> -pack Package the given .cmx files into one .cmx
> -plugin <plugin> (no longer supported)
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -remove-unused-arguments Remove unused function arguments
> -rounds <n> Repeat tree optimization and inlining phases this many times (default 1). Rounds are numbered starting from zero.
> -runtime-variant <str> Use the <str> variant of the run-time system
> -with-runtime Include the runtime system in the generated program (default)
> -without-runtime Do not include the runtime system in the generated program.
> -S Keep intermediate assembly file
> -safe-string (default unconditionally since 5.0)
> -safer-matching Do not use type information to optimize pattern-matching
> -set-runtime-default <param>=<value> Set the default for runtime parameter <param> to <value>
> -shared Produce a dynlinkable plugin
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unbox-closures Pass free variables via specialised arguments rather than closures
> -unbox-closures-factor <n > 0> Scale the size threshold above which unbox-closures will slow down indirect calls rather than duplicating a function (default 10)
> -inline-max-unroll <n>|<round>=<n>[,...] Unroll recursive functions at most this many times (default 0)
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe Do not compile bounds checking on array and string access
> -unsafe-string (option not available)
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> -warn-error <list> Enable or disable error status for warnings according
> to <list>. See option -w for the syntax of <list>.
> Default setting is "-a"
> -warn-help Show description of warning numbers
> -where Print location of standard library and exit
> - <file> Treat <file> as a file name (even if it starts with `-')
> -match-context-rows <n> (advanced, see manual section 13.2.)
> -dno-unique-ids (undocumented)
> -dunique-ids (undocumented)
> -dno-canonical-ids (undocumented)
> -dcanonical-ids (undocumented)
> -dno-locations (undocumented)
> -dlocations (undocumented)
> -dsource (undocumented)
> -dparsetree (undocumented)
> -dtypedtree (undocumented)
> -dshape (undocumented)
> -dmatchcomp (undocumented)
> -drawlambda (undocumented)
> -dlambda (undocumented)
> -drawclambda (undocumented)
> -dclambda (undocumented)
> -dcmm-invariants Extra sanity checks on Cmm
> -dflambda Print Flambda terms
> -drawflambda Print Flambda terms after closure conversion
> -dflambda-invariants Check Flambda invariants around each pass
> -dflambda-no-invariants Do not Check Flambda invariants around each pass
> -dflambda-let <stamp> Print when the given Flambda [Let] is created
> -dflambda-verbose Print Flambda terms including around each pass
> -dcmm (undocumented)
> -dsel (undocumented)
> -dcombine (undocumented)
> -dcse (undocumented)
> -dlive (undocumented)
> -dspill (undocumented)
> -dsplit (undocumented)
> -dinterf (undocumented)
> -dprefer (undocumented)
> -dalloc (undocumented)
> -dreload (undocumented)
> -dscheduling (undocumented)
> -dlinear (undocumented)
> -dinterval (undocumented)
> -dstartup (undocumented)
> -dtimings Print timings information for each pass
> -dprofile Print performance information for each pass
> The columns are: time alloc top-heap absolute-top-heap.
> -dump-into-file dump output like -dlambda into <target>.dump
> -dump-dir <dir> dump output like -dlambda into <dir>/<target>.dump
> -dump-pass Record transformations performed by these passes:
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line arguments
> from <file>
> -help Display this list of options
> --help Display this list of options
$prefix/$bindir\ocamlprof.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlprof (from $prefix/$bindir\ocamlprof.exe) -M <exit 2>
> ocamlprof: unknown option '-M'.
> Usage: ocamlprof <options> <files>
> Options are:
> -f <file> Use <file> as dump file (default ocamlprof.dump)
> -F <s> Insert string <s> with the counts
> -impl <file> Process <file> as a .ml file
> -instrument (undocumented)
> -intf <file> Process <file> as a .mli file
> -keywords <version+keywords> Specify keyword set.
> -m <flags> (undocumented)
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -help Display this list of options
> --help Display this list of options
Testing compilation mechanisms for $prefix/$bindir
$prefix/$bindir\ocamlc.exe -where
$prefix/$bindir\ocamlopt.exe -where
ocamlc -where: $prefix\$libdir
ocamlopt -where: $prefix\$libdir
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-complete-obj
$CC -o $PWD\nat_complete_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lasmrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lasmrun_shared"
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -output-complete-obj
$CC -o $PWD\nat_complete_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lasmrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-obj
$CC -o $PWD\nat_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcomprmarsh -lunixnat -lasmrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lasmrun_shared"
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -output-obj
$CC -o $PWD\nat_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcomprmarsh -lunixnat -lasmrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix/$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o $PWD\nat_default.exe test_install_script.ml
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_complete_exe_shared.exe test_install_script.ml -runtime-variant _shared -output-complete-exe <exit 2>
> ** Fatal error: Cannot find file "-lcamlrun-x86_64-w64-mingw32-0018"
> File "test_install_script.ml", line 1:
> Error: Error while building custom runtime system
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_complete_exe_static.exe test_install_script.ml -output-complete-exe
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-complete-obj
$CC -o $PWD\byt_complete_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcamlrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lcamlrun_shared"
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -output-complete-obj
$CC -o $PWD\byt_complete_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcamlrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-obj
$CC -o $PWD\byt_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lunixbyt -lcamlrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lcamlrun_shared"
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -output-obj
$CC -o $PWD\byt_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lunixbyt -lcamlrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\custom_shared.exe test_install_script.ml -runtime-variant _shared -custom <exit 2>
> ** Fatal error: Cannot find file "-lcamlrun-x86_64-w64-mingw32-0018"
> File "test_install_script.ml", line 1:
> Error: Error while building custom runtime system
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\custom_static.exe test_install_script.ml -custom
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_always.exe test_install_script.ml -runtime-search always
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_enable.exe test_install_script.ml
$prefix/$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_disable.exe test_install_script.ml -runtime-search disable
Running programs
$PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe sh true $prefix $libdir
.\byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe .\byt_default_exe_disable true $prefix $libdir
byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe byt_default_exe_disable true $prefix $libdir
byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe byt_default_exe_disable true $prefix $libdir
$PWD\byt_default_exe_enable.exe skip $PWD\byt_default_exe_enable.exe $PWD\byt_default_exe_enable.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe sh true $prefix $libdir
.\byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe .\byt_default_exe_enable true $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable true $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable true $prefix $libdir
$PWD\byt_default_exe_always.exe skip $PWD\byt_default_exe_always.exe $PWD\byt_default_exe_always.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe sh true $prefix $libdir
.\byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe .\byt_default_exe_always true $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always true $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always true $prefix $libdir
$PWD\custom_static.exe skip $PWD\custom_static.exe $PWD\custom_static.exe true $prefix $libdir
test-prog (from $PWD\custom_static.exe) skip $PWD\custom_static.exe test-prog true $prefix $libdir
sh (from $PWD\custom_static.exe) skip $PWD\custom_static.exe sh true $prefix $libdir
.\custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe .\custom_static true $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static true $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static true $prefix $libdir
$PWD\byt_obj_static.exe skip $PWD\byt_obj_static.exe $PWD\byt_obj_static.exe true $prefix $libdir
test-prog (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe sh true $prefix $libdir
.\byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe .\byt_obj_static true $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static true $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static true $prefix $libdir
$PWD\byt_complete_obj_static.exe skip $PWD\byt_complete_obj_static.exe $PWD\byt_complete_obj_static.exe true $prefix $libdir
test-prog (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe sh true $prefix $libdir
.\byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe .\byt_complete_obj_static true $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static true $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static true $prefix $libdir
$PWD\byt_complete_exe_static.exe skip $PWD\byt_complete_exe_static.exe $PWD\byt_complete_exe_static.exe true $prefix $libdir
test-prog (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe sh true $prefix $libdir
.\byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe .\byt_complete_exe_static true $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static true $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static true $prefix $libdir
$PWD\nat_default.exe skip $PWD\nat_default.exe $PWD\nat_default.exe true $prefix $libdir
test-prog (from $PWD\nat_default.exe) skip $PWD\nat_default.exe test-prog true $prefix $libdir
sh (from $PWD\nat_default.exe) skip $PWD\nat_default.exe sh true $prefix $libdir
.\nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe .\nat_default true $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default true $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default true $prefix $libdir
$PWD\nat_obj_static.exe skip $PWD\nat_obj_static.exe $PWD\nat_obj_static.exe true $prefix $libdir
test-prog (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe sh true $prefix $libdir
.\nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe .\nat_obj_static true $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static true $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static true $prefix $libdir
$PWD\nat_complete_obj_static.exe skip $PWD\nat_complete_obj_static.exe $PWD\nat_complete_obj_static.exe true $prefix $libdir
test-prog (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe sh true $prefix $libdir
.\nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe .\nat_complete_obj_static true $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static true $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static true $prefix $libdir
Renaming $prefix to $prefix.new
Re-running test programs
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
> Environment
> PATH=$prefix.new\$bindir:$PATH
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
$prefix.new\$bindir\ocamlrun.exe $PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe false $prefix $libdir
$PWD\byt_default_exe_enable.exe skip $PWD\byt_default_exe_enable.exe $PWD\byt_default_exe_enable.exe false $prefix $libdir
test-prog (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe test-prog false $prefix $libdir
sh (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe sh false $prefix $libdir
.\byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe .\byt_default_exe_enable false $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable false $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable false $prefix $libdir
$PWD\byt_default_exe_always.exe skip $PWD\byt_default_exe_always.exe $PWD\byt_default_exe_always.exe false $prefix $libdir
test-prog (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe test-prog false $prefix $libdir
sh (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe sh false $prefix $libdir
.\byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe .\byt_default_exe_always false $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always false $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always false $prefix $libdir
$PWD\custom_static.exe skip $PWD\custom_static.exe $PWD\custom_static.exe false $prefix $libdir
test-prog (from $PWD\custom_static.exe) skip $PWD\custom_static.exe test-prog false $prefix $libdir
sh (from $PWD\custom_static.exe) skip $PWD\custom_static.exe sh false $prefix $libdir
.\custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe .\custom_static false $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static false $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static false $prefix $libdir
$PWD\byt_obj_static.exe skip $PWD\byt_obj_static.exe $PWD\byt_obj_static.exe false $prefix $libdir
test-prog (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe test-prog false $prefix $libdir
sh (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe sh false $prefix $libdir
.\byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe .\byt_obj_static false $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static false $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static false $prefix $libdir
$PWD\byt_complete_obj_static.exe skip $PWD\byt_complete_obj_static.exe $PWD\byt_complete_obj_static.exe false $prefix $libdir
test-prog (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe test-prog false $prefix $libdir
sh (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe sh false $prefix $libdir
.\byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe .\byt_complete_obj_static false $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static false $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static false $prefix $libdir
$PWD\byt_complete_exe_static.exe skip $PWD\byt_complete_exe_static.exe $PWD\byt_complete_exe_static.exe false $prefix $libdir
test-prog (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe test-prog false $prefix $libdir
sh (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe sh false $prefix $libdir
.\byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe .\byt_complete_exe_static false $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static false $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static false $prefix $libdir
$PWD\nat_default.exe skip $PWD\nat_default.exe $PWD\nat_default.exe false $prefix $libdir
test-prog (from $PWD\nat_default.exe) skip $PWD\nat_default.exe test-prog false $prefix $libdir
sh (from $PWD\nat_default.exe) skip $PWD\nat_default.exe sh false $prefix $libdir
.\nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe .\nat_default false $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default false $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default false $prefix $libdir
$PWD\nat_obj_static.exe skip $PWD\nat_obj_static.exe $PWD\nat_obj_static.exe false $prefix $libdir
test-prog (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe test-prog false $prefix $libdir
sh (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe sh false $prefix $libdir
.\nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe .\nat_obj_static false $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static false $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static false $prefix $libdir
$PWD\nat_complete_obj_static.exe skip $PWD\nat_complete_obj_static.exe $PWD\nat_complete_obj_static.exe false $prefix $libdir
test-prog (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe test-prog false $prefix $libdir
sh (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe sh false $prefix $libdir
.\nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe .\nat_complete_obj_static false $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static false $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static false $prefix $libdir
Testing loading of libraries with bytecode dynlink
$prefix.new\$bindir\ocamlc.exe -I +dynlink dynlink.cma -linkall -o $PWD\test_script.exe test_install_script.ml
$PWD\test_script.exe runtime_events
> Loaded runtime_events.cma
$PWD\test_script.exe str
> Loaded str.cma
$PWD\test_script.exe unix threads
> Loaded unix.cma
> Loaded threads.cma
$PWD\test_script.exe unix
> Loaded unix.cma
Testing loading of libraries with native dynlink
$prefix.new\$bindir\ocamlopt.exe -I +dynlink dynlink.cmxa -linkall -o $PWD\test_script.exe test_install_script.ml
$PWD\test_script.exe runtime_events
> Loaded runtime_events.cmxs
$PWD\test_script.exe str
> Loaded str.cmxs
$PWD\test_script.exe unix threads
> Loaded unix.cmxs
> Loaded threads.cmxs
$PWD\test_script.exe unix
> Loaded unix.cmxs
Testing loading of libraries in $prefix.new\$bindir\ocaml.exe
$prefix.new\$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded dynlink.cma
$prefix.new\$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded runtime_events.cma
$prefix.new\$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded str.cma
$prefix.new\$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cma
> Loaded threads.cma
$prefix.new\$bindir\ocaml.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cma
Testing loading of libraries in $prefix.new\$bindir\ocamlnat.exe
$prefix.new\$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded dynlink.cmxa
$prefix.new\$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded runtime_events.cmxs
$prefix.new\$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded str.cmxs
$prefix.new\$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cmxs
> Loaded threads.cmxs
$prefix.new\$bindir\ocamlnat.exe -noinit -no-version -noprompt test_install_script.ml
> Loaded unix.cmxs
Testing processing of ld.conf
$prefix.new\$bindir\ocamlc.exe -I +compiler-libs ocamlcommon.cma ocamlbytecomp.cma -o $PWD\test_ld_conf.byte.exe test_install_script.ml
$prefix.new\$bindir\ocamlopt.exe -I +compiler-libs ocamlcommon.cmxa ocamlbytecomp.cmxa -o $PWD\test_ld_conf.opt.exe test_install_script.ml
- Base ld.conf test
Backing up $prefix.new\$libdir\ld.conf to $prefix.new\$libdir\ld.conf.bak
$prefix.new\$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
- Base ld.conf + CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068.new\lib\ocaml;/lib/ocaml $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068.new\lib\ocaml;/lib/ocaml $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=;/;//;.;..;.\;..\;.\stublibs;..\stublibs;stublibs;.stublibs;..stublibs;C:\ocamlmgw64-44068.new\lib\ocaml;/lib/ocaml $PWD\test_ld_conf.opt.exe
- Base ld.conf + quoted CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH="quoted";quote"in"entry;one";"entry;one";"two";three $PWD\test_ld_conf.opt.exe
- Base ld.conf with CRLF endings
$prefix.new\$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
- Empty CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH= $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH= $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH= $PWD\test_ld_conf.opt.exe
- Embedded empty entry in CAML_LD_LIBRARY_PATH
CAML_LD_LIBRARY_PATH=; $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=; $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=; $PWD\test_ld_conf.opt.exe
- Empty CAMLLIB
CAML_LD_LIBRARY_PATH=env CAMLLIB= $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env CAMLLIB= $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env CAMLLIB= $PWD\test_ld_conf.opt.exe
- Empty OCAMLLIB
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env OCAMLLIB= CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- $OCAMLLIB/ld.conf
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env OCAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\ocamllib CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- $CAMLLIB/ld.conf
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $prefix.new\$bindir\ocamlrun.exe -config
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.byte.exe
CAML_LD_LIBRARY_PATH=env CAMLLIB=C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\in_prefix\camllib $PWD\test_ld_conf.opt.exe
- EOF-at-EOF
$prefix.new\$bindir\ocamlrun.exe -config
$PWD\test_ld_conf.byte.exe
$PWD\test_ld_conf.opt.exe
Restoring $prefix.new\$libdir\ld.conf.bak to $prefix.new\$libdir\ld.conf
Testing bytecode binaries in $prefix.new\$bindir
$prefix.new\$bindir\flexlink.byte.exe -vnum
> 0.43
flexlink.byte (from $prefix.new\$bindir\flexlink.byte.exe) -M <exit 2>
> flexlink.byte: unknown option '-M'.
> FlexDLL version 0.43
>
> Usage:
> flexlink -o <result.dll/exe> file1.obj file2.obj ... -- <extra linker arguments>
>
> -o Choose the name of the output file
> -exe Link the main program as an exe file
> -maindll Link the main program as a dll file
> -noflexdllobj Do not add the Flexdll runtime object (for exe)
> -noentry Do not use the Flexdll entry point (for dll)
> -noexport Do not export any symbol
> -norelrelocs Ensure that no relative relocation is generated
> -base Specify base address (Win64 only)
> -I <dir> Add a directory where to search for files
> -L <dir> Add a directory where to search for files
> -l <lib> Library file
> -chain {msvc|msvc64|cygwin64|mingw|mingw64|gnat|gnat64|ld}
> Choose which linker to use
> -x64 (Deprecated)
> -defaultlib <obj> External object (no export, no import)
> -save-temps Do not delete intermediate files
> -implib Do not delete the generated import library
> -outdef Produce a def file with exported symbols
> -v Increment verbosity (can be repeated)
> -show-exports Show exported symbols
> -show-imports Show imported symbols
> -dry Show the linker command line, do not actually run it
> -dump Only dump the content of object files
> -patch Only patch the target image (to be used with -stack)
> -nocygpath Do not use cygpath (default for msvc, mingw)
> -cygpath Use cygpath (default for cygwin)
> -no-merge-manifest Do not merge the manifest (takes precedence over -merge-manifest)
> -merge-manifest Merge manifest to the dll or exe (if generated)
> -real-manifest Use the generated manifest (default behavior)
> -default-manifest Use the default manifest (default.manifest/default_amd64.manifest)
> -export <sym> Explicitly export a symbol
> -noreexport Do not reexport symbols imported from import libraries
> -where Show the FlexDLL directory
> -nounderscore Normal symbols are not prefixed with an underscore
> -nodefaultlibs Do not assume any default library
> -builtin Use built-in linker to produce a dll
> -explain Explain why library objects are linked
> -subsystem <id> Set the subsystem (default: console)
> -custom-crt Use a custom CRT
> -stack <int> Set the stack reserve in the resulting image
> -link <option> Next argument is passed verbatim to the linker
> -g (ignored)
> -D <symbol> (Ignored)
> -U <symbol> (Ignored)
> -- Following arguments are passed verbatim to the linker
> -version Print linker version and FlexDLL directory and exit
> -vnum Print linker version number and exit
> -help Display this list of options
> --help Display this list of options
>
> Notes:
> * The -I, -l and -L options do not need to be separated from their argument.
> * An option like /linkXXX is an abbrevation for '-link XXX'.
> * An option like -Wl,-XXX is an abbreviation for '-link -XXX'.
> * FlexDLL's object files are searched by default in the same directory as
> flexlink, or in the directory given by the environment variable FLEXDIR
> if it is defined.
> * Extra argument can be passed in the environment variable FLEXLINKFLAGS.
>
> Homepage: http://alain.frisch.fr/flexdll.html
$prefix.new\$bindir\ocaml.exe -vnum
> 5.4.0+dev0-2024-08-25
ocaml (from $prefix.new\$bindir\ocaml.exe) -M <exit 2>
> ocaml: unknown option '-M'.
> Usage: ocaml <options> <files>
> Try 'ocaml --help' for more information.
$prefix.new\$bindir\ocamlc.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlc.byte (from $prefix.new\$bindir\ocamlc.byte.exe) -M <exit 2>
> ocamlc.byte: unknown option '-M'.
> Usage: ocamlc <options> <files>
> Try 'ocamlc --help' for more information.
$prefix.new\$bindir\ocamlcmt.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlcmt (from $prefix.new\$bindir\ocamlcmt.exe) -M <exit 2>
> ocamlcmt: unknown option '-M'.
> Read FILE.cmt and print related information
> Usage: ocamlcmt [options] FILE.cmt
> Options are:
> -o <file> Dump to file <file> (or stdout if -)
> -annot Generate the corresponding .annot file
> -save-cmt-info Encapsulate additional cmt information in annotations
> -src Convert .cmt or .cmti back to source code (without comments)
> -info : print information on the file
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -I <dir> Add <dir> to the list of include directories
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamlcp.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlcp (from $prefix.new\$bindir\ocamlcp.exe) -M <exit 2>
> ocamlcp: unknown option '-M'.
> Usage: ocamlcp <options> <files>
> Options are:
> -P [afilmt] Profile constructs specified by argument (default fm):
> a Everything
> f Function calls and method calls
> i if ... then ... else
> l while and for loops
> m match ... with
> t try ... with
> -p [afilmt] Same as option -P
> -a Build a library
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -annot (deprecated) Save information in <filename>.annot
> -bin-annot Save typedtree in <filename>.cmt
> -bin-annot-occurrences Store every occurrence of a bound name in the .cmt file.
> This information can be used by external tools to provide
> features such as project-wide occurrences. This flag has
> no effect in the absence of '-bin-annot'.
> -c Compile only (do not link)
> -cc <command> Use <command> as the C compiler and linker
> -cclib <opt> Pass option <opt> to the C linker
> -ccopt <opt> Pass option <opt> to the C compiler and linker
> -cmi-file <file> Use the <file> interface file to type-check
> -color {auto|always|never} Enable or disable colors in compiler messages
> The following settings are supported:
> auto use heuristics to enable colors only if supported
> always enable colors
> never disable colors
> The default setting is 'auto', and the current heuristic
> checks that the TERM environment variable exists and is
> not empty or "dumb", and that isatty(stderr) holds.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_COLOR environment variable.
> -error-style {contextual|short} Control the way error messages and warnings are printed
> The following settings are supported:
> short only print the error and its location
> contextual like "short", but also display the source code
> snippet corresponding to the location of the error
> The default setting is 'contextual'.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_ERROR_STYLE environment variable.
> -compat-32 Check that generated bytecode can run on 32-bit platforms
> -config Print configuration values and exit
> -config-var Print the value of a configuration variable, without a newline, and exit
> (print nothing and exit with error value if the variable does not exist)
> -custom Link in custom mode
> -dllib <lib> Use the dynamically-loaded library <lib>
> -dllib-suffixed <lib> Use the dynamically-loaded library <lib>, with runtime suffix appended to the name
> -dllpath <dir> Add <dir> to the run-time search path for shared libraries
> -dtypes (deprecated) same as -annot
> -for-pack <ident> Generate code that can later be `packed' with
> ocamlc -pack -o <ident>.cmo
> -g Save debugging information
> -no-g Do not record debugging information (default)
> -stop-after {parsing|typing|lambda} Stop after the given compilation pass.
> -i Print inferred interface
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -intf_suffix <string> (deprecated) same as -intf-suffix
> -keep-docs Keep documentation strings in .cmi files
> -no-keep-docs Do not keep documentation strings in .cmi files (default)
> -keep-locs Keep locations in .cmi files (default)
> -no-keep-locs Do not keep locations in .cmi files
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -linkall Link all modules, even unused ones
> -make-runtime Build a runtime system with given C objects and libraries
> -make_runtime (deprecated) same as -make-runtime
> -modern (deprecated) same as -labels
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -no-check-prims Do not check runtime for primitives
> -noassert Do not compile assertion checks
> -noautolink Do not automatically link C libraries specified in .cma files
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -nopervasives (undocumented)
> -o <file> Set output file name to <file>
> -opaque Does not generate cross-module optimization information
> (reduces necessary recompilation on module change)
> -open <module> Opens the module <module> before typing
> -output-obj Output an object file instead of an executable
> -output-complete-obj Output an object file, including runtime, instead of an executable
> -output-complete-exe Output a self-contained executable, including runtime and C stubs
> -pack Package the given .cmo files into one .cmo
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -plugin <plugin> (no longer supported)
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -runtime-variant <str> Use the <str> variant of the run-time system
> -with-runtime Include the runtime system in the generated program (default)
> -without-runtime Do not include the runtime system in the generated program.
> -safe-string (default unconditionally since 5.0)
> -safer-matching Do not use type information to optimize pattern-matching
> -set-runtime-default <param>=<value> Set the default for runtime parameter <param> to <value>
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe Do not compile bounds checking on array and string access
> -unsafe-string (option not available)
> -use-runtime <file> Generate bytecode for the given runtime system
> -use_runtime <file> (deprecated) same as -use-runtime
> -launch-method <method> Use <method> for the bytecode launcher rather than the mechanism in runtime-launch-info
> -runtime-search {disable|enable|always} Control the way the bytecode header searches for the interpreter
> The following settings are supported:
> disable use a fixed absolute path to the runtime
> enable search for runtime only if not found at the absolute path
> always always search for the runtime
> The default setting is 'enable'.
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vmthread (no longer supported)
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> -warn-error <list> Enable or disable error status for warnings according
> to <list>. See option -w for the syntax of <list>.
> Default setting is "-a"
> -warn-help Show description of warning numbers
> -where Print location of standard library and exit
> - <file> Treat <file> as a file name (even if it starts with `-')
> -match-context-rows <n> (advanced, see manual section 13.2.)
> -use-prims <file> (undocumented)
> -dno-unique-ids (undocumented)
> -dunique-ids (undocumented)
> -dno-canonical-ids (undocumented)
> -dcanonical-ids (undocumented)
> -dno-locations (undocumented)
> -dlocations (undocumented)
> -dsource (undocumented)
> -dparsetree (undocumented)
> -dtypedtree (undocumented)
> -dshape (undocumented)
> -dmatchcomp (undocumented)
> -drawlambda (undocumented)
> -dlambda (undocumented)
> -dinstr (undocumented)
> -dcamlprimc (undocumented)
> -dtimings Print timings information for each pass
> -dprofile Print performance information for each pass
> The columns are: time alloc top-heap absolute-top-heap.
> -dump-into-file dump output like -dlambda into <target>.dump
> -dump-dir <dir> dump output like -dlambda into <dir>/<target>.dump
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line arguments
> from <file>
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamldebug.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldebug (from $prefix.new\$bindir\ocamldebug.exe) -M <exit 2>
> ocamldebug: unknown option '-M'.
> Usage: ocamldebug [options] <program> [arguments]
> Options are:
> -c <count> Set max number of checkpoints kept
> -cd <dir> Change working directory
> -emacs For running the debugger under emacs; implies -machine-readable
> -I <dir> Add <dir> to the list of include directories
> -machine-readable Print information in a format more suitable for machines
> -s <filename> Set the name of the communication socket
> -version Print version and exit
> -vnum Print version number and exit
> -no-version Do not print version at startup
> -no-prompt Suppress all prompts
> -no-time Do not print times
> -no-breakpoint-message Do not print message at breakpoint setup and removal
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamldep.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldep.byte (from $prefix.new\$bindir\ocamldep.byte.exe) -M <exit 2>
> ocamldep.byte: unknown option '-M'.
> Usage: ocamldep.byte <options> <files>
> Try 'ocamldep.byte --help' for more information.
$prefix.new\$bindir\ocamldoc.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamldoc (from $prefix.new\$bindir\ocamldoc.exe) -M <exit 2>
> ocamldoc: unknown option '-M'.
> Usage: ocamldoc [options] <files>
> Options are:
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -intf_suffix <string> (deprecated) same as -intf-suffix
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -modern (deprecated) same as -labels
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -noassert Do not compile assertion checks
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -open <module> Opens the module <module> before typing
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -safe-string (default unconditionally since 5.0)
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe-string (option not available)
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vmthread (no longer supported)
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> - <file> Treat <file> as a file name (even if it starts with `-')
> -initially-opened-module <module> Name of the module that is initially opened
> -lib <module> Name of the library namespace for a prefixed library.Note: very experimental.
> -text <file> Consider <file> as a .txt file
> -warn-error Treat ocamldoc warnings as errors
> -show-missed-crossref Show missed cross-reference opportunities
> -hide-warnings do not print ocamldoc warnings
> -o <file> Set the output file name, used by texi, latex and dot generators
> (default is ocamldoc.out)
> or the prefix of index files for the HTML generator
> (default is index)
> -d <dir> Generate files in directory <dir>, rather than in current
> directory (for man and HTML generators)
> -sort Sort the list of top modules before generating the documentation
> -no-stop Do not stop at (**/**) comments
> -no-custom-tags Do not allow custom @-tags
> -stars Remove beginning blanks of comment lines, until the first '*'
> -inv-merge-ml-mli Inverse implementations and interfaces when merging
> -no-module-constraint-filter Do not filter module elements using module type constraints
> -keep-code Always keep code when available
>
> -dump <file> Dump collected information into <file>
> -load <file> Load information from <file> ; may be used several times
>
> -t <title> Use <title> as title for the generated documentation
> -intro <file> Use content of <file> as ocamldoc text to use as introduction
> (HTML, LaTeX and TeXinfo only)
> -hide <M1,M2.M3,...> Hide the given complete module names in generated doc
> -m <options> specify merge options between .mli and .ml
> <options> can be one or more of the following characters:
> d merge description
> a merge @author
> v merge @version
> l merge @see
> s merge @since
> b merge @before
> o merge @deprecated
> p merge @param
> e merge @raise
> r merge @return
> c merge custom @-tags
> A merge all
>
> *** choosing a generator ***
>
> -html Generate HTML documentation
> -latex Generate LaTeX documentation
> -texi Generate TeXinfo documentation
> -man Generate man pages
> -dot Generate dot code of top modules dependencies
> -customdir Display custom generators standard directory and exit
> -i <dir> Add the given directory to the search path for custom
> generators
> -g <file.cm[o|a|xs]> Load file defining a new documentation generator
>
> *** HTML options ***
>
> -all-params Display the complete list of parameters for functions and
> methods (HTML only)
> -css-style <file> Use content of <file> as CSS style definition (HTML only)
> -index-only Generate index files only (HTML only)
> -colorize-code Colorize code even in documentation pages (HTML only)
> -short-functors Use short form to display functor types (HTML only)
> -charset <s> Add information about character encoding being s
> (default is UTF-8)
> -nonavbar Do not include the navigation bar (HTML only)
>
> *** LaTeX options ***
>
> -noheader Suppress header in generated documentation
> (LaTeX and TeXinfo only)
> -notrailer Suppress trailer in generated documentation
> (LaTeX and TeXinfo only)
> -sepfiles Generate one file per toplevel module (LaTeX only)
> -latextitle n,style Associate {n } to the given sectioning style
> (e.g. 'section') in the latex output (LaTeX only)
> Default sectioning is:
> 0 -> section
> 1 -> section
> 2 -> subsection
> 3 -> subsubsection
> 4 -> paragraph
> 5 -> subparagraph
> -latex-value-prefix <string>
> Use <string> as prefix for the LaTeX labels of values.
> (default is "val:")
> -latex-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of types.
> (default is "type:")
> -latex-exception-prefix <string>
> Use <string> as prefix for the LaTeX labels of exceptions.
> (default is "exception:")
> -latex-attribute-prefix <string>
> Use <string> as prefix for the LaTeX labels of attributes.
> (default is "val:")
> -latex-method-prefix <string>
> Use <string> as prefix for the LaTeX labels of methods.
> (default is "method:")
> -latex-module-prefix <string>
> Use <string> as prefix for the LaTeX labels of modules.
> (default is "module:")
> -latex-module-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of module types.
> (default is "moduletype:")
> -latex-class-prefix <string>
> Use <string> as prefix for the LaTeX labels of classes.
> (default is "class:")
> -latex-class-type-prefix <string>
> Use <string> as prefix for the LaTeX labels of class types.
> (default is "classtype:")
> -latex-escape-underscore escape underscore in references
> -notoc Do not generate table of contents (LaTeX only)
>
> *** texinfo options ***
>
> -noindex Do not build index for Info files (TeXinfo only)
> -esc8 Escape accentuated characters in Info files (TeXinfo only)
> -texinfotitle n,style Associate {n } to the given sectioning style
> (e.g. 'section') in the texInfo output (TeXinfo only)
> Default sectioning is:
> 0 -> @chapter , @majorheading
> 1 -> @chapter , @majorheading
> 2 -> @section , @heading
> 3 -> @subsection , @subheading
> 4 -> @subsubsection , @subsubheading
> -info-section Specify section of Info directory (TeXinfo only)
> -info-entry Specify Info directory entry (TeXinfo only)
>
> *** dot options ***
>
> -dot-colors <c1,c2,...,cn>
> Use colors c1,c1,...,cn in the dot output
> (default list is darkturquoise,darkgoldenrod2,cyan,green,
> magenta,yellow,burlywood1,aquamarine,floralwhite,lightpink,
> lightblue,mediumturquoise,salmon,slategray3)
> -dot-include-all Include all modules in the dot output, not only the
> modules given on the command line
> -dot-types Generate dependency graph for types instead of modules
> -dot-reduce Perform a transitive reduction on the selected dependency graph
> before the dot output
>
> *** man pages options ***
>
> -man-mini Generate man pages only for modules, module types, classes
> and class types (man only)
> -man-suffix <suffix> Use <suffix> for man page files (default is 3o) (man only)
>
> -man-section <section> Use <section> in man page files (default is 3) (man only)
>
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamllex.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamllex.byte (from $prefix.new\$bindir\ocamllex.byte.exe) -M <exit 2>
> ocamllex.byte: unknown option '-M'.
> Usage: ocamllex [options] sourcefile
> Options are:
> -ml Output code that does not use the Lexing module built-in automata interpreter
> -o <file> Set output file name to <file>
> -q Do not display informational messages
> -v Print version and exit
> -version Print version and exit
> -vnum Print version number and exit
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamlmklib.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlmklib (from $prefix.new\$bindir\ocamlmklib.exe) -M <exit 4>
> Unknown option -M
> Usage: ocamlmklib [options] <.cmo|.cma|.cmx|.ml|.mli|.o|.a|.obj|.lib|
> .dll|.dylib files>
> Options are:
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line
> arguments from <file>
> -cclib <lib> C library passed to ocamlc -a or ocamlopt -a only
> -ccopt <opt> C option passed to ocamlc -a or ocamlopt -a only
> -custom Disable dynamic loading
> -g Build with debug information
> -dllpath <dir> Add <dir> to the run-time search path for DLLs
> -F<dir> Specify a framework directory (MacOSX)
> -framework <name> Use framework <name> (MacOSX)
> -help Print this help message and exit
> --help Same as -help
> -h Same as -help
> -I <dir> Add <dir> to the path searched for OCaml object files
> -failsafe fall back to static linking if DLL construction failed
> -ldopt <opt> C option passed to the shared linker only
> -linkall Build OCaml archive with link-all behavior
> -l<lib> Specify a dependent C library
> -L<dir> Add <dir> to the path searched for C libraries
> -ocamlc <cmd> Use <cmd> in place of "ocamlc"
> -ocamlcflags <opt> Pass <opt> to ocamlc
> -ocamlopt <cmd> Use <cmd> in place of "ocamlopt"
> -ocamloptflags <opt> Pass <opt> to ocamlopt
> -o <name> Generated OCaml library is named <name>.cma or <name>.cmxa
> -oc <name> Generated C library is named dll<name>.so or lib<name>.a
> -rpath <dir> Same as -dllpath <dir>
> -R<dir> Same as -rpath
> -suffixed Append runtime ID to any generated shared libraries
> -verbose Print commands before executing them
> -v same as -verbose
> -version Print version and exit
> -vnum Print version number and exit
> -Wl,-rpath,<dir> Same as -dllpath <dir>
> -Wl,-rpath -Wl,<dir> Same as -dllpath <dir>
> -Wl,-R<dir> Same as -dllpath <dir>
$prefix.new\$bindir\ocamlmktop.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlmktop (from $prefix.new\$bindir\ocamlmktop.exe) -M <exit 2>
> C:\ocamlmgw64-44068.new\bin\ocamlc.exe: unknown option '-M'.
> Usage: ocamlc <options> <files>
> Try 'ocamlc --help' for more information.
$prefix.new\$bindir\ocamlobjinfo.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlobjinfo.byte (from $prefix.new\$bindir\ocamlobjinfo.byte.exe) -M <exit 2>
> ocamlobjinfo.byte: unknown option '-M'.
> ocamlobjinfo.byte [OPTIONS] FILES : give information on files
> -quiet Only print explicitly required information
> -no-approx Do not print module approximation information
> -no-code Do not print code from exported flambda functions
> -shape Print the shape of the module
> -index Print a list of all usages of values, types, etc. in the module
> -decls Print a list of all declarations in the module
> -uid-deps Print the declarations' uids dependencies of the module
> -null-crc Print a null CRC for imported interfaces
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamlopt.byte.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlopt.byte (from $prefix.new\$bindir\ocamlopt.byte.exe) -M <exit 2>
> ocamlopt.byte: unknown option '-M'.
> Usage: ocamlopt <options> <files>
> Try 'ocamlopt --help' for more information.
$prefix.new\$bindir\ocamloptp.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamloptp (from $prefix.new\$bindir\ocamloptp.exe) -M <exit 2>
> ocamloptp: unknown option '-M'.
> Usage: ocamloptp <options> <files>
> Options are:
> -P [afilmt] Profile constructs specified by argument (default fm):
> a Everything
> f Function calls and method calls
> i if ... then ... else
> l while and for loops
> m match ... with
> t try ... with
> -a Build a library
> -alert <list> Enable or disable alerts according to <list>:
> +<alertname> enable alert <alertname>
> -<alertname> disable alert <alertname>
> ++<alertname> treat <alertname> as fatal error
> --<alertname> treat <alertname> as non-fatal
> @<alertname> enable <alertname> and treat it as fatal error
> <alertname> can be 'all' to refer to all alert names
> -absname Show absolute filenames in error messages
> -no-absname Do not try to show absolute filenames in error messages (default)
> -afl-instrument Enable instrumentation for afl-fuzz
> -afl-inst-ratio Configure percentage of branches instrumented
> (advanced, see afl-fuzz docs for AFL_INST_RATIO)
> -annot (deprecated) Save information in <filename>.annot
> -bin-annot Save typedtree in <filename>.cmt
> -bin-annot-occurrences Store every occurrence of a bound name in the .cmt file.
> This information can be used by external tools to provide
> features such as project-wide occurrences. This flag has
> no effect in the absence of '-bin-annot'.
> -inline-branch-factor <n>|<round>=<n>[,...] Estimate the probability of a branch being cold as 1/(1+n) (used for inlining) (default 0.10)
> -c Compile only (do not link)
> -cc <command> Use <command> as the C compiler and linker
> -cclib <opt> Pass option <opt> to the C linker
> -ccopt <opt> Pass option <opt> to the C compiler and linker
> -cmi-file <file> Use the <file> interface file to type-check
> -clambda-checks Instrument clambda code with closure and field access checks (for debugging the compiler)
> -Oclassic Make inlining decisions at function definition time rather than at the call site (replicates previous behaviour of the compiler)
> -color {auto|always|never} Enable or disable colors in compiler messages
> The following settings are supported:
> auto use heuristics to enable colors only if supported
> always enable colors
> never disable colors
> The default setting is 'auto', and the current heuristic
> checks that the TERM environment variable exists and is
> not empty or "dumb", and that isatty(stderr) holds.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_COLOR environment variable.
> -error-style {contextual|short} Control the way error messages and warnings are printed
> The following settings are supported:
> short only print the error and its location
> contextual like "short", but also display the source code
> snippet corresponding to the location of the error
> The default setting is 'contextual'.
> If the option is not specified, these setting can alternatively
> be set through the OCAML_ERROR_STYLE environment variable.
> -compact Optimize code size rather than speed
> -config Print configuration values and exit
> -config-var Print the value of a configuration variable, without a newline, and exit
> (print nothing and exit with error value if the variable does not exist)
> -dtypes (deprecated) same as -annot
> -for-pack <ident> Generate code that can later be `packed' with
> ocamlopt -pack -o <ident>.cmx
> -g Record debugging information for exception backtrace
> -no-g Do not record debugging information (default)
> -function-sections (option not available)
> -stop-after {parsing|typing|lambda|scheduling|emit} Stop after the given compilation pass.
> -save-ir-after {scheduling} Save intermediate representation after the given compilation pass(may be specified more than once).
> -i Print inferred interface
> -i-variance Print inferred variances
> -I <dir> Add <dir> to the list of include directories
> -H <dir> Add <dir> to the list of "hidden" include directories
> (Like -I, but the program can not directly reference these dependencies)
> -impl <file> Compile <file> as a .ml file
> -inline <n>|<round>=<n>[,...] Aggressiveness of inlining (default 1.25, higher numbers mean more aggressive)
> -inline-toplevel <n>|<round>=<n>[,...] Aggressiveness of inlining at toplevel (higher numbers mean more aggressive)
> -inline-alloc-cost <n>|<round>=<n>[,...] The cost of not removing an allocation during inlining (default 7, higher numbers more costly)
> -inline-branch-cost <n>|<round>=<n>[,...] The cost of not removing a conditional during inlining (default 5, higher numbers more costly)
> -inline-call-cost <n>|<round>=<n>[,...] The cost of not removing a call during inlining (default 5, higher numbers more costly)
> -inline-prim-cost <n>|<round>=<n>[,...] The cost of not removing a primitive during inlining (default 3, higher numbers more costly)
> -inline-indirect-cost <n>|<round>=<n>[,...] The cost of not removing an indirect call during inlining (default 4, higher numbers more costly)
> -inline-lifting-benefit <n>|<round>=<n>[,...] The benefit of lifting definitions to toplevel during inlining (default 1300, higher numbers more beneficial)
> -inlining-report Emit `.<round>.inlining' file(s) (one per round) showing the inliner's decisions
> -insn-sched Run the instruction scheduling pass (default)
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -keep-docs Keep documentation strings in .cmi files
> -no-keep-docs Do not keep documentation strings in .cmi files (default)
> -keep-locs Keep locations in .cmi files (default)
> -no-keep-locs Do not keep locations in .cmi files
> -keywords <version+list> set keywords following the <version+list> spec:
>
> -<version> if present specifies the base set of keywords
>
> (if absent the current set of keywords is used)
> -<list> is a "+"-separated list of keywords to add to
>
> the base set of keywords.
>
> -labels Use commuting label mode
> -linkall Link all modules, even unused ones
> -inline-max-depth <n>|<round>=<n>[,...] Maximum depth of search for inlining opportunities inside inlined functions (default 1)
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -linscan Use the linear scan register allocator
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -no-float-const-prop Deactivate constant propagation for floating-point operations
> -noassert Do not compile assertion checks
> -noautolink Do not automatically link C libraries specified in .cmxa files
> -nodynlink Enable optimizations for code that will not be dynlinked
> -no-insn-sched Do not run the instruction scheduling pass
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nocwd Do not implicitly add the current directory to the load path
> -nopervasives (undocumented)
> -no-unbox-free-vars-of-closures Do not unbox variables that will appear inside function closures
> -no-unbox-specialised-args Do not unbox arguments to which functions have been specialised
> -o <file> Set output file name to <file>
> -O2 Apply increased optimization for speed
> -O3 Apply aggressive optimization for speed (may significantly increase code size and compilation time)
> -opaque Does not generate cross-module optimization information
> (reduces necessary recompilation on module change)
> -open <module> Opens the module <module> before typing
> -output-obj Output an object file instead of an executable
> -output-complete-obj Output an object file, including runtime, instead of an executable
> -p (no longer supported)
> -pack Package the given .cmx files into one .cmx
> -plugin <plugin> (no longer supported)
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -principal Check principality of type inference
> -no-principal Do not check principality of type inference (default)
> -rectypes Allow arbitrary recursive types
> -no-rectypes Do not allow arbitrary recursive types (default)
> -remove-unused-arguments Remove unused function arguments
> -rounds <n> Repeat tree optimization and inlining phases this many times (default 1). Rounds are numbered starting from zero.
> -runtime-variant <str> Use the <str> variant of the run-time system
> -with-runtime Include the runtime system in the generated program (default)
> -without-runtime Do not include the runtime system in the generated program.
> -S Keep intermediate assembly file
> -safe-string (default unconditionally since 5.0)
> -safer-matching Do not use type information to optimize pattern-matching
> -set-runtime-default <param>=<value> Set the default for runtime parameter <param> to <value>
> -shared Produce a dynlinkable plugin
> -short-paths Shorten paths in types
> -strict-sequence Left-hand part of a sequence must have type unit
> -no-strict-sequence Left-hand part of a sequence need not have type unit (default)
> -strict-formats Reject invalid formats accepted by legacy implementations (default)
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should always use this flag
> to detect invalid formats so you can fix them.)
> -no-strict-formats Accept invalid formats accepted by legacy implementations
> (Warning: Invalid formats may behave differently from
> previous OCaml versions, and will become always-rejected
> in future OCaml versions. You should never use this flag
> and instead fix invalid formats.)
> -thread (deprecated) same as -I +threads
> -unbox-closures Pass free variables via specialised arguments rather than closures
> -unbox-closures-factor <n > 0> Scale the size threshold above which unbox-closures will slow down indirect calls rather than duplicating a function (default 10)
> -inline-max-unroll <n>|<round>=<n>[,...] Unroll recursive functions at most this many times (default 0)
> -unboxed-types unannotated unboxable types will be unboxed
> -no-unboxed-types unannotated unboxable types will not be unboxed (default)
> -unsafe Do not compile bounds checking on array and string access
> -unsafe-string (option not available)
> -v Print compiler version and location of standard library and exit
> -verbose Print calls to external commands
> -version Print version and exit
> --version Print version and exit
> -vnum Print version number and exit
> -w <list> Enable or disable warnings according to <list>:
> +<spec> enable warnings in <spec>
> -<spec> disable warnings in <spec>
> @<spec> enable warnings in <spec> and treat them as errors
> <spec> can be:
> <num> a single warning number
> <num1>..<num2> a range of consecutive warning numbers
> <letter> a predefined set
> default setting is "+a-4-7-9-27-29-30-32..42-44-45-48-50-60-66..70-74"
> -warn-error <list> Enable or disable error status for warnings according
> to <list>. See option -w for the syntax of <list>.
> Default setting is "-a"
> -warn-help Show description of warning numbers
> -where Print location of standard library and exit
> - <file> Treat <file> as a file name (even if it starts with `-')
> -match-context-rows <n> (advanced, see manual section 13.2.)
> -dno-unique-ids (undocumented)
> -dunique-ids (undocumented)
> -dno-canonical-ids (undocumented)
> -dcanonical-ids (undocumented)
> -dno-locations (undocumented)
> -dlocations (undocumented)
> -dsource (undocumented)
> -dparsetree (undocumented)
> -dtypedtree (undocumented)
> -dshape (undocumented)
> -dmatchcomp (undocumented)
> -drawlambda (undocumented)
> -dlambda (undocumented)
> -drawclambda (undocumented)
> -dclambda (undocumented)
> -dcmm-invariants Extra sanity checks on Cmm
> -dflambda Print Flambda terms
> -drawflambda Print Flambda terms after closure conversion
> -dflambda-invariants Check Flambda invariants around each pass
> -dflambda-no-invariants Do not Check Flambda invariants around each pass
> -dflambda-let <stamp> Print when the given Flambda [Let] is created
> -dflambda-verbose Print Flambda terms including around each pass
> -dcmm (undocumented)
> -dsel (undocumented)
> -dcombine (undocumented)
> -dcse (undocumented)
> -dlive (undocumented)
> -dspill (undocumented)
> -dsplit (undocumented)
> -dinterf (undocumented)
> -dprefer (undocumented)
> -dalloc (undocumented)
> -dreload (undocumented)
> -dscheduling (undocumented)
> -dlinear (undocumented)
> -dinterval (undocumented)
> -dstartup (undocumented)
> -dtimings Print timings information for each pass
> -dprofile Print performance information for each pass
> The columns are: time alloc top-heap absolute-top-heap.
> -dump-into-file dump output like -dlambda into <target>.dump
> -dump-dir <dir> dump output like -dlambda into <dir>/<target>.dump
> -dump-pass Record transformations performed by these passes:
> -args <file> Read additional newline-terminated command line arguments
> from <file>
> -args0 <file> Read additional null character terminated command line arguments
> from <file>
> -help Display this list of options
> --help Display this list of options
$prefix.new\$bindir\ocamlprof.exe -vnum
> 5.4.0+dev0-2024-08-25
ocamlprof (from $prefix.new\$bindir\ocamlprof.exe) -M <exit 2>
> ocamlprof: unknown option '-M'.
> Usage: ocamlprof <options> <files>
> Options are:
> -f <file> Use <file> as dump file (default ocamlprof.dump)
> -F <s> Insert string <s> with the counts
> -impl <file> Process <file> as a .ml file
> -instrument (undocumented)
> -intf <file> Process <file> as a .mli file
> -keywords <version+keywords> Specify keyword set.
> -m <flags> (undocumented)
> -version Print version and exit
> -vnum Print version number and exit
> -args <file> Read additional newline separated command line arguments
> from <file>
> -args0 <file> Read additional NUL separated command line arguments from
> <file>
> -help Display this list of options
> --help Display this list of options
Testing compilation mechanisms for $prefix.new\$bindir
$prefix.new\$bindir\ocamlc.exe -where
$prefix.new\$bindir\ocamlopt.exe -where
ocamlc -where: $prefix.new\$libdir
ocamlopt -where: $prefix.new\$libdir
$prefix.new\$bindir\ocamlopt.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-complete-obj
$CC -o $PWD\nat_complete_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lasmrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lasmrun_shared"
$prefix.new\$bindir\ocamlopt.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -output-complete-obj
$CC -o $PWD\nat_complete_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lasmrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix.new\$bindir\ocamlopt.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-obj
$CC -o $PWD\nat_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcomprmarsh -lunixnat -lasmrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lasmrun_shared"
$prefix.new\$bindir\ocamlopt.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o test_install_ocaml.o test_install_script.ml -output-obj
$CC -o $PWD\nat_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcomprmarsh -lunixnat -lasmrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix.new\$bindir\ocamlopt.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cmxa -I +unix unix.cmxa -o $PWD\nat_default.exe test_install_script.ml
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_complete_exe_shared.exe test_install_script.ml -runtime-variant _shared -output-complete-exe <exit 2>
> ** Fatal error: Cannot find file "-lcamlrun-x86_64-w64-mingw32-0018"
> File "test_install_script.ml", line 1:
> Error: Error while building custom runtime system
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_complete_exe_static.exe test_install_script.ml -output-complete-exe
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-complete-obj
$CC -o $PWD\byt_complete_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcamlrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lcamlrun_shared"
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -output-complete-obj
$CC -o $PWD\byt_complete_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lcamlrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -runtime-variant _shared -output-obj
$CC -o $PWD\byt_obj_shared.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lunixbyt -lcamlrun_shared -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
** Fatal error: Cannot find file "-lcamlrun_shared"
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o test_install_ocaml.o test_install_script.ml -output-obj
$CC -o $PWD\byt_obj_static.exe test_install_ocaml.o C:\builds\workspace\precheck\flambda\false\label\ocaml-mingw-64\testsuite\tools\main_in_c.o -lunixbyt -lcamlrun -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization -l:libpthread.a -lgcc_eh
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\custom_shared.exe test_install_script.ml -runtime-variant _shared -custom <exit 2>
> ** Fatal error: Cannot find file "-lcamlrun-x86_64-w64-mingw32-0018"
> File "test_install_script.ml", line 1:
> Error: Error while building custom runtime system
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\custom_static.exe test_install_script.ml -custom
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_always.exe test_install_script.ml -runtime-search always
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_enable.exe test_install_script.ml
$prefix.new\$bindir\ocamlc.exe -set-runtime-default R -I +compiler-libs ocamlcommon.cma -I +unix unix.cma -o $PWD\byt_default_exe_disable.exe test_install_script.ml -runtime-search disable
Running programs
$PWD\byt_default_exe_disable.exe skip $PWD\byt_default_exe_disable.exe $PWD\byt_default_exe_disable.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe sh true $prefix $libdir
.\byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe .\byt_default_exe_disable true $prefix $libdir
byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe byt_default_exe_disable true $prefix $libdir
byt_default_exe_disable (from $PWD\byt_default_exe_disable.exe) skip $PWD\byt_default_exe_disable.exe byt_default_exe_disable true $prefix $libdir
$PWD\byt_default_exe_enable.exe skip $PWD\byt_default_exe_enable.exe $PWD\byt_default_exe_enable.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe sh true $prefix $libdir
.\byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe .\byt_default_exe_enable true $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable true $prefix $libdir
byt_default_exe_enable (from $PWD\byt_default_exe_enable.exe) skip $PWD\byt_default_exe_enable.exe byt_default_exe_enable true $prefix $libdir
$PWD\byt_default_exe_always.exe skip $PWD\byt_default_exe_always.exe $PWD\byt_default_exe_always.exe true $prefix $libdir
test-prog (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe test-prog true $prefix $libdir
sh (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe sh true $prefix $libdir
.\byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe .\byt_default_exe_always true $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always true $prefix $libdir
byt_default_exe_always (from $PWD\byt_default_exe_always.exe) skip $PWD\byt_default_exe_always.exe byt_default_exe_always true $prefix $libdir
$PWD\custom_static.exe skip $PWD\custom_static.exe $PWD\custom_static.exe true $prefix $libdir
test-prog (from $PWD\custom_static.exe) skip $PWD\custom_static.exe test-prog true $prefix $libdir
sh (from $PWD\custom_static.exe) skip $PWD\custom_static.exe sh true $prefix $libdir
.\custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe .\custom_static true $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static true $prefix $libdir
custom_static (from $PWD\custom_static.exe) skip $PWD\custom_static.exe custom_static true $prefix $libdir
$PWD\byt_obj_static.exe skip $PWD\byt_obj_static.exe $PWD\byt_obj_static.exe true $prefix $libdir
test-prog (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe sh true $prefix $libdir
.\byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe .\byt_obj_static true $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static true $prefix $libdir
byt_obj_static (from $PWD\byt_obj_static.exe) skip $PWD\byt_obj_static.exe byt_obj_static true $prefix $libdir
$PWD\byt_complete_obj_static.exe skip $PWD\byt_complete_obj_static.exe $PWD\byt_complete_obj_static.exe true $prefix $libdir
test-prog (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe sh true $prefix $libdir
.\byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe .\byt_complete_obj_static true $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static true $prefix $libdir
byt_complete_obj_static (from $PWD\byt_complete_obj_static.exe) skip $PWD\byt_complete_obj_static.exe byt_complete_obj_static true $prefix $libdir
$PWD\byt_complete_exe_static.exe skip $PWD\byt_complete_exe_static.exe $PWD\byt_complete_exe_static.exe true $prefix $libdir
test-prog (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe test-prog true $prefix $libdir
sh (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe sh true $prefix $libdir
.\byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe .\byt_complete_exe_static true $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static true $prefix $libdir
byt_complete_exe_static (from $PWD\byt_complete_exe_static.exe) skip $PWD\byt_complete_exe_static.exe byt_complete_exe_static true $prefix $libdir
$PWD\nat_default.exe skip $PWD\nat_default.exe $PWD\nat_default.exe true $prefix $libdir
test-prog (from $PWD\nat_default.exe) skip $PWD\nat_default.exe test-prog true $prefix $libdir
sh (from $PWD\nat_default.exe) skip $PWD\nat_default.exe sh true $prefix $libdir
.\nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe .\nat_default true $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default true $prefix $libdir
nat_default (from $PWD\nat_default.exe) skip $PWD\nat_default.exe nat_default true $prefix $libdir
$PWD\nat_obj_static.exe skip $PWD\nat_obj_static.exe $PWD\nat_obj_static.exe true $prefix $libdir
test-prog (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe sh true $prefix $libdir
.\nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe .\nat_obj_static true $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static true $prefix $libdir
nat_obj_static (from $PWD\nat_obj_static.exe) skip $PWD\nat_obj_static.exe nat_obj_static true $prefix $libdir
$PWD\nat_complete_obj_static.exe skip $PWD\nat_complete_obj_static.exe $PWD\nat_complete_obj_static.exe true $prefix $libdir
test-prog (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe test-prog true $prefix $libdir
sh (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe sh true $prefix $libdir
.\nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe .\nat_complete_obj_static true $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static true $prefix $libdir
nat_complete_obj_static (from $PWD\nat_complete_obj_static.exe) skip $PWD\nat_complete_obj_static.exe nat_complete_obj_static true $prefix $libdir
Restoring $prefix.new to $prefix
make: Leaving directory '/cygdrive/c/builds/workspace/precheck/flambda/false/label/ocaml-mingw-64/testsuite/in_prefix'
+ rm -rf C:/ocamlmgw64-44068
+ false
Email was triggered for: Always
Sending email for trigger: Always
Sending email to: david@tarides.com
Finished: SUCCESS