Comments (4)
I think you're correct, and this is due to the change where spaces are now considered to be perfectly fine in file/directory names.
I'm not quite sure how we can address your scenario without re-breaking the fix where, say, /c/Program Files
was considered not to be a path.
Could you elaborate a bit why the path list in the Makefile
has to be in mixed format (i.e. DOS drive but no backslashes) and with a space instead of the usual semicolon as separator?
from msys2-runtime.
Could you elaborate a bit why the path list in the Makefile has to be in mixed format (i.e. DOS drive but no backslashes) and with a space instead of the usual semicolon as separator?
The reason I use paths with forward slashes— C:/Project/src
instead of C:\Project\src
—is that
- that's the style returned by
$(abspath <relative-path>)
, and sh.exe
is in the path andmake
uses that to invoke recipes, so all backslashes would have to be escaped, which is a nightmare especially when appending to already-escaped variables' contents, and- I call native and msys/unixy programs alike and now the translation/escaping of paths would have to be program-specific, which is another headache. Hence the use of
mingw32-make
instead of regularmake
.
Why is this list not separated by semi-colons? Because it's actually my INCLUDES
variable that is then processed using $(INCLUDES:%=-I%)
in the sub-Makefile. It's a regular list of strings separated by whitespace, which is very common in Makefiles. The paths are actually also quoted ("C:/Project/Name/src"), but that does not make a difference to this bug and I left it out for brevity.
I'm not quite sure how we can address your scenario without re-breaking the fix where, say, /c/Program Files was considered not to be a path.
I'm not sure I follow, because wouldn't it have to be /c/Program\ Files
anyway in a unixy list of paths, e.g. /c/Program\ Files/Git/bin:/c/Program\ Files/GnuPG/bin
? In any case, my use case is really a very common use case when using hierarchical Makefiles, so this will break a lot of use cases, I'm afraid.
I'd be happy if there was a (possibly separate) environment variable that disables this behavior, seeing as even MSYS2_ARG_CONV_EXCL
has no effect.
from msys2-runtime.
I'd be happy if there was a (possibly separate) environment variable that disables this behavior, seeing as even
MSYS2_ARG_CONV_EXCL
has no effect.
I think MSYS2_ENV_CONV_EXCL
is what you are looking for here: https://www.msys2.org/docs/filesystem-paths/#environment-variables
That doesn't negate this issue though, this does seem like a common case to me, at least for a user of mingw32-make.
from msys2-runtime.
I think MSYS2_ENV_CONV_EXCL is what you are looking for
Wow, I wasn't even aware that msys2 did that. Thanks for pointing this out :)
from msys2-runtime.
Related Issues (20)
- Path conversions in cpp macros are broken HOT 2
- kill() / signal() doesn't really work. HOT 12
- dcrt0.cc: impossible to pass double quotes to application if noglob is enabled
- Regressions with the terminal alternate screen in msys2-runtime 3.3.6-5 HOT 13
- isdigit macro in <ctype.h> triggers -Wchar-subscripts when expanded in user code HOT 4
- Regressions after pathconv-adjustments(3.4.10-4) HOT 2
- I suggest to add this x86_64-msys target to gcc itself HOT 3
- Copying and moving a symlink to another FS fails if the target is relative
- Fallout from pathconf changes
- Error found in compilation from binutils HOT 1
- Is it possible to increase program execution speed by caching the result of path conversion HOT 1
- Investigate why cygdrives don't show up with listdir HOT 4
- mintty leaks handles when enable_pcon=true (ConPTY) HOT 9
- Flushing stdin doesn't seem to work HOT 3
- msys2-runtime-3.3 binaries no longer work HOT 3
- In msys2-runtime 3.4.10, an external command no longer recognizes files in the current directory. HOT 5
- read after select blocks for pipe to external program when running MSYS program in UCRT64 HOT 8
- ls/stat on OneDrive causes download of files HOT 7
- Java Classpath Broken HOT 8
- Regression from pathconv changes HOT 24
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from msys2-runtime.