Tools - Table Of Contents
This document serves as a table of contents, for the documentation on the Orange toolchain.
General tools compile or assemble code, and manage the resulting object files.
- OCC is an optimizing x86 C compiler.
- OAsm is an x86 assembler. It uses a syntax that is very similar to the Netwide Assembler (NASM)
- OLib documentation is an object file librarian.
- OLink documentation - object file linker.
Linker Postprocessing Tools
Linker postprocessing tools take the linker output, and make some sort of device or OS-specific binary image that serves as the final executable image.
- DLHex is the utility to make hex and binary files, for ROM-based images
- DLMZ is the utility to make 16-bit MSDOS executables.
- DLLE is the utility to make 32-bit MSDOS executables that aren't windows compatible.
- DLPE is the utility to make Windows 32-bit executables.
Utilities are external utilites that aren't generally needed for developing programs, but are somewhat useful.
- OCPP is a C and assembly language preprocessor. It understands C89, C99, and OAsm preprocessor directive syntaxes.
- OGrep looks for regular expressions within source code files.
- OMake is a make utility similar to GNU make.
- onm dumps the symbols from object files
WIN32 Specific tools
WIN32 specific tools are tools that aid in the development of WIN32 programs.
- OImpLib is a WIN32 import librarian.
- ORC is a WIN32 resource compiler.
- Coff2IEEE converts import libraries from the COFF format to the Orange C format.
- OBRC Orange C Browse Compiler
- OCCPR Orange C Code Completion compiler
The tools come with configuration files that set up their run-time enviroment. These are automatically read relative to the binaries, therefore only the OrangeC bin directory must be on PATH.
For example, if the tools are installed in c:\orangec, the following command line command is enough to set up the OrangeC environment:
There is also an ORANGEC environment variable. Usually it doesn't need to be set, but if you have multiple installations of orange c on the path you may want to set it to avoid ambiguity. It is set to the OrangeC root directory: