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
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
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
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?
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
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:
ASDF should run correctly under cygwin.
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
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.
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