Hi Jon, Hi Martin,

Thanks for your answer, comments inline:

Am 16.10.23 um 17:28 schrieb Jon Turney:
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...

You are right it is far from trivial. I am working on it, not
sure now if it will be possible or how long it takes (my main
project is WinDRBD, so unfortunately I cannot spend full time on
getting static linking work). Right now, I can compile cygwin on my own
and digged a little bit in the program startup code (lib subdir),
I will keep you updated once I go along.

Best regards,

- Johannes

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

Reply via email to