X-Recipient: archive-cygwin AT delorie DOT 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 AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT 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 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: <51717d4a9c861fd90b5f9a58b84b308a AT mail DOT kylheku DOT com> <38a47b9b-f43a-3727-2205-f02f0dbd48d0 AT gmail DOT com> <867844f7772cbc73326eeb57b85a0ab8 AT mail DOT kylheku DOT com> <5b9feca8-01c8-d2a2-f020-5350ebc51783 AT acm DOT org> <138a0ab1-5b5f-e77d-e49c-3fecfbd9b007 AT benkamen DOT net> Message-ID: X-Sender: 920-082-4242 AT kylheku DOT 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 AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Kaz Kylheku via Cygwin Reply-To: Kaz Kylheku <920-082-4242 AT kylheku DOT com> Cc: cygwin AT cygwin DOT com Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" 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