Web lists-archives.com

Re: distinguishing cygwin from mingw binaries

On 7/10/2017 2:00 PM, Kaz Kylheku wrote:
> On 10.07.2017 10:40, Nellis, Kenneth wrote:
>> For my personal use, I use gcc to generate binaries, but occasionally
>> I need
>> to make a binary available to someone who doesn't use Cygwin. For that
>> I use
>> Cygwin's x86_64-w64-mingw32-gcc.
>> After the fact, I would like to know whether the binary requires
>> Cygwin support
>> or not. One way is: strings foo.exe | grep cygwin1.dll
>> Curious what techniques others might use.
> There is always the technique of actually packaging the program
> deliverables
> and then testing them, beginning with installation, if you were the
> end-user.
> If the program doesn't run when installed by itself in C:\Program Files
> somewhere, then it might be missing DLLs.
> I use a special fork of Cygwin called Cygnal for delivering programs to
> users who don't use Cygwin and don't understand POSIX conventions for paths
> and other things.
> http://www.kylheku.com/cygnal/
> With this, you make your executable with the regular Cygwin host compiler.
> Yes, you know your executable needs a CYGWIN1.DLL (and possibly others);
> no guesswork. You package the needed DLL's with the program.
> Except, you use the CYGWIN1.DLL from the Cygnal project rather than the
> stock Cygwin one.
> Example software shipping with Cygnal is the port of the TXR language to
> Win32 and Win64. Installers available here:
> https://bintray.com/kazinator/Binaries/TXR/

CAUTION: This requires you provide the entire source set of Cygnal since
it is actually Cygwin which has the GPL license applied to it.  You
might as well package Cygwin1.dll itself.

cyg Simple

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple