[M3devel] Interix
Jay K
jay.krell at cornell.edu
Tue Dec 1 11:06:46 CET 2009
I should point out that, like NT386, NT386GNU, NT386MINGNU, Interix is also in reality a few variables that can be mixed/matched.
You can use either gcc or Visual C++ compiler and linker, and either the gcc backend or the integrated backend.
In Interix, gcc is gcc (3.x or possibly 4.2), and cc is a wrapper around Visual C++ cl/link.
They both work. For most code, indistinguishably, though definitely a little bit different feature sets.
Interix does /not/, at least on XP, provide the other variables like C runtime, threading library, GUI library.
After XP they do support "mixed mode" -- access to Win32 -- so then those choices would come back maybe.
To help cc work, you can point $C89_COMPILER and $C89_LINKER at Visual C++ compiler/linker.
(Similarly, you know, Intel has a compiler you can use on as I understand, Windows, Linux, MacOSX, x86, amd64, ia64?. I'm not sure it gets as much use as either gcc or Visual C++, but it is out there.)
- Jay
From: jay.krell at cornell.edu
To: hosking at cs.purdue.edu; jkrell at elego.de
CC: m3devel at elegosoft.com
Subject: RE: [M3devel] [M3commit] CVS Update: cm3
Date: Mon, 30 Nov 2009 18:15:49 +0000
Interix is Posix (mostly) on NT, with fast fork.
Cygwin in comparison is very slow.
However SIGINFO is not available. Nor is "direct suspend" using a pthread_t I believe.
The older Interix version on XP does not allow access to any Win32 functions.
Newer versions do.
This does seem to be a pretty useful platfom.
Gui should be available too, but I have to work around some problem.
- Jay
From: hosking at cs.purdue.edu
Date: Mon, 30 Nov 2009 09:48:48 -0500
To: jkrell at elego.de
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] [M3commit] CVS Update: cm3
This whole interix thing is pretty messy. Why do we care? If you are on Windows just use Windows threads. No need to pollute the pthreads code base with unnecessary complications for weird hybrids.
On 30 Nov 2009, at 13:03, Jay Krell wrote:
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 09/11/30 13:03:07
Modified files:
cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3
Log message:
keep two thread handles
what to call them is unclear
here we ahve:
joinHandle
suspendResumeHandle
aka:
pthread
ntthread
on all but Interix (and possibly Cygwin), they are equivalent,
either the result of pthread_create or pthread_self
on Interix, once is pthread_create/self, the other is a kernel handle
for suspend/resume
alternate names welcome
the intent seems hoky, but helps much
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091201/e4114fbd/attachment-0001.html>
More information about the M3devel
mailing list