<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 8.6.8">
<title>RunningOnMinGW</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 20130715</a>
</div>
</div>
<div id="header">
<h1>RunningOnMinGW</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>MLton runs on <a href="http://mingw.org">MinGW</a>, a library for porting Unix
applications to Windows.  Some library functionality is missing or
changed.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_notes">Notes</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
To compile MLton on MinGW:
</p>
<div class="ulist"><ul>
<li>
<p>
The <a href="GnuMP">GnuMP</a> library is required.
</p>
</li>
<li>
<p>
The Bash shell is required.  If you are using a prebuilt MSYS, you
probably want to symlink <span class="monospaced">bash</span> to <span class="monospaced">sh</span>.
</p>
</li>
</ul></div>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_known_issues">Known issues</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Many functions are unimplemented and will <span class="monospaced">raise SysErr</span>.
</p>
<div class="ulist"><ul>
<li>
<p>
<span class="monospaced">MLton.Itimer.set</span>
</p>
</li>
<li>
<p>
<span class="monospaced">MLton.ProcEnv.setgroups</span>
</p>
</li>
<li>
<p>
<span class="monospaced">MLton.Process.kill</span>
</p>
</li>
<li>
<p>
<span class="monospaced">MLton.Process.reap</span>
</p>
</li>
<li>
<p>
<span class="monospaced">MLton.World.load</span>
</p>
</li>
<li>
<p>
<span class="monospaced">OS.FileSys.readLink</span>
</p>
</li>
<li>
<p>
<span class="monospaced">OS.IO.poll</span>
</p>
</li>
<li>
<p>
<span class="monospaced">OS.Process.terminate</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.chown</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.fchown</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.fpathconf</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.link</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.mkfifo</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.pathconf</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.readlink</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.FileSys.symlink</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.dupfd</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.getfd</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.getfl</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.getlk</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.setfd</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.setfl</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.setlkw</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.IO.setlk</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.ctermid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getegid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.geteuid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getgid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getgroups</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getlogin</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getpgrp</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getpid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getppid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.getuid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.setgid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.setpgid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.setsid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.setuid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.sysconf</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.times</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.ProcEnv.ttyname</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.exece</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.execp</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.exit</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.fork</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.kill</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.pause</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.waitpid_nh</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.Process.waitpid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.SysDB.getgrgid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.SysDB.getgrnam</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.SysDB.getpwuid</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.drain</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.flow</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.flush</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.getattr</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.getpgrp</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.sendbreak</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.setattr</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Posix.TTY.TC.setpgrp</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Unix.kill</span>
</p>
</li>
<li>
<p>
<span class="monospaced">Unix.reap</span>
</p>
</li>
<li>
<p>
<span class="monospaced">UnixSock.fromAddr</span>
</p>
</li>
<li>
<p>
<span class="monospaced">UnixSock.toAddr</span>
</p>
</li>
</ul></div>
</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>
