From: Chris S. <ir0...@gm...> - 2010-08-26 15:04:57
|
On 26 August 2010 09:37, Ozkan Sezer wrote: > On Thu, Aug 26, 2010 at 4:32 PM, Chris Sutcliffe wrote: >> I'm by no means a 'sed' guru, so the script I came up with is very basic: >> >> mv config.h config.orig ; sed -e 's/:/;/' config.orig > config.h > > Thanks. > > However this is a problem with the make configury: exporting > PATH_SEPARATOR to something else makes configury fail on linux > therefore cross-compilation is broken (and I always compqile on > linux) Maybe the better solution to this would be a patch like the > following? Exporting PATH_SEPARATOR in MSYS also breaks the configury. That's why I run 'configure' first (without specifying PATH_SEPARATOR), then modify the config.h generated by configure. It's not an elegant solution, I fully admit. Regarding your patch: > Index: make.h > =================================================================== > RCS file: /sources/make/make/make.h,v > retrieving revision 1.144 > diff -u -r1.144 make.h > --- make.h 20 Jul 2010 13:12:06 -0000 1.144 > +++ make.h 26 Aug 2010 12:30:03 -0000 > @@ -305,6 +305,9 @@ > #define N_(msgid) gettext_noop (msgid) > #define S_(msg1,msg2,num) ngettext (msg1,msg2,num) > > +/* workaround for cross-compilations. */ > +#undef PATH_SEPARATOR_CHAR > + > /* Handle other OSs. */ > #ifndef PATH_SEPARATOR_CHAR > # if defined(HAVE_DOS_PATHS) Undeffing PATH_SEPARATOR_CHAR makes me a little nervous, in that it makes PATH_SEPARATOR_CHAR redundant (which I think the upstream maintainers may not like). What about something like: $ diff -u make.h.orig make.h --- make.h.orig 2010-07-20 09:12:06 -0400 +++ make.h 2010-08-26 11:00:05 -0400 @@ -306,13 +306,15 @@ #define S_(msg1,msg2,num) ngettext (msg1,msg2,num) /* Handle other OSs. */ -#ifndef PATH_SEPARATOR_CHAR -# if defined(HAVE_DOS_PATHS) -# define PATH_SEPARATOR_CHAR ';' -# elif defined(VMS) -# define PATH_SEPARATOR_CHAR ',' -# else -# define PATH_SEPARATOR_CHAR ':' +#if defined(HAVE_DOS_PATHS) +# undef PATH_SEPARATOR_CHAR +# define PATH_SEPARATOR_CHAR ';' +#elif defined(VMS) +# undef PATH_SEPARATOR_CHAR +# define PATH_SEPARATOR_CHAR ',' +#else +# ifndef PATH_SEPARATOR_CHAR +# define PATH_SEPARATOR_CHAR ':' # endif #endif Given the assumption that PATH_SEPARATOR_CHAR *is* redundant for VMS and HAVE_DOS_PATHS. Once we have something that we both think would work, I'll bring this up on the make-w32 mailing list and see if we can get it in the upstream sources. Cheers! Chris -- Chris Sutcliffe http://emergedesktop.org http://www.google.com/profiles/ir0nh34d |