![](https://secure.gravatar.com/avatar/36f8c662be54be9df5f17def1e35d47e.jpg?s=120&d=mm&r=g)
Is there some way that a CL implementation can know whether it is running under a Unix-alike like Cygwin or MinGW? If we use RUN-PROGRAM to interrogate the environment, we do so using CMD.exe, so I'm not sure how CMD.EXE would know if it was being run as the grandchild of a bash process. AFAICT Cygwin (and I don't know about MinGW) don't put anything into their environments that I can obviously see. E.g., if I start a lisp inside cygwin and do (GETENV "OS") I just see "Windows_NT". Thanks, r
![](https://secure.gravatar.com/avatar/e731f55e2e1cd6a1dd1f4f1e71035fea.jpg?s=120&d=mm&r=g)
Don't know about the other implementations, but afair ECL puts :cygwin in the *features*. Maybe check, if trivial-features handles cygwin portably? Best regards, Daniel Robert Goldman writes:
Is there some way that a CL implementation can know whether it is running under a Unix-alike like Cygwin or MinGW?
If we use RUN-PROGRAM to interrogate the environment, we do so using CMD.exe, so I'm not sure how CMD.EXE would know if it was being run as the grandchild of a bash process.
AFAICT Cygwin (and I don't know about MinGW) don't put anything into their environments that I can obviously see. E.g., if I start a lisp inside cygwin and do (GETENV "OS") I just see "Windows_NT".
Thanks, r
-- Daniel Kochmański ;; aka jackdaniel | Poznań, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi
![](https://secure.gravatar.com/avatar/36f8c662be54be9df5f17def1e35d47e.jpg?s=120&d=mm&r=g)
On 3/21/16 Mar 21 -3:38 PM, Daniel Kochmański wrote:
Don't know about the other implementations, but afair ECL puts :cygwin in the *features*. Maybe check, if trivial-features handles cygwin portably?
That was a good suggestion, but I'm afraid the answer is "no." No handling of cygwin in trivial-features. Unfortunately, there's also no :CYGWIN feature in *FEATURES*, at least not in the February release I just installed on my VM. Best, r
Best regards, Daniel
Robert Goldman writes:
Is there some way that a CL implementation can know whether it is running under a Unix-alike like Cygwin or MinGW?
If we use RUN-PROGRAM to interrogate the environment, we do so using CMD.exe, so I'm not sure how CMD.EXE would know if it was being run as the grandchild of a bash process.
AFAICT Cygwin (and I don't know about MinGW) don't put anything into their environments that I can obviously see. E.g., if I start a lisp inside cygwin and do (GETENV "OS") I just see "Windows_NT".
Thanks, r
![](https://secure.gravatar.com/avatar/95228fc4dee30be8641c9867cfe7061c.jpg?s=120&d=mm&r=g)
Hello all, 2016-03-21 23:57 GMT+03:00 Robert Goldman <rpgoldman@sift.net>:
On 3/21/16 Mar 21 -3:38 PM, Daniel Kochmański wrote:
Don't know about the other implementations, but afair ECL puts :cygwin in the *features*. Maybe check, if trivial-features handles cygwin portably?
That was a good suggestion, but I'm afraid the answer is "no." No handling of cygwin in trivial-features.
Unfortunately, there's also no :CYGWIN feature in *FEATURES*, at least not in the February release I just installed on my VM.
Just curious, does anyboy know, how many lispers runs Lisp under Cygwin?
![](https://secure.gravatar.com/avatar/36f8c662be54be9df5f17def1e35d47e.jpg?s=120&d=mm&r=g)
On 3/21/16 Mar 21 -4:16 PM, Dmitry Igrishin wrote:
Hello all,
2016-03-21 23:57 GMT+03:00 Robert Goldman <rpgoldman@sift.net <mailto:rpgoldman@sift.net>>:
On 3/21/16 Mar 21 -3:38 PM, Daniel Kochmański wrote: > Don't know about the other implementations, but afair ECL puts :cygwin > in the *features*. Maybe check, if trivial-features handles cygwin > portably?
That was a good suggestion, but I'm afraid the answer is "no." No handling of cygwin in trivial-features.
Unfortunately, there's also no :CYGWIN feature in *FEATURES*, at least not in the February release I just installed on my VM.
Just curious, does anyboy know, how many lispers runs Lisp under Cygwin?
Note that from my POV there are 2 issues here: 1. ASDF should run correctly under cygwin. 2. At the moment, the only way I know of to run the tests on Windows is through Cygwin, since they are based on make and a shell script. It is possible that at least #2 could be eased by running under MinGW, but I have never used MinGW. It sounds like it might not have as many pathname incompatibilities as Cygwin. I don't know if I can install MinGW without breaking my Cygwin install. I'd hate to mess up my (extremely brittle and rickety Windows VM). Any advice (probably off-list would be best) would be much appreciated. thanks, r
![](https://secure.gravatar.com/avatar/e731f55e2e1cd6a1dd1f4f1e71035fea.jpg?s=120&d=mm&r=g)
Hm, I think you may also look for :posix and/or :unix in the *features*, maybe they are present under cygwin. Robert Goldman writes:
On 3/21/16 Mar 21 -4:16 PM, Dmitry Igrishin wrote:
Hello all,
2016-03-21 23:57 GMT+03:00 Robert Goldman <rpgoldman@sift.net <mailto:rpgoldman@sift.net>>:
On 3/21/16 Mar 21 -3:38 PM, Daniel Kochmański wrote: > Don't know about the other implementations, but afair ECL puts :cygwin > in the *features*. Maybe check, if trivial-features handles cygwin > portably?
That was a good suggestion, but I'm afraid the answer is "no." No handling of cygwin in trivial-features.
Unfortunately, there's also no :CYGWIN feature in *FEATURES*, at least not in the February release I just installed on my VM.
Just curious, does anyboy know, how many lispers runs Lisp under Cygwin?
Note that from my POV there are 2 issues here:
1. ASDF should run correctly under cygwin.
2. At the moment, the only way I know of to run the tests on Windows is through Cygwin, since they are based on make and a shell script.
It is possible that at least #2 could be eased by running under MinGW, but I have never used MinGW. It sounds like it might not have as many pathname incompatibilities as Cygwin.
I don't know if I can install MinGW without breaking my Cygwin install. I'd hate to mess up my (extremely brittle and rickety Windows VM). Any advice (probably off-list would be best) would be much appreciated.
thanks, r
-- Daniel Kochmański ;; aka jackdaniel | Poznań, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi
![](https://secure.gravatar.com/avatar/b053ca7abf2716d9df3ce01278d60947.jpg?s=120&d=mm&r=g)
On 2016/3/21 21:15, Robert Goldman wrote:
Is there some way that a CL implementation can know whether it is running under a Unix-alike like Cygwin or MinGW?
Another point to consider in finding the Right Thing here: Since ABCL runs on the JVM and the JVM is a Windows "native" executable, there is no difference for ABCL whether it has been invoked under cygwin or not. Of course, since we have a fair about of specializaion in ABCL's PATHNAME implementation to smooth over the differences between Windows and UNIX representations, notably in the normalization of NAMESTRING results, the problems you are trying to engineer around here don't show up in ABCL from what I can tell. -- "A screaming comes across the sky. It has happened before, but there is nothing to compare to it now."
![](https://secure.gravatar.com/avatar/289e436f110b77324b81e000ca9b1fea.jpg?s=120&d=mm&r=g)
Robert Goldman <rpgoldman@sift.net> writes:
Is there some way that a CL implementation can know whether it is running under a Unix-alike like Cygwin or MinGW?
The OSTYPE environment variable maybe? (in an msys shell): $ echo $OSTYPE msys (in a cygwin shell): $ echo $OSTYPE cygwin Rudi
participants (5)
-
Daniel Kochmański
-
Dmitry Igrishin
-
Mark Evenson
-
Robert Goldman
-
Rudi Schlatte