X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 77DEA3887016
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1586392409;
	bh=DciL2JKj9IgaB7mOcrzV5e2HjrHwLUT4B7nfFmz+msM=;
	h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=gvvNJ5wPxfP8F83ltAi77K13a6++AD+C5WElAg8kY2TY2GCOw16uZJoGvJcjcs4dg
	 rPgQLLKqfvgx4U4N2AtTy0tWhxEDFEGaa3ofx/oTmF7ws/dmBq7jBQofZVxFkmGWHx
	 eVuksBBPqzT6AFQtSlNar/u0nLBoCHGz+FQxdWWc=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C3470385B835
X-Authority-Analysis: v=2.3 cv=LKf9vKe9 c=1 sm=1 tr=0
 a=95A0EdhkF1LMGt25d7h1IQ==:117 a=95A0EdhkF1LMGt25d7h1IQ==:17
 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=IkcTkHD0fZMA:10 a=SMorJkV_YP8A:10
 a=cl8xLZFz6L8A:10 a=2KUf1mbJAAAA:8 a=V1PkXMevBcbvtT6lIRoA:9 a=QEXdDO2ut3YA:10
 a=LME9DoRMzU6P72L8X6EC:22 a=pHzHmUro8NiASowvMSCR:22 a=xoEH_sTeL_Rfw54TyV31:22
To: Ben Kamen <ben@benkamen.net>
Subject: Re: Using ARM GNU GCC with Cygwin
X-PHP-Originating-Script: 501:rcmail.php
MIME-Version: 1.0
Date: Wed, 08 Apr 2020 17:33:22 -0700
Organization: Cygwin Mailing List
In-Reply-To: <138a0ab1-5b5f-e77d-e49c-3fecfbd9b007@benkamen.net>
References: <a63033db-7f0f-cf87-3de9-f544f4aa320b@benjammin.net>
 <51717d4a9c861fd90b5f9a58b84b308a@mail.kylheku.com>
 <38a47b9b-f43a-3727-2205-f02f0dbd48d0@gmail.com>
 <867844f7772cbc73326eeb57b85a0ab8@mail.kylheku.com>
 <5b9feca8-01c8-d2a2-f020-5350ebc51783@acm.org>
 <138a0ab1-5b5f-e77d-e49c-3fecfbd9b007@benkamen.net>
Message-ID: <cc8c0446886e7998a6c3aded3014bcfd@mail.kylheku.com>
X-Sender: 920-082-4242@kylheku.com
User-Agent: Roundcube Webmail/0.9.2
X-CMAE-Envelope: MS4wfGN+/P4Jmj4+bbbQm35IYKZXm643kiE2ULY2qT5A1b1ie+WIvBllO+LfcydjeXj5Bgr2oPu7y625BpndAulLpCAmE/krYs45KzzYDT0PCkRI7AALHCMp
 r9hEHpdBOcO8k1dPzOtJtW03kksy+6U96nMAGJACp+IXCKcJTIymTAQC3qqgjsyTMiTM2H/JCp9zA/h9Yn3zDKOWX5s3iSO6KxE=
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,
 FROM_STARTS_WITH_NUMS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,
 SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <http://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Kaz Kylheku via Cygwin <cygwin@cygwin.com>
Reply-To: Kaz Kylheku <920-082-4242@kylheku.com>
Cc: cygwin@cygwin.com
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 0390XwEl015164

On 2020-04-08 14:13, Ben Kamen wrote:
> Well then.
> 
> This certainly turned out to be all sorts of interesting discussion. :)
> 
> I for one also can say it's nice to have a cygwin environment over DOS
> if I'm forced to a CLI on Windows.
> 
> Most of my days are spent on Linux  -- but it looks like I have some
> legit CLI time coming on Windows and cygwin was my first go-to thought
> for that.
> 
> It's already bad enough how many times I type 'ls -l' in DOS to get an
> error. HAhahaha.
> 
> (two thumbs up)

I use Cygwin for porting a programming language (TXR) to Windows.
Previously, I used MinGW, which was terrible; it has no POSIX
support at all. The MinGW version didn't have a working REPL mode,
for instance. Cygwin has termios calls that translate to the Windows
Console API; you can put the TTY into raw mode and just spew ANSI/VT100
codes and it all works. Input side too.

In 2016(?), Cygwin announced that the DLL's were going to be LGPL
instead of GPL. That means they could be linked not only with
proprietary applications, but ones with *less* restrictive licensing
such as BSD, without GPL contagion, like my project. Terrific!

I immediately saw the implications for this, and
began work on a forked version of the Cygwin DLL which
is a little bit more suitable as a run-time for a Windows application.
I made just a few changes for more Windows-like behaviors.
For instance, the file system calls understand Windows paths with
letter names instead of /cygdrv, and the chdir() system call
understands the "logged drive" DOS/Windows concept. The PATH variable
is untranslated in Cygnal, and semicolon separated. The system()
function and popen() don't look for /bin/sh, they use the CMD
variable, defaulting on cmd.exe. Things like that.

That project is here:

https://www.kylheku.com/cygnal/

The beauty is that you can compile a program quite simply in Cygwin
as a Cygwin executable. Then just slide this modified library
under it, bundle them together, and ship it as a Windows program.
I do exactly that.

Cygnal is a little behind Cygwin; it's about time I did a rebase
to a newer Cygwin.
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

