Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-16 Thread Christopher Faylor
On Wed, Aug 07, 2013 at 04:38:22PM +0300, Eli Zaretskii wrote:
>> From: Pavel Fedin 
>> Cc: m...@cgf.cx, bug-make@gnu.org
>> Date: Wed, 07 Aug 2013 10:22:31 +0400
>> 
>> > > 2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.
>> > 
>> > This is true, but how is this relevant to the issue at hand?
>> > 'abspath' does not deal with PATH-style directory lists, it accepts a
>> > single file name as its argument.  What am I missing here?
>> 
>>  To the issue - no, this really doesn't relate. But this is still involved
>> in the change, because path list is one more thing which depends on native
>> path style of underlying environment.
>
>Are you saying that if a Cygwin Make uses DOS style file names with
>drive letters, it also expects the PATH-style directory lists to use a
>semi-colon as a separator?  I don't think I'd expect that.  I think
>PATH-style lists should always use Unix-style file named in the Cygwin
>Make.  DOS-style file names should only be supported in targets and
>commands.

FWIW, this used to be controlled by a command-line option which allowed
switching back and forth between DOS paths/';' and UNIX paths/':'.

We surely don't want to go back to that.

cgf

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-07 Thread Pavel Fedin
 Hello!

> Are you saying that if a Cygwin Make uses DOS style file names with
> drive letters, it also expects the PATH-style directory lists to use a
> semi-colon as a separator?  I don't think I'd expect that.

 There is a default in make.h:
