> From: David Ergo <[EMAIL PROTECTED]> > Date: Tue, 28 Feb 2006 13:08:10 +0100 > Cc: Xavier Marichal <[EMAIL PROTECTED]>, > =?ISO-8859-1?Q?S=E9bastien?= Frippiat <[EMAIL PROTECTED]> > I managed to compile a working version of make 3.81rc1 for MSYS but I > had do some modifications. > > first config/config.guess and config/config.sub must be simply patched > to support MSYS build system (see config_msys.patch in attachment). > > sources must be patched (bugs correction) like specified hereunder (also > in sources_msys.patch in attachment) :
Thank you for your report. However: > file job.c, at line 2525 : > && strchr (sh_chars_sh, p[1]) == 0) > should be : > && strchr (sh_chars, p[1]) == 0) > > file implicit.c, at line 355 : > if (!check_lastslash) > should be : > if (check_lastslash) > > file make.h, at line 350 : > #if defined(HAVE_DOS_PATHS) > should be : > #if defined(HAVE_DOS_PATHS) && !defined(__MSYS__) Sorry, it seems I don't understand enough about MSYS-specific issues to figure out these problems. sh_chars[] does not exist in the WINDOWS32 build; are you saying that you are building the Unix parts of the code? I always thought that MSYS builds are actually MinGW builds, i.e. they use the Windows runtime DLL's, not Cygwin-style Posix runtime libraries. Am I mistaken? If so, what is the difference between a Cygwin build of Make and an MSYS build? In any case, the first two of the 3 changes you suggest above cannot be made as you asked for them, since that would break the other ports of Make for DOS/Windows. If I understand more about the reasons (see my questions above), I hope to be able to craft a patch that fixes the MSYS build without screwing others. > And after executing 'configure', I had to modify config.h manually > before executing make (easier for me than correcting the configure > script) : > > to support dos-style paths, changed : > /* #undef HAVE_DOS_PATHS */ > into > #define HAVE_DOS_PATHS 1 Again, I don't understand this: if configure says that MSYS doesn't have DOS drive letters, why do you need to enable its support? > and to use the internal realpath function as a workaround to the buggy > msys realpath() function (otherwise the test 'functions/realpath' fails > at line 19 about realpath of ///), changed : > #define HAVE_REALPATH 1 > into > /* #undef HAVE_REALPATH */ This should be handled by modifying the configure test for realpath. Can you explain what is buggy in the MSYS implementation, so the configure test could be augmented? TIA _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make