unix -> pc port tools
K. Richard Magill
rich at rexago1.UUCP
Thu Jan 23 06:34:25 AEST 1986
My original message:
> Could someone who has done a bit of UNIX to pc porting contact me, please?
> I would like to know what libraries & compilers you use.
Summary of responses:
We have ported a number of programs/systems between UNIX/XENIX and the pc.
Curses on the pc was accomplished with the Lattice curses package. This
package provides the majority of the functionality and maintains the same
function calls. There are a few functions missing and some of the existing
functions perform slightly different (i.e. clear vs. erase). Some minor
surgery was performed on the screen I/O to stop the "snow" during refresh
on color monitors.
With a small number of "ifdef's", the ports were fairly straight forward.
----
We use Wizard C. It is a SYS III look alike with long identifiers, enums,
and structure assignments. It also has a fairly complete implementation
of the standard SYS III libraries. It also comes with sources to the
libraries. The only problem we have had are bugs that crop up in the
compiler but Wizard is fast and responsive in fixing them. For an extra
$100 we have gotten almost monthly updates.
Second (distant) choice would be MicroSoft C.
We are porting and supporting about 150,000 lines of C on BSD 4.x,
SYS III, and MS-DOS.
-----
I have no particular info on curses emulation packages for the PC, but I can
throw in a plug for Microsoft C Version 3.00. It runs fairly fast, and has
the most complete set of unix library calls and system calls I've seen in a
PC package. I ported a large amount of code from a 68k environment, and with
a few exceptions, it all ran first time.
-----
I have recently ported the troll DBMS (and some of it's related
tools, including a version of curses) to the PC (MSDOS 2.x). I
started out using the old version of the Microsoft compiler
(s.03), but it had so many annoying UNIX incompatibilities that
I looked for something better. The new Microsoft compiler
(version 3.0) is the best I found. I have found very few
incompatibilities in well over 20000 lines of UNIX based code.
There were, of course, changes that had to be made because of
the different environment, but this, too, was eased by the
very UNIX compatible library provided.
Here are a few of the problems I had:
1. A minor problem in stdio.h resulted in errors if it
was included more than once.
2. File names couldn't have multiple '.'s in them (not
really a compiler problem).
3. In the large data model, I experienced some
'casting' errors on expressions that worked fine
with the small data model.
4. Reading of directories cannot be done in the UNIX
fashion.
Most of the other problems were very environment dependent (e.g.
signal catching, pipes, multiple process, file name size).
-----
Me again:
The man at Wizard that I spoke to told me they were now very nearly
SV compatible.
Sounds like it doesn't much matter which compiler or library set I use.
Based on the above recommendation, the C compiler review in Dr. Dobbs,
and a phone call to Wizard Systems I've ordered a Wizard. If you're
interested in this compiler I'll tell you where to get it for ~300.
K. Richard Magill
...decvax!cwruecmp!rexago1
"I'm not crazy. I just don't give a f***."
More information about the Comp.lang.c
mailing list