<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2017-04-20:3147171</id>
  <title>lmemsm</title>
  <subtitle>lmemsm</subtitle>
  <author>
    <name>lmemsm</name>
  </author>
  <link rel="alternate" type="text/html" href="https://lmemsm.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://lmemsm.dreamwidth.org/data/atom"/>
  <updated>2025-01-04T22:14:24Z</updated>
  <dw:journal username="lmemsm" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2017-04-20:3147171:30258</id>
    <link rel="alternate" type="text/html" href="https://lmemsm.dreamwidth.org/30258.html"/>
    <link rel="self" type="text/xml" href="https://lmemsm.dreamwidth.org/data/atom/?itemid=30258"/>
    <title>Shell Environments for Windows</title>
    <published>2025-01-04T22:14:24Z</published>
    <updated>2025-01-04T22:14:24Z</updated>
    <category term="shell"/>
    <category term="busybox-w32"/>
    <category term="mingw"/>
    <category term="bash"/>
    <category term="make"/>
    <category term="windows"/>
    <category term="posix"/>
    <category term="msys"/>
    <category term="ash"/>
    <category term="wsl"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <summary type="html">I remember sending in a bug report to the developers of GNU make.  They refused to fix the bug because cygwin and msys bash were, in their opinion, the only viable shell options on Windows and the only environments they wanted to officially support.  When I tried to build autoconf with a natively built version of make on Windows, it just hung.  There's also the problem of using make on Windows without a shell.  The command prompt has a limitation of how many characters can be passed to it.  Typically, it's not enough to be able to run many of the commands used in standard makefiles.  So, using make with a shell on Windows is a requirement to work with typical makefiles from many Free, Libre and/or Open Source software projects.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;(&lt;a href="https://lmemsm.dreamwidth.org/30258.html"&gt;Read more ...&lt;/a&gt;)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=lmemsm&amp;ditemid=30258" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</summary>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2017-04-20:3147171:25156</id>
    <link rel="alternate" type="text/html" href="https://lmemsm.dreamwidth.org/25156.html"/>
    <link rel="self" type="text/xml" href="https://lmemsm.dreamwidth.org/data/atom/?itemid=25156"/>
    <title>Native POSIX enviroment for Windows</title>
    <published>2022-06-09T14:38:00Z</published>
    <updated>2022-06-09T14:38:00Z</updated>
    <category term="mingw32"/>
    <category term="bash"/>
    <category term="gnu autotools"/>
    <category term="core utilities"/>
    <category term="make"/>
    <category term="windows"/>
    <category term="posix"/>
    <category term="zsh"/>
    <category term="ash"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <summary type="html">While WSL is great, I've always wanted a native POSIX environment for developing on Windows.  I wanted one that didn't require specialized DLLs with GNU GPL licenses such as as Cygwin and MSYS do.  There are other options available.  Midipix provides a POSIX environment for easily porting and developing POSIX compliant applications on Windows.  The licensing isn't any more lenient than Cygwin though.  It does use the MUSL C library which is a nice feature.  There's AT&amp;T's Uwin project which is now available as Open Source:  &lt;a href="https://github.com/att/uwin"&gt;https://github.com/att/uwin&lt;/a&gt;  The license for the project isn't exactly compatible with GPL software.  I've looked into native POSIX shell alternatives to those found in projects like Cygwin and msys.  Bash is not easy to port to Windows without Cygwin or msys DLLs to support various functionality.  It isn't exactly easy to port to DOS either.  Most bash ports to DOS and Windows are older ones.  One Windows port that builds successfully on Windows with MinGW32 is:  &lt;a href="http://win-bash.sourceforge.net/"&gt;http://win-bash.sourceforge.net/&lt;/a&gt;  I investigated the mksh project at one point and even offered to work on a Windows port.  They were not in the least bit interested and already had some commercial company looking to create a port to Windows using there own proprietary code to provide a POSIX compatibility layer.  So even if their plan was successful, it wouldn't exactly provide a native Windows port anyone could use in their projects.  Tcsh has support for Windows.  Zsh was also very popular on Windows.  Checking the versions of zsh, the latest Windows version I could find that compiled with no issues using MinGW32 was 3.0.8.1:  &lt;a href="https://github.com/oldfaber/wzsh"&gt;https://github.com/oldfaber/wzsh&lt;/a&gt;  The zsh project seems to have progressed to a much later version since then.  I've also experimented with Swiss which provides a Busybox-like set of tools with a shell.  Speaking of Busybox, there is a port of it to Windows which provides an implementation of the ash shell:  &lt;a href="https://github.com/rmyorston/busybox-w32"&gt;https://github.com/rmyorston/busybox-w32&lt;/a&gt;  Unfortunately, the build system works in such a way that you need to cross-compile it to get anything to build properly.  Even after attempting to cross-compile using the source code, I still ended up with a program that crashes on exit.  The busybox-w32 executables at the official sites don't seem to have that problem though.  So much for being able to reproduce an executable others are distributing just from the source code.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(&lt;a href="https://lmemsm.dreamwidth.org/25156.html"&gt;Read more ...&lt;/a&gt;)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=lmemsm&amp;ditemid=25156" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</summary>
  </entry>
</feed>
