lhmouse / mcfgthread

Cornerstone of the MOST efficient std::thread on Windows for mingw-w64
https://gcc-mcf.lhmouse.com/
Other
269 stars 28 forks source link

make tool support? #40

Closed Xeverous closed 5 years ago

Xeverous commented 5 years ago

Hey, I have recently found this Windows GCC distribution. The amount of prebuild stuff (boost, openssl, qslite, python and many others) is amazing but I have realized that your distro does not have make tool.

Is there any specific reason behind this? The dmake does not work with makefiles I have. I would really like to build with make (just like with any other Windows GCC distibution) - is there any easy way to workaround this problem?

lhmouse commented 5 years ago

Those are native toolchains (compilers, linkers, etc.) while make isn't one of them.

To have a working make you have to get a POSIX-conforming shell, for example, by installing MSYS2 which is also where I build GCC, but it would be a different abstraction subsystem.

Xeverous commented 5 years ago

To have a working make you have to get a POSIX-conforming shell

Somewhat true, somewhat not. I stopped using MSYS2 because its installer/package manager stopped working altogether (see this).

The shell itself is not really necessary, CMake needs only make and nothing else for it's "MinGW makefiles"

I have Git Bash but just standalone "GNU make for Windows" covers all CMake and IDE needs.

lhmouse commented 5 years ago

I have no idea what 'MinGW makefiles' means exactly amongst CMake generators. I presume that it designates the 'mingw32-make' program, which invokes CMD rather than BASH. Yes I used to include this thing, but soon got a number of questions such as 'why I get this or that error using your make?' The 'mingw32-make' program can't be used to process Unix makefiles, because CMD will not recognize shell syntax. In order to eliminate such confusion I removed it.

lhmouse commented 5 years ago

If you don't want to install MSYS2 then CMake, SCons and Ninja are better alternatives for you, although I don't use any of them (autotools work for me).