CygwinPaltform Identification

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Wed Feb 9 01:46:07 GMT 2022


On 2022-02-08 15:01, julie77793@gmail.com wrote:
> Cygwin doesn't create an environment variable in bash to indicate that the
> platform is Cygwin under Windows.
> This causes compatibility problems when running various tools. Most of my
> issues have been with Python tools running Windows Python.
> I have been addressing this issue by grepping PATH for cygdrive which
> doesn't seem like a very good approach.
> Both msys2 and mingw solve this issue by setting the MSYSTEM environment
> variable which lets tools check that OS=Windows_NT and MSYSTEM=MSYS
> Please add some way of identifying that programs are running under Cygwin.

I have been switching env/OS/arch/triple dependent profile and rc files 
and sections for years with:

64 $ echo $OSTYPE $OS $HOSTTYPE $MACHTYPE
cygwin Windows_NT x86_64 x86_64-unknown-cygwin

32 $ echo $OSTYPE $OS $HOSTTYPE $MACHTYPE
cygwin Windows_NT i686 i686-pc-cygwin

Please note that *only* $OS is exported by default (in the above list), 
so you will have to explicitly export (in profiles) any other shell 
variables you wish to be available to shell subprocesses.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


More information about the Cygwin mailing list