Cross compiling to other operating systems from linux (or un*x) using gcc
Compiled by Mark Whitis (whitis@freelabs.com).
Why this page?
I am starting this page to collect and disseminate information
related primarly to using linux (and un*x in general) as
a cross development platform for other operating systems.
I am hoping that other people with similar interests will
help me collect some of this information.
Red Hat RPMs are particularly encouraged. So are installation scripts
which detail how to add a particular cross compiling ability to
a pre installed gcc installation.
Here are some suggestions for better installation scripts:
Links to emulators are also encouraged.
Links sorted by target OS:
General purpose (Deskhog/laptop) Operating Systems
WinCE (Windows CE)
MSDOS - 386/486/586/686, Pentium (P5), Pentium Pro (P6), and compatibles.
DJ Delorie has ported gcc to MSDOS on 386 and higher processors.
Some information on how to cross compile from a Linux or unix
system is availible at:
MSDOS - 88/86/286
Microsoft Windows 3.1
Microsoft Windows 95
Cygnus GNU-Win32 is a port of gcc to the windows NT and Windows 95 platform.
- GNU-Win32
provides a more unix like environment and is used to
compile traditional unix programs under windows NT (intel) or 95.
Adds fork, spawn, signals, select, sockets, etc.
- Minimalist GNU-Win32 is a derivative of GNU-Win32 which provides a more windoze flavored
environment without the unix enhancements.
Microsoft Windows NT
- See Windows 95 above for GNU-Win32.
- Unix to NT Resource Center
has many of the tools needed for unix gurus who are trapped in an
NT environment.
Macintosh OS - Power PC
Macintosh OS - 68K
-
ARDI
sells a package called Executor which emulates a 68K processor and
the MacOS for $249. It runs under Linux, MS-DOS (including Windows 3.x,
Windows 95, and OS/2), and Nextstep and the license permits you
to run on any or all of those platforms on a single cpu. A demo
is availible for download. Compatibility is poor; Executor uses
no code from apple and emulates only a portion of System 7.0.
As far as I know, ARDI does not supply source code for this
product.
-
iX
article
describing the Executor Macintosh emulator and its limitations
-
MAE is
Apple's Mac emulator for
Sun and HP un*x machines. MAE uses most of the actual code from the Mac OS,
which is a big plus for compatibility. Unfortunately, it only runs
on machines with ass-backwards (big-endian) byte order and Apple's
code is allegedly so horrible that it is unlikely that this will change.
There is about zero probability that apple supplies source code to
this product.
OS/2
EMX
is Eberhard Mattes's OS/2 port of the GNU development environment.
Note that this runs under OS/2. Most of the pieces you need
to make a cross compiler are probably there.
GCC can already cross compile from one unix platform to another
(with some hiccups). GCC can already be used for many embedded
system applications on many different target platforms if you
do not need OS functions or C libraries.
Amiga
"Geek Gadgets
provides virtually all the tools you need to get started programming on these platforms, including C,
C++, Fortran, and ADA compilers, assembler, linker, EMACS editor, "make", source code control systems (rcs
& cvs), text and file utilities, GNU debugger, text formatters (groff & TeX) and many more. It also provides a
port of the X Window System (X11 R6.3). Have a look at the list of available packages for details. "
Handheld/pocket computers, palmtops, HPC's, and PDA's
MSDOS + HPLX extensions (for HP200LX, HP100LX, HP95LX platforms)
PalmOS (for USR Pilot)
There is a port of GCC for the pilot
Newton OS
MagicCAP
8 and 16 bit microprocessors
6502 Family
-
CC65
C compiler with assembler, a linker, and archiver. The C compiler
supports pretty much full ANSI C except for floating point. A partial
standard C library is also included; system specific functions support
various common 6502 platforms.
-
VICE Commodore (6502) emulator
1802 Family
Cosmac Elf page
has a TinyELF emulator for PalmOS which emulates the Cosmac ELF and ELF II,
complete with bitmapped graphics. Presumably, you could run this under
Xcopilot (even with the overhead of double emulation, it will probably be
as fast or faster than the old 1802 machines).
Microcontrollers
PIC
The GNUPIC page
lists development tools for PIC chips.
Game machines
Atari ST
It appears that there is a
port of GCC
to the atari ST platform.
Misc.
Alternate standard C libraries
I am also interested in alternative standard C libraries for gcc
(for linux and other platforms) which are not tainted by the GPL.
I have not gotten around to writing a page devoted to why I
despise the GPL even though I am very much in favor of distributing
source code (and have advocated the latter at considerable personal expense).
In the mean time, before you release software under GPL, remember that
your decision to do so is IRREVERSIBLE. You can always release software
under BSD style or Artistic License style now and change to GPL if you
really want to later after you have studied the fine print.
I much prefer BSD style copyrights or Larry Wall's Artistic License.
Ports of gcc which run under other platforms
Many of these ports contain most of the necessary pieces.
They will be filed under the appropriate platform above.
Emulators
These will be listed under the apporopriate platform above.
There are a lot of emulators I have not listed above listed on
Red Hat's Linux Applications and Utilities Page.
Misc. Links
How to contribute:
For now, just send me an email message with the URL and a brief description.
If you want to format it as a valid HTML fragment, great; otherwise,
I will. If you want to contribute something which is not already
on the net, email it to me.
Senior Engineer for hire
Software Development
- Electronic Design
- Embedded Systems
- Device Drivers
- System/Network Administration and Security
- Motor Control, RobotCNC
- Linux/Un*x
- 25+ years experience
The author of these pages is looking for a new gig.
[RESUME]
|
|
Engineers and electronic hobbyists: The new
Open Symbol Project
is creating open schematic symbols and PCB footprints
for a variety of different CAD packages.
|
All email messages received must pass the
turing test or they will be considered SPAM. If it could have been written
by a machine, it was.
Under no circumstances are you to email me with questions regarding windoze,
any other microsoft operating system or application, or any software which
runs under any form of windoze.
*