#2168 WSL: mingwm10.dll is not a build prerequisite for libmingwthrd_old.a

WSL
unread
nobody
None
Bug
none
Unknown
False
2014-01-13
2014-01-13
Keith Marshall
No

Makefile.in declares it as such, but it is not so. It may seem to be a convenient way to cause mingwm10.dll to be built, but it requires it much too early in the build process.

While this is not the primary cause of [#2155], it is a secondary contributing factor; mingwm10.dll cannot be built until the stage 2 compiler is available, but libmingwrhrd_old.a is included among the prerequisite libraries to be built by the stage 1 compiler, before the stage 2 compiler can be built. Requiring mingwm10.dll to be built, as a prerequisite for libmingwthrd_old.a, blocks progression to the stage 2 compiler build.

A further related issue is that the "make all" target, which also requires mingwm10.dll, cannot be built with only the stage 1 compiler; an additional intermediate target, ("make all-crt" say), is needed to facilitate building all CRT libraries and additional CRT object files, but excluding any executables or DLLs, (of which mingwm10.dll is currently the only example), when only a stage 1 compiler is available. Alternatively, the configure script should check the ability of the compiler to create executables and DLLs, without aborting, and exclude mingwm10.dll from the prerequisite list for the "make all" target, when only the stage 1 compiler is available; (the stage 1 compiler cannot create executables or DLLs).

Related

Issues: #2155

Discussion