···189189 false positives on s390x
190190 (Miod Vallat, review by Fabien Buoro)
191191192192+- #13162: Use quoted strings to clarify code being generated.
193193+ (Antonin Décimo, review by Miod Vallat and Gabriel Scherer)
194194+192195### Build system:
193196194197- #12909: Reorganise how MKEXE_VIA_CC is built to make it correct for MSVC by
···178178179179 if !output_c = "" then output_c := !output
180180181181-let usage = "\
182182-Usage: ocamlmklib [options] <.cmo|.cma|.cmx|.ml|.mli|.o|.a|.obj|.lib|\
183183- .dll|.dylib files>\
184184-\nOptions are:\
185185-\n -args <file> Read additional newline-terminated command line arguments\
186186-\n from <file>\
187187-\n -args0 <file> Read additional null character terminated command line\
188188-\n arguments from <file>\
189189-\n -cclib <lib> C library passed to ocamlc -a or ocamlopt -a only\
190190-\n -ccopt <opt> C option passed to ocamlc -a or ocamlopt -a only\
191191-\n -custom Disable dynamic loading\
192192-\n -g Build with debug information\
193193-\n -dllpath <dir> Add <dir> to the run-time search path for DLLs\
194194-\n -F<dir> Specify a framework directory (MacOSX)\
195195-\n -framework <name> Use framework <name> (MacOSX)\
196196-\n -help Print this help message and exit\
197197-\n --help Same as -help\
198198-\n -h Same as -help\
199199-\n -I <dir> Add <dir> to the path searched for OCaml object files\
200200-\n -failsafe fall back to static linking if DLL construction failed\
201201-\n -ldopt <opt> C option passed to the shared linker only\
202202-\n -linkall Build OCaml archive with link-all behavior\
203203-\n -l<lib> Specify a dependent C library\
204204-\n -L<dir> Add <dir> to the path searched for C libraries\
205205-\n -ocamlc <cmd> Use <cmd> in place of \"ocamlc\"\
206206-\n -ocamlcflags <opt> Pass <opt> to ocamlc\
207207-\n -ocamlopt <cmd> Use <cmd> in place of \"ocamlopt\"\
208208-\n -ocamloptflags <opt> Pass <opt> to ocamlopt\
209209-\n -o <name> Generated OCaml library is named <name>.cma or <name>.cmxa\
210210-\n -oc <name> Generated C library is named dll<name>.so or lib<name>.a\
211211-\n -rpath <dir> Same as -dllpath <dir>\
212212-\n -R<dir> Same as -rpath\
213213-\n -verbose Print commands before executing them\
214214-\n -v same as -verbose\
215215-\n -version Print version and exit\
216216-\n -vnum Print version number and exit\
217217-\n -Wl,-rpath,<dir> Same as -dllpath <dir>\
218218-\n -Wl,-rpath -Wl,<dir> Same as -dllpath <dir>\
219219-\n -Wl,-R<dir> Same as -dllpath <dir>\
220220-\n"
181181+let usage =
182182+{|Usage: ocamlmklib [options] <.cmo|.cma|.cmx|.ml|.mli|.o|.a|.obj|.lib|
183183+ .dll|.dylib files>
184184+Options are:
185185+ -args <file> Read additional newline-terminated command line arguments
186186+ from <file>
187187+ -args0 <file> Read additional null character terminated command line
188188+ arguments from <file>
189189+ -cclib <lib> C library passed to ocamlc -a or ocamlopt -a only
190190+ -ccopt <opt> C option passed to ocamlc -a or ocamlopt -a only
191191+ -custom Disable dynamic loading
192192+ -g Build with debug information
193193+ -dllpath <dir> Add <dir> to the run-time search path for DLLs
194194+ -F<dir> Specify a framework directory (MacOSX)
195195+ -framework <name> Use framework <name> (MacOSX)
196196+ -help Print this help message and exit
197197+ --help Same as -help
198198+ -h Same as -help
199199+ -I <dir> Add <dir> to the path searched for OCaml object files
200200+ -failsafe fall back to static linking if DLL construction failed
201201+ -ldopt <opt> C option passed to the shared linker only
202202+ -linkall Build OCaml archive with link-all behavior
203203+ -l<lib> Specify a dependent C library
204204+ -L<dir> Add <dir> to the path searched for C libraries
205205+ -ocamlc <cmd> Use <cmd> in place of "ocamlc"
206206+ -ocamlcflags <opt> Pass <opt> to ocamlc
207207+ -ocamlopt <cmd> Use <cmd> in place of "ocamlopt"
208208+ -ocamloptflags <opt> Pass <opt> to ocamlopt
209209+ -o <name> Generated OCaml library is named <name>.cma or <name>.cmxa
210210+ -oc <name> Generated C library is named dll<name>.so or lib<name>.a
211211+ -rpath <dir> Same as -dllpath <dir>
212212+ -R<dir> Same as -rpath
213213+ -verbose Print commands before executing them
214214+ -v same as -verbose
215215+ -version Print version and exit
216216+ -vnum Print version number and exit
217217+ -Wl,-rpath,<dir> Same as -dllpath <dir>
218218+ -Wl,-rpath -Wl,<dir> Same as -dllpath <dir>
219219+ -Wl,-R<dir> Same as -dllpath <dir>
220220+|}
221221222222let command cmd =
223223 if !verbose then (print_string "+ "; print_string cmd; print_newline());