Tools - Table Of Contents
This document serves as a table of contents, for the documentation on the Orange toolchain.
General Tools
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
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
- ieeeconvert convert object files between binary and ascii formats
Compiler wrappers
Compiler wrappers are wrappers that convert the command line for other compilers to a format that OCC can use. Currently we support the basic tools from GCC and MSVC as wrappers.
GCC
MSVC
- clocc wrapper for the cl.exe command line
- libocc wrapper for the lib.exe command line
- linkocc wrapper for the link.exe command line
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
Debugging without a debugger
- lsdbghelper.dll is used to create a stack trace
Tools Setup
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:
PATH=c:\\orangec\\bin;%PATH%
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:
set ORANGEC=c:\\orangec