URL: <http://savannah.gnu.org/bugs/?40227>
Summary: Various fixes for MSVC build of 4.0 Project: make Submitted by: cboos Submitted on: Wed 09 Oct 2013 11:42:35 PM GMT Severity: 3 - Normal Item Group: Build/Install Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Component Version: 4.0 Operating System: MS Windows Fixed Release: None Triage Status: None _______________________________________________________ Details: Following the announcement, I did a checkout and attempted to build make from the 4.0 tag, using the MSVC compilers on Windows. As I build preferentially from a bash shell, I tried the "nmake -f NMakefile" way still described in the README.W32.template file. Unfortunately, the NMakefile.template was not complete. This is fixed in 0001-Fix-MSVC-build-using-the-NMakefile.patch. Second issue was detected at runtime, I had some crashes happening in _vsnprintf. Looking at the code in output.c it seemed that with the MSVC compiler _vsnprintf was not supposed to be called as there's a msc_vsnprintf replacement function. However the macro was called snprintf... This is fixed in 0002-Fix-typo-preventing-the-msc_vsnprintf-function-to-be.patch. Last fix, which is more a suggestion than a fix, consists of increasing the default stack size, which proved to be insufficient for me with a x64 build (the x86 version was doing fine, so I suppose that the stack grows faster in the x64 case). See 0003-For-MSVC-build-augment-the-stack-size.patch. With these patches (plus the fix I submitted separately in #40226), make 4.0 seems to work like a charm on Windows (tested with a big build started with '-j6 -Otarget' using make.exes built with MSVC8, MSVC9, MSVC10 and MSVC11, x64 builds). I no longer have earlier versions of MSVC, so I don't know if /STACK was OK there or not (I suppose it's OK). Btw, some of the options used (/YX) are no longer valid, others are deprecated (/GX). This results in annoying warnings. Should I follow-up with a patch for removing them, or is having these options still valued? (presumably they're needed for older MSVC compilers). _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Wed 09 Oct 2013 11:42:35 PM GMT Name: 0001-Fix-test-detecting-when-a-stringlist-must-grow-in-de.patch Size: 1kB By: cboos <http://savannah.gnu.org/bugs/download.php?file_id=29340> ------------------------------------------------------- Date: Wed 09 Oct 2013 11:42:35 PM GMT Name: 0002-Fix-typo-preventing-the-msc_vsnprintf-function-to-be.patch Size: 690B By: cboos <http://savannah.gnu.org/bugs/download.php?file_id=29341> ------------------------------------------------------- Date: Wed 09 Oct 2013 11:42:35 PM GMT Name: 0003-For-MSVC-build-augment-the-stack-size.patch Size: 1kB By: cboos <http://savannah.gnu.org/bugs/download.php?file_id=29342> _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?40227> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make