This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cygwin detection


Couldn't find anything relevant in the archives or the documentation...

I have bash scripts that I want to run identically under Cygwin and 
Linux, which sometimes require the scripts to detect the environment 
and branch accordingly. There are numerous ways to do Cygwin detection, 
but I was wondering what technique should work with the widest audience 
and be most immune to future Cygwin developments.

FWIW, below are various techniques that work for *me* *today*, some of 
which have obvious flaws.

if [ -f /usr/bin/cygwin1.dll ]; then
if [ $CYGWIN_ROOT ]; then
if [ $OSTYPE = cygwin ]; then
if [ $(uname -s | grep -c CYGWIN) -gt 0 ]; then
if [ $(grep -c cygwin <<< ${BASH_VERSINFO[5]}) -gt 0 ]; then
if is_cygwin; then    # where is_cygwin is a locally-built C program
                      # that tests #ifdef __CYGWIN__

--Ken Nellis


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]