Re: [PATCH 2/2] Do not use DOS paths on Cygwin
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
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
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
> 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
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
> 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
> 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
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
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
> 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
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
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
[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
> 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
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
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
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
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
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
> 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
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
> 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
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
> 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
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