[comp.unix.sysv386] DOS cross-development under SCO Unix?

rbraun@spdcc.COM (Rich Braun) (03/16/91)

My company does much of its C source code development under DOS, and is
currently switching over to a DOS extender product to break the 640K
barrier.

Recently I started to play with the DOS cross-development support provided
by SCO, and I must say I'm pleasantly surprised at how easy it is to set
up and at how much faster the compiler and linker run under Unix than
under DOS.  (Microsoft C running in 386 native mode, producing code for
an 8086, compiles a whole lot faster than it does in 8086 mode.)

Now the question I have for SCO and third-party vendors is this:  is there
any way to cross-develop under Unix for an extended DOS target
environment?

This is not a particularly urgent need for us, but it's oh-so-much-nicer
to use the Unix development environment than the DOS environment,
particularly considering the speedup of the 'make' process.  And given
our shift to DOS extenders, we cannot make much use of the SCO cross-
development environment as it stands today.

-rich

bill@camco.Celestial.COM (Bill Campbell) (03/17/91)

In <6923@spdcc.SPDCC.COM> rbraun@spdcc.COM (Rich Braun) writes:

>My company does much of its C source code development under DOS, and is
>currently switching over to a DOS extender product to break the 640K
>barrier.

>Recently I started to play with the DOS cross-development support provided
>by SCO, and I must say I'm pleasantly surprised at how easy it is to set
>up and at how much faster the compiler and linker run under Unix than
>under DOS.  (Microsoft C running in 386 native mode, producing code for
>an 8086, compiles a whole lot faster than it does in 8086 mode.)

>Now the question I have for SCO and third-party vendors is this:  is there
>any way to cross-develop under Unix for an extended DOS target
>environment?

>This is not a particularly urgent need for us, but it's oh-so-much-nicer
>to use the Unix development environment than the DOS environment,
>particularly considering the speedup of the 'make' process.  And given
>our shift to DOS extenders, we cannot make much use of the SCO cross-
>development environment as it stands today.

>-rich

I am not real familiar with ``DOS extenders'' are these something
like Hamburger Helper?

More seriously I developed the conversion program for Microrim
that converts old versions of R:BASE applications to R:BASE 3.x.
I did this entirely on SCO Xenix (originally 2.2.4) and the
ability to use the Unix tools was invaluable to me since I break
out in a violent rash whenever I get in the same room with a DOS
machine.  I did all the development and testing under Xenix and
would do a final compile with the -dos option to the compile to
create the .exe file.

The biggest problem I had was when Microrim wanted to be able to
compile the source under DOS was that I had to make all my
include library files DOS-compliant file names.  I had never
worried about what I put in front of the .h and .c and several
files (like termcodes.h) had to be shortened.  It also made me
appreciate how kludgey the Microsoft library and make are.
-- 
INTERNET:  bill@Celestial.COM   Bill Campbell; Celestial Software
UUCP:   ...!thebes!camco!bill   6641 East Mercer Way
             uunet!camco!bill   Mercer Island, WA 98040; (206) 947-5591

rbraun@spdcc.COM (Rich Braun) (03/22/91)

bill@camco.Celestial.COM (Bill Campbell) writes:
>I am not real familiar with ``DOS extenders'' are these something
>like Hamburger Helper?

Heh heh, I suppose so.  I just got a piece of junk mail which reminded
me of the Unix/DOS wars.  It starts out "The NRA has 3 million members.
The HRCF has 30,000 members.  Does this mean 100 times as many people
are willing to fight for their right to own rifles as are willing to
fight for gay rights?"

The numbers are about 10 times higher for DOS and Unix:  there are
something like 30 million DOS systems in the world and probably under
1 million Unices.  But like the NRA, DOS isn't going away.  Hence the
invention of the DOS extender.

I'm not sure what all the DOS extender products look like, but ideally
they'd allow you to compile a program using 386 object code (rather than
8088) and a nonsegmented 32-bit (4 gigabyte) address space.  The system
interface to DOS then has to put parameters into the 640K low-memory
space and switch the processor into 8088 compatibility mode every time
you make a system call.

A number of compiler companies and others are creating these kinds of
products.  Xenix and Unix systems running on a 386 often provide
cross-compilation support (as compared, say, to using a DOS-native
product under a DOS emulator like VP/ix or Merge), but I don't know of
any which provide the extended address space characteristics needed to
port practically any large program to DOS.

-rich