[M3devel] Interix

Randy Coleburn rcoleburn at scires.com
Tue Dec 1 12:01:54 CET 2009


Just out of curiosity, is anyone in the M3 community using or planning to use Interix ?
 
I only plan to use native Windows, not Interix and not Cygwin.
 
If no one wants Interix, perhaps current Interix efforts should be put on hold until the release is completed?
 
Regards,
Randy

>>> Jay K <jay.krell at cornell.edu> 12/1/2009 5:06 AM >>>
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/14bb5e84/attachment-0002.html>


More information about the M3devel mailing list