[comp.windows.interviews] porting IV to other systems

fogel@mongo.uswest.com (Steve Fogel) (05/23/91)

Bert Driehuis (driehuis@ooc.uva.nl) asks if the low-level graphics layers of
IV have been re-written on other systems, thus facilitating an easier port. I
have seen some comments about this come by before and I think that someone
is porting to PM. I assume that those parties will answer Bert's question.

I think that there is a broader issue concerning portability. It seems that a
great deal of attention was given to isolating, and in effect abstracting, the
low-level display control in the IV library. This helps in porting to other
window systems. But how well has the file system been isolated? IV seems to be
quite dependent on UNIX. Porting to Windows, MacOS, OS/2 (ugh), or even VMS, is
not only a port to another window system, but in fact is a port to another
SYSTEM altogether (I have not studied version 3.0, so please ignore this 
message if this has already been taken care of.)

Other questions arise: what other assumptions are made by the IV library about
the system it's on? What other dependencies can be "abstracted out" so that
porting to ANYTHING becomes easier and more feasible? Is there a way to
automatically handle one vs. two vs. three button mouses with some sort of low
level mapping? Or do applications have to worry about that? Are there reasons
to abstract the keyboard?

The idea here is to isolate those portions of the IV library that are 
dependant on a specific platform. Abstractions (a la abstract base classes or
global functions) can then be defined for these low-level services and then
implemented for a variety of platforms. The three abstractions that seem
immediately obvious are the display interaction, the file system, and the mouse
(part of the display abstraction?). A real question to think about is "what are
the assumptions we make about the platform that make it hard to port the 
library"?

Perhaps version 4.0 ... :-)

Thank you for your time.

Steven Fogel
fogel@uswest.com
consulting at U S WEST Advanced Technologies
(303) 541-6296

das15@cunixa.cc.columbia.edu (Douglas A Scott) (05/26/91)

In article <9105250439.AA01683@milo.mit.edu> eichin@MIT.EDU ("Mark W. Eichin") writes:
>Steve Fogel writes:
>>>. But how well has the file system been isolated? IV seems to be
>>> quite dependent on UNIX.
>	I've tried building 3.0beta on a few systems with a few
>compilers (current score: 0 for 2 - CC2.0 over VAX BSD pcc: pcc blows
>up on a few files, some internal table blows out; gcc-1.93 (early 2.0)
>on the NeXT - only about 1/4 of libg++ works, so I'm not even trying

[remainder of article deleted]

Has anyone successfully ported 2.6 to the NeXT (running 2.0 or 2.1)?  I am
extremely interested in hearing from you if you have.  I had no trouble
building libg++ under NeXT OS 2.1, by the way--at least so it seems.

Thanks!!

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Douglas Scott          Columbia University Computer Music Studio 
Internet: <doug@woof.columbia.edu> <das15@cunixa.cc.columbia.edu>
UUCP: ...!columbia!woof!zardoz!doug          Phone: (703)765-4771