[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OctDev] isunix() returns 1 under cygwin

From: Quentin Spencer
Subject: Re: [OctDev] isunix() returns 1 under cygwin
Date: Tue, 27 Dec 2005 08:10:56 -0600
User-agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929)

William Poetra Yoga Hadisoeseno wrote:

On 12/27/05, Andy Adler <address@hidden> wrote:
The semantics of 'isunix' depends on what you mean by UNIX.
Strictly speaking, only certain well defined OSes are UNIX. Linux,
for example, is not.

On the other hand, maybe UNIX means OSes that behave like
UNIX in most ways. cygwin has UNIX process semantics
(ie. fork) and file semantics (symlinks, select on files, etc.)

So, is cygwin UNIX? Clearly, a mingwin octave is not unix.

Maybe isunix should make a specific test.

In Octave 2.9.4, isunix() is implemented as

function retval = isunix ()

 if (nargin == 0)
   retval = octave_config_info ("unix");
   usage ("isunix ()");


AFAIK, it returns 1 on Cygwin (I know this by reading the sources, so
I'm not very sure)

If you look at the contents of octave_config_info, I think there are other things you could use to extract the system type. On my linux box, I see "unix = 1" and "windows = 0". I'm guessing that under cygwin you get "unix = 1" and "windows = 1", so maybe testing octave_config_info("windows") will always give you the correct answer whether octave was built in cygwin or mingw. If all else fails, you could try parsing octave_config_info("canonical_host_type"), which usually contains "linux" on linux systems and "cygwin" (if I remember correctly) on cygwin.


Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]