Hi guys; can you take a look at these updates?
David; as for the changes to config.guess and config.sub, I download
fresh copies of those files from the GNU config site every time I build
a release; those files aren't stored in the GNU make repository at all.
You'll need to forward those changes to them:
https://savannah.gnu.org/projects/config/
The project doesn't seem too active so you might have to email the
project admin (Ben Elliston) directly.
--- Begin Message ---
Hello,
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) :
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__)
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
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 */
Could you please integrate these changes into the next release candidate
of make 3.81 ?
Thanks,
David Ergo
--- config/config.guess.orig Mon Feb 20 04:29:30 2006
+++ config/config.guess Tue Feb 28 11:02:15 2006
@@ -780,6 +780,9 @@
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit 0 ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
--- config/config.sub.orig Mon Feb 20 04:29:31 2006
+++ config/config.sub Tue Feb 28 12:42:24 2006
@@ -683,6 +683,10 @@
basic_machine=i386-pc
os=-mingw32
;;
+ msys*)
+ basic_machine=i386-pc
+ os=-msys
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -1207,7 +1211,7 @@
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -msys* | -linux-gnu* | -linux-newlib* |
-linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
--- implicit.c.orig Tue Feb 28 12:44:49 2006
+++ implicit.c Tue Feb 28 12:12:51 2006
@@ -352,7 +352,7 @@
check_lastslash = strchr (target, '/') == 0;
#ifdef HAVE_DOS_PATHS
/* Didn't find it yet: check for DOS-type directories. */
- if (!check_lastslash)
+ if (check_lastslash)
{
char *b = strrchr (target, '\\');
check_lastslash = !(b ? b > lastslash
--- job.c.orig Tue Feb 28 12:44:59 2006
+++ job.c Tue Feb 28 12:46:33 2006
@@ -2521,7 +2521,7 @@
#endif
if (p[1] != '\\' && p[1] != '\''
&& !isspace ((unsigned char)p[1])
- && strchr (sh_chars_sh, p[1]) == 0)
+ && strchr (sh_chars, p[1]) == 0)
/* back up one notch, to copy the backslash */
--p;
#endif /* HAVE_DOS_PATHS */
--- make.h.orig Tue Feb 28 12:53:40 2006
+++ make.h Tue Feb 28 12:53:18 2006
@@ -347,7 +347,7 @@
#define S_(msg1,msg2,num) ngettext (msg1,msg2,num)
/* Handle other OSs. */
-#if defined(HAVE_DOS_PATHS)
+#if defined(HAVE_DOS_PATHS) && !defined(__MSYS__)
# define PATH_SEPARATOR_CHAR ';'
#elif defined(VMS)
# define PATH_SEPARATOR_CHAR ','
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make
--- End Message ---
--
-------------------------------------------------------------------------------
Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32