[Info-vax] RMS intro

Dan Cross cross at spitfire.i.gajendra.net
Thu Jan 4 20:46:20 EST 2024


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."

>>> 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?

>>>>                                  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.

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

Do you even know what developers working on Linux do?  Have you
ever used Unix or Linux professionally?

	- Dan C.




More information about the Info-vax mailing list