Hey guys, love the project and the new front page. As a noob, I'm figuring out how to use the pacman commands to download packages, etc. I noticed there are mingw64 packages as well. How could I get all the standard mingw64 files downloaded? I saw this because up till now, I've used https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/ for mingw64 stuff and then come here for msys2. How can I get the mingw64 from msys2?
All mingw-w64 package names start with mingw-w64-i686 - for 32-bit packages and mingw-w64-x86_64 - for 64-bit packages.
They are installing into /mingw32 and /mingw64 subfolders of MSYS2 tree
Ah perfect. Thanks. One more question. Usually when I download the ming64 build, I choose win32 (instead of pthreads) and seh (instead of sjlj). Do you know how I can ensure I get those same configurations when downloading the mingw-w64-x86_64-gcc-toolchain through msys2?
On MSYS2 I maintain only one configuration:
32-bit: threads=posix, exceptions=dwarf
64-bit: threads=posix, exceptions=seh
You don't have the choice. If you need other configuration the use mingw-builds toolchains.
Ah, makes sense. Any chance win32 threads could be supported as well? Either way, I'll close this. Thanks for all the help and the great project!
I don't have free time to support multiple configurations. If you want it you can join to us and support it!
Regards,
Alexey.
I might take you up on that. Do I make pull requests at https://github.com/Alexpux/MINGW-packages? Or to sourceforge directly somehow?
You don't need to write PKGBUILD's. All of them present. I have no time to build all configurations. You can create your own repository and maintain there toolchains with threads=win32 using my PKGBUILD's.
You need modify mingw-w64-gcc PKGBUILD replacing _threads="posix" with _threads="win32"
I've just tried to build GNU Emacs for MS-Windows using MSYS2. It works like a charm, but there is one unfortunate thing: when I create a binary package for redistribution and I test it, I see that it has a dependency on 'libwinpthread-1.dll', so I would have to bundle also that library together with the source code for it, which is a bad thing, IMO.
It would be great to have the choice of a win32-threads based GCC on MSYS2.
If you need win32-threads GCC then you need rebuild all packages to work with it. I have no wish to maintain 4 mingw repositories and build twice all packages.
Feel free to organize your own repositories for win32-threads packages.
Regards,
Alexey.
On Sun, Nov 23, 2014 at 10:48 AM, Alexx83 lexx83@users.sf.net wrote:
Ok, just wanted to point out that wish, in case someone in the future
wants to make this possible.
For the record: I've succeded to use a win32-threads based GCC win
MSYS2: I've just downloaded this package from .mingw-builds:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/dwarf/i686-4.9.2-release-win32-dwarf-rt_v3-rev0.7z/download
And I've simply unpacked it under my MSYS2 root directory.
With that environment, I've been able to build GNU Emacs, and the
final binary package does not have any dependency on
libwinpthread-1.dll.
Thank you for maintaining MSYS2.
--
Dani Moncayo
One last comment; for the record:
Cygwin maintainers seem to have chosen to build mingw-w64 packages without '--enable-pthread' for the same reason I pointed out:
https://cygwin.com/ml/cygwin/2013-09/msg00004.html
Building GGC with posix threads is our own choice.
We also have mingw-w64 cross GCC for MSYS2 as cygwin have:
pacman -S mingw-w64-cross-toolchain
But we use it only for MSYS2 internal purposes and will not build with it a lot mingw-w64 packages.
Could you please tell me where is the source code for 'libwinpthread-1.dll'?
If I'm going to distribute such library with my program, I'll have to distribute that source code too (I presume it is GPL-licensed).
Thanks in advance.
winpthreads is part of mingw-w64 project:
https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-libraries/winpthreads/
Last edit: Alexx83 2014-11-23
Thank you.