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

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to