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>