[Info-vax] RMS intro

Arne Vajhøj arne at vajhoej.dk
Thu Jan 4 20:58:59 EST 2024


On 1/4/2024 8:46 PM, Dan Cross wrote:
> In article <un7mh8$3ro6t$1 at dont-email.me>,
> Arne Vajhøj  <arne at vajhoej.dk> wrote:
>> On 1/4/2024 7:34 PM, Dan Cross wrote:
>>> In article <un75ou$3pjg7$2 at dont-email.me>,
>>> Arne Vajhøj  <arne at vajhoej.dk> wrote:
>>>> On 1/3/2024 8:31 AM, Dan Cross wrote:
>>>>>              "cygwin executes Windows executables that are built
>>>>> from Unix-y sources using compatibility libraries,
>>>>
>>>> Cygwin does not execute executables. Cygwin produces regular
>>>> Windows executables that are executed by Windows line any other
>>>> Windows executable.
>>>
>>> Nope.  Cygwin is an _environment_ that exists under Windows,
>>> along with a user interface, that supports executing Unix-style
>>> programs.  Yes, there's a toolchain, but Cygwin itself is not
>>> only a toolchain.  The more important thing, in many ways, is
>>> the Cygwin DLL that supports cygwin execution.
>>>
>>> You may quibble with the terminology here; it is true that
>>> technically _windows_ loads and starts those executables running
>>> and the hardware actually does the execution, but it is saying
>>> that "cygwin produced regular Windows executables" is so vague
>>> as to be outright incorrect.
>>
>> It is precisely correct.
>>
>> Building with Cygwin toolchain produce an executable that
>> can run on any Windows system as long as the DLL's it use
>> are present.
> 
> Go back and reread what I wrote.
> 
>> It does not need any Cygwin environment.
> 
> https://cygwin.com/cygwin-ug-net/overview.html#what-is-it
> 
> |What is it?
> |
> |Cygwin is a Linux-like environment for Windows. It consists of
> |a DLL (cygwin1.dll), which acts as an emulation layer providing
> |substantial POSIX (Portable Operating System Interface) system
> |call functionality, and a collection of tools, which provide a
> |Linux look and feel. The Cygwin DLL works with all AMD64
> |versions of Windows NT since Windows Vista/Server 2008. The API
> |follows the Single Unix Specification as much as possible, and
> |then Linux practice. The major differences between Cygwin and
> |Linux is the C library (newlib instead of glibc).
> |
> |With Cygwin installed, users have access to many standard UNIX
> |utilities. They can be used from one of the provided shells
> |such as bash or from the Windows Command Prompt. Additionally,
> |programmers may write Win32 console or GUI applications that
> |make use of the standard Microsoft Win32 API and/or the Cygwin
> |API. As a result, it is possible to easily port many
> |significant UNIX programs without the need for extensive
> |changes to the source code. This includes configuring and
> |building most of the available GNU software (including the
> |development tools included with the Cygwin distribution).
> 
> In their own words, "Cygwin is a Linux-like environment for
> Windows."

Yes.

But when used for development it still produces standard
Windows executables, that does not require Cygwin to run.

WSL is used to create standard Linux executables that
require WSL or another Linux to run.

>>>> And as I described above then Cygwin can build both *nix source and
>>>> Windows source (and hybrids of those) not just *nix sources.
>>>
>>> You seem to be referring to the cygwin toolchain, which is only
>>> part of cygwin.  See https://cygwin.com/ for more.
>>
>> But it is a difference between Cygwin and WSL.
>>
>> Cygwin GCC accepts both Windows and *nix source. WSL GCC accept only
>> *nix source.
> 
> So what?

It is a difference.

My list of differences had it.

Your list of differences did not have it.

>>>>>                                   Toolchains are only tangentially
>>>>> relevant.
>>>>
>>>> Toolschains are really the only thing that matters.
>>>
>>> Nope.
>>>
>>>> WSL exist to allow developers to run Linux toolchains.
>>>
>>> No, WSL exists to allow Windows users to run a "Linux
>>> environment", full-stop, running unmodified Linux-branded
>>> ELF binaries.  Users can, of course, run a toolchain if they
>>> wish, but they are not limited to that; believing so is a
>>> failure of imagination.
>>
>> Microsoft has clearly stated that it is intended for
>> developers to build for Linux.
>>
>> I assume that Microsoft knows why they have created WSL.
> 
> From, https://learn.microsoft.com/en-us/windows/wsl/about:
> 
> |Windows Subsystem for Linux (WSL) is a feature of Windows that
> |allows you to run a Linux environment on your Windows machine,
> |without the need for a separate virtual machine or dual
> |booting.

And it continues:

# WSL is designed to provide a seamless and productive experience for
# developers who want to use both Windows and Linux at the same time.

> It is not a toolchain.  Is that environment intended for
> developers?  Yes.  Can you do more than run a toolchain?
> Yes.

It is intended for developers to run a standard Linux
build toolchain to enable Linux builds on Windows. MS
want to keep developers on Windows.

It could be used to browse the web, read email and use
word processors and spreadsheets. But MS has no interest
in WSL being used for that. And I don't think any WSL users
use it for that.

Arne




More information about the Info-vax mailing list