Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Nov 2020 15:14:26 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 237213] [NEW PORT] devel/mingw-w64 cross compilers
Message-ID:  <bug-237213-7788-YP0ZGFZVzK@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-237213-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-237213-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237213

Damjan Jovanovic <damjan.jov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #219875|0                           |1
        is obsolete|                            |

--- Comment #19 from Damjan Jovanovic <damjan.jov@gmail.com> ---
Created attachment 220001
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D220001&action=
=3Dedit
complete mingw-w64 port

Here is my complete mingw-w64 Port, which I am submitting with me as the
maintainer.

You can install devel/mingw-w64-gcc, with FLAVOR=3Di686 to target Win32 or
FLAVOR=3Damd64 to target Win64. The GCC binaries are named i686-w64-mingw32=
-gcc
and x86_64-w64-mingw32-gcc, like on other *nix platforms.

binutils is patched to expose its i686-w64-mingw32 and x86_64-w64-mingw32
targets, which it already had but we never used. mingw-w64 provides the hea=
ders
and CRT, while GCC 10 provides the bootstrap GCC (to build the CRT) and full
GCC. All 5 Ports build and work on both amd64 and i386 hosts.

The PE build of the whole of i386-wine (5 million lines of code) was
successfully compiled with the i686-mingw-w64-gcc port, and worked fully wi=
th
all the Windows applications I tested.

*******
WARNING
*******
Other Ports, whose software auto-detects mingw-w64 and automatically uses i=
t,
will break with this Port installed, as they may start producing files
unexpected by their pkg-plist.

Eg. Wine, since version 5.0, preferentially makes PE builds with mingw-w64
(instead of ELF builds with native CC), and will build successfully but
probably fail to package/install as its pkg-plist expects .dll.so files whi=
le
it produces .dll with mingw-w64 instead. You can (1) force Wine to ignore
mingw-w64 with "./configure --without-mingw", or better yet (2) update the =
Wine
ports to use different pkg-plist files depending on whether mingw-w64 is us=
ed.
(In my test, I built Wine directly from source, not the Port.)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237213-7788-YP0ZGFZVzK>