public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: Johannes Thoma <johannes@johannesthoma.com>,
	Martin Wege <martin.l.wege@gmail.com>,
	The Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: Question on statically linking with cygwin
Date: Mon, 16 Oct 2023 16:28:36 +0100	[thread overview]
Message-ID: <71e853b9-1b6c-4796-9488-b58f69c7de1e@dronecode.org.uk> (raw)
In-Reply-To: <f209cefe-0ca0-dd6f-dab8-9cf82fa57f8c@johannesthoma.com>

On 22/09/2023 12:12, Johannes Thoma via Cygwin wrote:
> Hi Martin,
> 
> Thanks for your answer, comments inline:
> 
> Am 22.09.23 um 07:54 schrieb Martin Wege via Cygwin:
>> On Tue, Sep 19, 2023 at 5:24 PM Johannes Thoma via Cygwin
>> <cygwin@cygwin.com> wrote:
>>>
>>> Hi,
>>>
>>> As I understood the reason for not being able to statically link
>>> the cygwin1.dll in to a binary and distribute that is because of
>>> licensing issues.
>>
>> Do you have any references for that?
> I read that in the Cygwin FAQ:
> 
> https://cygwin.com/faq/faq.html#faq.programming.static-linking
> 
> I read through the licensing options and IMHO linking statically
> against cygwin (which is GPL) from a program (like WinDRBD) that
> is also GPL should be allowed. But I am not a lawyer ...

That FAQ probably needs clarifying.

The two sentences are probably intended to be taken separately.

So, to be clear, there are technical reasons why the cygwin DLL is not 
also made available as a static library.

>>> Are there any technical issues that would make
>>> it impossible to link with cygwin statically?
>>>
>>> The reason I am asking is I am working on a GPL project
>>> (WinDRBD: https://github.com/LINBIT/windrbd) and am currently
>>> delivering the cygwin1.dll along with the binary. It would be
>>> desireable to have the cygwin1.dll statically linked (for example
>>> to avoid version clashes) instead. Is that technically possible?
>>> If necessary I am ready to compile cygwin (at least the needed
>>> files) on my own.
>>
>> Interesting.
>> But how (from a developers perspective) do you link cygwin1.dll
>> statically into a binary?
>>
> I would build my own cygwin1.lib or cygwin1.a and statically link
> against it.

If you do work out how to do this, patches would be welcome...


  reply	other threads:[~2023-10-16 15:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-19 15:24 Johannes Thoma
2023-09-22  5:54 ` Martin Wege
2023-09-22 11:12   ` Johannes Thoma
2023-10-16 15:28     ` Jon Turney [this message]
2023-11-02 17:33       ` Johannes Thoma
2023-11-03 15:48         ` Johannes Thoma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=71e853b9-1b6c-4796-9488-b58f69c7de1e@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin@cygwin.com \
    --cc=johannes@johannesthoma.com \
    --cc=martin.l.wege@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).