--- cut ---
/* 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 ':'
# endif
#endif
--- cut ---
 But, i have just checked, it gets overridden by configure script. So if you
configure on Cygwin, it will be correct. But, well, i was talking about this
default actually.

 2 Cristopher: but it never allows both, this is simply impossible by
design.

> I think
> PATH-style lists should always use Unix-style file named in the Cygwin
> Make.  DOS-style file names should only be supported in targets and
> commands.

 Yes, of course. Cygwin runs unmodified UNIX scripts and makefiles, and they
would screw up badly if ';' is used.

> I know about MSYS, but building an MSYS version of Make is already a
> special procedure.  So I don't see why you should worry about that.

 I do not worry much, but i think a little about how this is done, because i
suggest that my modification should not make this special procedure even
more complicated. Don't you think so ?

 P.S. During testing Windows version of make i have found a little flaw in
make test suite. In test_driver.pl there is a 'toplevel' function, which
sets up environment for running make. And it has a list of env variables
which are propagated. Can you add Windows-specific TEMP and TMP to it ?
Without this Windows version fails back to '/' as temp directory, which
fails miserably on post-XP because accessing C:\ requires elevated
privilege.
 Sorry for not providing a .diff, but this is one-line fix, and approving it
is IMHO too much overhead.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-07 Thread Christopher Faylor
On Wed, Aug 07, 2013 at 04:38:22PM +0300, Eli Zaretskii wrote:
>> From: Pavel Fedin 
>> Cc: m...@cgf.cx, bug-make@gnu.org
>> Date: Wed, 07 Aug 2013 10:22:31 +0400
>> 
>> > > 2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.
>> > 
>> > This is true, but how is this relevant to the issue at hand?
>> > 'abspath' does not deal with PATH-style directory lists, it accepts a
>> > single file name as its argument.  What am I missing here?
>> 
>>  To the issue - no, this really doesn't relate. But this is still involved
>> in the change, because path list is one more thing which depends on native
>> path style of underlying environment.
>
>Are you saying that if a Cygwin Make uses DOS style file names with
>drive letters, it also expects the PATH-style directory lists to use a
>semi-colon as a separator?  I don't think I'd expect that.  I think
>PATH-style lists should always use Unix-style file named in the Cygwin
>Make.  DOS-style file names should only be supported in targets and
>commands.

I think it used to, confusingly, allow both uses.  I don't know what it
does now.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-07 Thread Eli Zaretskii
> From: Pavel Fedin 
> Cc: m...@cgf.cx, bug-make@gnu.org
> Date: Wed, 07 Aug 2013 10:22:31 +0400
> 
> > > 2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.
> > 
> > This is true, but how is this relevant to the issue at hand?
> > 'abspath' does not deal with PATH-style directory lists, it accepts a
> > single file name as its argument.  What am I missing here?
> 
>  To the issue - no, this really doesn't relate. But this is still involved
> in the change, because path list is one more thing which depends on native
> path style of underlying environment.

Are you saying that if a Cygwin Make uses DOS style file names with
drive letters, it also expects the PATH-style directory lists to use a
semi-colon as a separator?  I don't think I'd expect that.  I think
PATH-style lists should always use Unix-style file named in the Cygwin
Make.  DOS-style file names should only be supported in targets and
commands.

> > It probably would, if you do a clean job, but frankly I'm not sure it's
> > worth your while.  It is so easy to glean this information by just
> > looking at the appropriate preprocessor macro, like WINDOWS32 etc. that
> > a configure-time test sounds like overkill.
> 
>  Yes, but there can be one thing, considering MinGW. If you don't know,
> MinGW actually consists of two environments: MinGW by itself and MSYS. MinGW
> by itself is a pure Windows environment. MSYS is enlightened version of
> Cygwin whose purpose is "to provide enough compatibility to run UNIX shell
> scripts like configure". MinGW land uses DOS-style paths and MSYS land uses
> UNIX-style ones. Consequently, they actually build two versions of make. One
> version is called 'mingw-make' and is a pure Windows program. Another
> version is called 'make' and operates in MSYS land, dealing with UNIX-style
> paths and path lists. They do this because majority of build systems use
> POSIX semantics. Both versions are built from the same source.
>  Consequently, there should be a possibility to override "native path
> format" test, similar to what Cygwin currently does to disable DOS paths.
> This can be needed for building MSYS version.

I know about MSYS, but building an MSYS version of Make is already a
special procedure.  So I don't see why you should worry about that.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-06 Thread Pavel Fedin
 Hello!

> This is what I'd expect.

 Good then.

> > 2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.
> 
> This is true, but how is this relevant to the issue at hand?
> 'abspath' does not deal with PATH-style directory lists, it accepts a
> single file name as its argument.  What am I missing here?

 To the issue - no, this really doesn't relate. But this is still involved
in the change, because path list is one more thing which depends on native
path style of underlying environment.

> It probably would, if you do a clean job, but frankly I'm not sure it's
> worth your while.  It is so easy to glean this information by just
> looking at the appropriate preprocessor macro, like WINDOWS32 etc. that
> a configure-time test sounds like overkill.

 Yes, but there can be one thing, considering MinGW. If you don't know,
MinGW actually consists of two environments: MinGW by itself and MSYS. MinGW
by itself is a pure Windows environment. MSYS is enlightened version of
Cygwin whose purpose is "to provide enough compatibility to run UNIX shell
scripts like configure". MinGW land uses DOS-style paths and MSYS land uses
UNIX-style ones. Consequently, they actually build two versions of make. One
version is called 'mingw-make' and is a pure Windows program. Another
version is called 'make' and operates in MSYS land, dealing with UNIX-style
paths and path lists. They do this because majority of build systems use
POSIX semantics. Both versions are built from the same source.
 Consequently, there should be a possibility to override "native path
format" test, similar to what Cygwin currently does to disable DOS paths.
This can be needed for building MSYS version.

 Ok, good, currently i already have an implementation which works fine on
Cygwin and passes all test suite. Now i want to try to build pure Windows
version and make sure that it at least doesn't become worse. I need some
time to test it and to approve the patch for submission here at Samsung.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-06 Thread Eli Zaretskii
> From: Pavel Fedin 
> Cc: m...@cgf.cx, bug-make@gnu.org
> Date: Tue, 06 Aug 2013 17:46:14 +0400
> 
> 1. abspath on Cygwin returns UNIX-style paths and on pure DOS/Windows -
> DOS-style.

This is what I'd expect.

> If DOS-style absolute path is already supplied, it will leave it as
> is.

Again, this is what I'd expect.

> 2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.

This is true, but how is this relevant to the issue at hand?
'abspath' does not deal with PATH-style directory lists, it accepts a
single file name as its argument.  What am I missing here?

>  In order to distinguish between these two i have added one more test to
> configure. It attempts to compile and run a small program which checks
> whether result of getcwd() is DOS-style. In case of cross-compiling it just
> knows that for DOS and MinGW native path style is DOS. Of course
> config.cache value is taken into account.
>  Technically it is possible to work around (2) using some clever heuristics,
> but i don't see how it would be possible to determine whether e.g. /foo/bar
> is an absolute path of DOS-style relative one.
>  Will this solution be OK ?

It probably would, if you do a clean job, but frankly I'm not sure
it's worth your while.  It is so easy to glean this information by
just looking at the appropriate preprocessor macro, like WINDOWS32
etc. that a configure-time test sounds like overkill.  But I won't
object to such a test, FWIW.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-06 Thread Eli Zaretskii
> From: Pavel Fedin 
> Cc: m...@cgf.cx, bug-make@gnu.org
> Date: Tue, 06 Aug 2013 15:05:51 +0400
> 
> > In that case, we need to fix 'abspath', not disable this feature.
> 
>  Ok. If you don't mind, i can try new approach on this. Will it be OK ?

Yes, please.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-06 Thread Pavel Fedin
 Hello!

> In that case, we need to fix 'abspath', not disable this feature.

 I have came up with another implementation, currently testing it.
 My new implementation should allow DOS and UNIX paths to coexist. However
there's still two differences:

1. abspath on Cygwin returns UNIX-style paths and on pure DOS/Windows -
DOS-style. If DOS-style absolute path is already supplied, it will leave it
as is.
2. PATH_SEPARATOR on Cygwin is ':' and on pure DOS/Windows is ';'.

 In order to distinguish between these two i have added one more test to
configure. It attempts to compile and run a small program which checks
whether result of getcwd() is DOS-style. In case of cross-compiling it just
knows that for DOS and MinGW native path style is DOS. Of course
config.cache value is taken into account.
 Technically it is possible to work around (2) using some clever heuristics,
but i don't see how it would be possible to determine whether e.g. /foo/bar
is an absolute path of DOS-style relative one.
 Will this solution be OK ?

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-06 Thread Pavel Fedin
 Hello!

> In that case, we need to fix 'abspath', not disable this feature.

 Ok. If you don't mind, i can try new approach on this. Will it be OK ?

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-05 Thread Eli Zaretskii
> Date: Mon, 5 Aug 2013 22:04:44 +0400
> From: Pavel Fedin 
> CC: m...@cgf.cx, bug-make@gnu.org
> 
> > I don't yet understand why you have a problem in the first place.  It
> > sounds like the single issue is with the 'abspath' function, is that
> > correct?
> 
>  Yes, correct.

In that case, we need to fix 'abspath', not disable this feature.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-05 Thread Pavel Fedin
Hello, Eli.

Monday, August 5, 2013, 18:44:17 you wrote:

> I don't yet understand why you have a problem in the first place.  It
> sounds like the single issue is with the 'abspath' function, is that
> correct?

 Yes, correct.

 2 Christopher Faylor:

> ac_cv_dos_paths=no configure
>
> works just fine and does not require a command-line switch.

 [skip]

> I assume that the first time you wouldn't know about a command-line
> switch either.  Sometimes you have to do research.

 Yes,  but  if this switch defaults to no on Cygwin, then i would
not have to bother. Only those who want customized make with DOS paths
would bother.
 At the other hand, according to your own logic, if we just change Cygwin's 
result for this test, then

ac_cv_dos_paths=yes configure

would also work for building customized version.

 But,   okay,   okay...   I  see,  you  are  extremely  conservative.
 Okay, i   just   wanted   to   make  the  little  thing  cleaner.
AFAIK  configure's  purpose  is  to set up the source for building for
particular  system,  and  it  should  do  all  adjustments  which  are
necessary  to  build  the  100%  working  program. Customization (like
enabling DOS paths for UNIXish environment) IMHO should not be done by
default.
 But you are Masters, and if you completely disagree with me, let it be. I'm 
just a single
person,   and  you are (at least) two. And you are maintainers and not
me. And i am completely out of more arguments, so i retreat. I won't bother you 
with this particular issue
any   more,   unless  you  become  interested and explicitly ask me or
suggest something.

--
 Kind regards,
 Pavel  mailto:pavel_fe...@mail.ru


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-05 Thread Paul Smith
On Mon, 2013-08-05 at 10:56 -0400, Christopher Faylor wrote:
> > Then maybe really add something like --enable-dos-paths which
> defaults to
> >no on Cygwin and Yes on MinGW ?
> 
> ac_cv_dos_paths=no configure
> 
> works just fine and does not require a command-line switch.

If this is a common/necessary thing maybe we should consider adding it
to the appropriate README file.  However, we don't seem to have a README
for cygwin in the standard GNU make install.  Is that something anyone
is interested in generating?  In general for Cygwin issues with GNU make
we've traditionally pointed people to the cygwin list.  Is there any
interest on the cygwin side for a closer support relationship?  Or is
what we have now working OK?


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-05 Thread Christopher Faylor
[Reply-to set to bug-make]
On Mon, Aug 05, 2013 at 09:19:18AM +0400, Pavel Fedin wrote:
> Hello!
>
>> Right.  Because I knew I could just turn if off for the Cygwin release.
>> There is no reason to nuke the feature for people who want to roll
>> their own version of make with DOS paths turned on.
>
> Then maybe really add something like --enable-dos-paths which defaults to
>no on Cygwin and Yes on MinGW ?

ac_cv_dos_paths=no configure

works just fine and does not require a command-line switch.

>IMHO it's a little bit inconvenient that you have to use config.cache
>trick in order to build a fully working Make for Cygwin, and this is
>not documented anywhere.  First time, when i didn't know about this,
>i've got a problem.

I assume that the first time you wouldn't know about a command-line
switch either.  Sometimes you have to do research.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-05 Thread Eli Zaretskii
> From: Pavel Fedin 
> Date: Mon, 05 Aug 2013 09:19:18 +0400
> 
>  IMHO it's a little bit inconvenient that you have to use config.cache trick
> in order to build a fully working Make for Cygwin, and this is not
> documented anywhere. First time, when i didn't know about this, i've got a
> problem.

I don't yet understand why you have a problem in the first place.  It
sounds like the single issue is with the 'abspath' function, is that
correct?

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-04 Thread Pavel Fedin
 Hello!

> Right.  Because I knew I could just turn if off for the Cygwin release.
> There is no reason to nuke the feature for people who want to roll
> their own version of make with DOS paths turned on.

 Then maybe really add something like --enable-dos-paths which defaults to
no on Cygwin and Yes on MinGW ?
 IMHO it's a little bit inconvenient that you have to use config.cache trick
in order to build a fully working Make for Cygwin, and this is not
documented anywhere. First time, when i didn't know about this, i've got a
problem.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-02 Thread Christopher Faylor
On Wed, Jul 31, 2013 at 10:11:40AM -0400, Paul Smith wrote:
>On Wed, 2013-07-31 at 10:37 +0400, Pavel Fedin wrote:
>>Looks like, if you want DOS paths, and running under Cygwin, an
>>explicit conversion has to be performed on getcwd() result using
>>cygwin_conv_path().  However i did not test this further because i
>>follow official Cygwin way of doing things, and Cygwin deprecates usage
>>of DOS style paths, obviously because they create lots of problems in
>>UNIX utilities which are not modified to handle them.  Cygwin even
>>warns you when some API functions get DOS paths.
>
>Perhaps we need to split the HAVE_DOS_PATHS flag into two flags:
>something like ACCEPT_DOS_PATHS which enables various pathname parsing
>functions to understand DOS-style paths, and something like
>RETURN_DOS_PATHS, which is used in functions that generate absolute
>pathnames like abspath etc.  to decide whether the generated pathname
>should be DOS-like or UNIX-like.
>
>I'm not sure what cygwin_conv_path() does or whether it is needed or
>useful in this situation.

Cygwin understands MS-DOS style paths just fine so I don't think there's
any reason for make to do conversions.

cgf

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-08-02 Thread Christopher Faylor
On Tue, Jul 30, 2013 at 07:41:19PM +0300, Eli Zaretskii wrote:
>> Cc: bug-make@gnu.org, Pavel Fedin 
>> From: Roland Schwingel 
>> Date: Tue, 30 Jul 2013 18:29:07 +0200
>> 
>> I clearly think the DOS paths mode should remain in even for cygwin. I 
>> know that there are objections in cygwins top level management against 
>> this.
>
>When this feature was introduced for Cygwin Make, the Cygwin
>maintainer didn't oppose that.

Right.  Because I knew I could just turn if off for the Cygwin release.
There is no reason to nuke the feature for people who want to roll their
own version of make with DOS paths turned on.

cgf

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-31 Thread Paul Smith
On Wed, 2013-07-31 at 10:37 +0400, Pavel Fedin wrote:
> Looks like, if you want DOS paths, and running under Cygwin, an
> explicit conversion has to be performed on getcwd() result using
> cygwin_conv_path().  However i did not test this further because i
> follow official Cygwin way of doing things, and Cygwin deprecates
> usage of DOS style paths, obviously because they create lots of
> problems in UNIX utilities which are not modified to handle them.
> Cygwin even warns you when some API functions get DOS paths.

Perhaps we need to split the HAVE_DOS_PATHS flag into two flags:
something like ACCEPT_DOS_PATHS which enables various pathname parsing
functions to understand DOS-style paths, and something like
RETURN_DOS_PATHS, which is used in functions that generate absolute
pathnames like abspath etc. to decide whether the generated pathname
should be DOS-like or UNIX-like.

I'm not sure what cygwin_conv_path() does or whether it is needed or
useful in this situation.


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


RE: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Pavel Fedin
 Hello!

 The problem is revealed by make's own test suite. The following is test
results with DOS paths disabled:
--- cut ---
$ ./run_make_tests

--
Running tests for GNU make on CYGWIN_NT-6.1 fedinw7x64 1.7.22(0.268/5/3)
x86_64
   GNU Make 3.82.90

--

Finding tests...

features/archives ... ok (7 passed)
features/comments ... ok (1 passed)
features/conditionals ... ok (4 passed)
features/default_names .. ok (2 passed)
features/double_colon ... ok (11 passed)
features/echoing  ok (4 passed)
features/errors . ok (2 passed)
features/escape . ok (6 passed)
features/export . ok (12 passed)
features/include  ok (10 passed)
features/mult_rules . ok (2 passed)
features/mult_targets ... ok (2 passed)
features/order_only . ok (10 passed)
features/override ... ok (4 passed)
features/parallelism  ok (9 passed)
features/patspecific_vars ... ok (10 passed)
features/patternrules ... ok (10 passed)
features/quoting  ok (1 passed)
features/recursion .. ok (2 passed)
features/reinvoke ... ok (5 passed)
features/se_explicit  ok (9 passed)
features/se_implicit  ok (9 passed)
features/se_statpat . ok (4 passed)
features/shell_assignment ... ok (4 passed)
features/statipattrules . ok (8 passed)
features/targetvars . ok (25 passed)
features/varnesting . ok (2 passed)
features/vpath .. ok (2 passed)
features/vpath2 . ok (1 passed)
features/vpath3 . ok (1 passed)
features/vpathgpath . ok (1 passed)
features/vpathplus .. ok (4 passed)
functions/abspath ... ok (1 passed)
functions/addprefix . ok (1 passed)
functions/addsuffix . ok (2 passed)
functions/andor . ok (2 passed)
functions/basename .. ok (1 passed)
functions/call .. ok (3 passed)
functions/dir ... ok (1 passed)
functions/error . ok (5 passed)
functions/eval .. ok (9 passed)
functions/filter-out  ok (1 passed)
functions/findstring  ok (1 passed)
functions/flavor  ok (1 passed)
functions/foreach ... ok (4 passed)
functions/if  ok (1 passed)
functions/join .. ok (1 passed)
functions/notdir  ok (1 passed)
functions/origin  ok (1 passed)
functions/realpath .. Error running make
(expected 0; got 512): make -f work/functions/realpath.mk
FAILED (0/1 passed)
functions/shell . ok (2 passed)
functions/sort .. ok (2 passed)
functions/strip . ok (2 passed)
functions/substitution .. ok (3 passed)
functions/suffix  ok (1 passed)
functions/value . ok (1 passed)
functions/warning ... ok (4 passed)
functions/wildcard .. ok (6 passed)
functions/word .

Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Eli Zaretskii
> Date: Wed, 31 Jul 2013 01:31:56 +0400
> From: Pavel Fedin 
> Cc: bug-make@gnu.org
> 
>  The actual problem with this is that Make supports either DOS or POSIX
> style paths, but not simultaneously.

That's not true, at least that's not how things are designed to work.
Please show a small self-contained Makefile that could be used to
reproduce this problem, and please describe how file names of "the
other" style fail with that Makefile.

>  If someone really wants it, then maybe perhaps something like
> --enable-dos-paths should be introduced ?

The way things are supposed to work, there's no need for this option.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Pavel Fedin
 Dear Eli Zaretskii!
 On Tue, 30 Jul 2013 18:43:10 +0300 you wrote:

> Sorry, I don't understand the problem you are trying to solve.  Could
> you please explain it in more detail?

 The actual problem with this is that Make supports either DOS or POSIX
style paths, but not simultaneously.
 I came to this when i developed my previous patch (spawn instead of
fork). I needed to rebuild Make, so i typed configure then make. For
verification i used 'make test'. All tests which use relative>absolute
path conversion failed after this. It took me some time fo figure out
what was wrong. Make failed to recognize paths starting from '/' as
absolute and corrupted them. It expected absolute paths to have form of
'x:/'.
 Actually i asked on the Cygwin ML, and they told that they just force
this option to off via config.cache.
 If someone really wants it, then maybe perhaps something like
--enable-dos-paths should be introduced ? If the user really wants DOS
paths under Cygwin, and completely understands what he is doing, then
let him specify this on the command line.

-- 
Kind regards, Pavel Fedin

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Eli Zaretskii
> Cc: bug-make@gnu.org, Pavel Fedin 
> From: Roland Schwingel 
> Date: Tue, 30 Jul 2013 18:29:07 +0200
> 
> I clearly think the DOS paths mode should remain in even for cygwin. I 
> know that there are objections in cygwins top level management against 
> this.

When this feature was introduced for Cygwin Make, the Cygwin
maintainer didn't oppose that.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Roland Schwingel
Hi...

bug-make-bounces+roland.schwingel=onevision@gnu.org wrote on 
30.07.2013 17:43:10:

> >  Currently make's configure suggests that it should use DOS-style 
paths on
> > Cygwin. This is not true, and this assumption makes path-related 
mechanisms
> > to work incorrectly. Currently Cygwin package supplies manual hint in
> > config.cache in order to work around this.
> 
> Sorry, I don't understand the problem you are trying to solve.  Could
> you please explain it in more detail?
> 
> This feature was added in response to an explicit request of some
> Cygwin users.  I don't want to remove it without a very good reason.
> After all, if you don't need DOS-style file names, you can simply
> refrain from using them in your Makefiles, and then you will not see
> any effect of this support.
> 
> >  I think we should also ask MinGW team about __MSYS__ definition. MSys 
is
> > close to Cygwin, so perhaps this should also be removed.
> 
> MSYS supports DOS-style file names, so removing that would seem wrong.
> However, I don't speak for MSYS developers, so I'll defer to their
> judgment.
I want to throw in my $0.02 here, too.

But this time in the other direction. Sorry Pavel.

I clearly think the DOS paths mode should remain in even for cygwin. I 
know that there are objections in cygwins top level management against 
this. Cygwin wants to have DOS path mode out as - as far as I understand 
it. Therefore I am maintaining my private version of gnumake for many 
years now with enabled DOS path mode (and some little other things). Also 
I could not see any problems building packages on cygwin for cywin with my 
version of gnumake, but I have to confess that is not my regular use case.

I believe I am using a DOS paths enabled gnumake on cygwin now for over 10 
years. Having enabled DOS pathes in gnumake makes life with non cygwin 
tools (eg. javac and other things) in makefiles a lot easier. Again this 
is my personal opinion. 

For MSYS I believe it could not be ripped out. It is IMHO vital there and 
would break it.

Roland
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


Re: [PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Eli Zaretskii
> From: Pavel Fedin 
> Date: Tue, 30 Jul 2013 14:44:58 +0400
> 
>  Currently make's configure suggests that it should use DOS-style paths on
> Cygwin. This is not true, and this assumption makes path-related mechanisms
> to work incorrectly. Currently Cygwin package supplies manual hint in
> config.cache in order to work around this.

Sorry, I don't understand the problem you are trying to solve.  Could
you please explain it in more detail?

This feature was added in response to an explicit request of some
Cygwin users.  I don't want to remove it without a very good reason.
After all, if you don't need DOS-style file names, you can simply
refrain from using them in your Makefiles, and then you will not see
any effect of this support.

>  I think we should also ask MinGW team about __MSYS__ definition. MSys is
> close to Cygwin, so perhaps this should also be removed.

MSYS supports DOS-style file names, so removing that would seem wrong.
However, I don't speak for MSYS developers, so I'll defer to their
judgment.

Thanks.

___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


[PATCH 2/2] Do not use DOS paths on Cygwin

2013-07-30 Thread Pavel Fedin
 Currently make's configure suggests that it should use DOS-style paths on
Cygwin. This is not true, and this assumption makes path-related mechanisms
to work incorrectly. Currently Cygwin package supplies manual hint in
config.cache in order to work around this.
 I think we should also ask MinGW team about __MSYS__ definition. MSys is
close to Cygwin, so perhaps this should also be removed.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia




make-3.82.90-1-no-dos-paths-on-cygwin.diff
Description: Binary data
___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make