<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 8.6.10">
<title>RunningOnCygwin</title>
<link rel="stylesheet" href="./asciidoc.css" type="text/css">
<link rel="stylesheet" href="./pygments.css" type="text/css">


<script type="text/javascript" src="./asciidoc.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
asciidoc.install();
/*]]>*/
</script>
<link rel="stylesheet" href="./mlton.css" type="text/css">
</head>
<body class="article">
<div id="banner">
<div id="banner-home">
<a href="./Home">MLton 20201002</a>
</div>
</div>
<div id="header">
<h1>RunningOnCygwin</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>MLton runs on the <a href="http://www.cygwin.com/">Cygwin</a> emulation layer,
which provides a Posix-like environment while running on Windows.  To
run MLton with Cygwin, you must first install Cygwin on your Windows
machine.  To do this, visit the Cygwin site from your Windows machine
and run their <span class="monospaced">setup.exe</span> script.  Then, you can unpack the MLton
binary <span class="monospaced">tgz</span> in your Cygwin environment.</p></div>
<div class="paragraph"><p>To run MLton cross-compiled executables on Windows, you must install
the Cygwin <span class="monospaced">dll</span> on the Windows machine.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_known_issues">Known issues</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Time profiling is disabled.
</p>
</li>
<li>
<p>
Cygwin&#8217;s <span class="monospaced">mmap</span> emulation is less than perfect.  Sometimes it
interacts badly with <span class="monospaced">Posix.Process.fork</span>.
</p>
</li>
<li>
<p>
The <a href="https://raw.github.com/MLton/mlton/master/regression/socket.sml"><span class="monospaced">socket.sml</span></a> regression
test fails.  We suspect this is not a bug and is simply due to our
test relying on a certain behavior when connecting to a socket that
has not yet accepted, which is handled differently on Cygwin than
other platforms.  Any help in understanding and resolving this issue
is appreciated.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_also_see">Also see</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="RunningOnMinGW">RunningOnMinGW</a>
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
</div>
<div id="footer-badges">
</div>
</div>
</body>
</html>
