The double simple quote was added by myself (with Damien looking over my shoulder), because of a complex quoting issue with Cygwin.

I only dimly recall what happened, but:
- commands are executed via bash -c
- cygwin arrives in-between and somehow tries to parse stuff with different quoting conventions depending on whether the path to the executable looks windows-y or cygwin-y
- the resulting program receives a different argv

Regarding lines 289-290 of options.ml, it feels wrong to be feeding the result of Command.string_of_command_spec (a command line with quoted names intended for the shell) into Command.search_in_path (which only expects a command name).

I suggest removing the call to string_of_command_spec and passing directly the string "ocamlfind" to search_in_path.