Version 16 (modified by 15 years ago) ( diff ) | ,
---|
Building FileManager/2 (FM/2)
This document explains how to build FM/2 from source.
Getting the Toolchain
The following tools are currently used to build the FM/2 binaries
- OpenWatcom v1.6 or newer should work. There are no known special setup requirements.
- We are now using wipfc.exe which is included in OpenWatcom 1.8 or newer. If you have an earlier version of OpenWatcom, then define and set and environment variable, SET USER_IPFC=1, to force the build to use ipfc.exe.
- We have converted to using the OpenWatcom OS/2 Toolkit. Ensure that your build environment has paths to the OpenWatcom Toolkit ahead of those for IBM's Toolkit. (The IBM Toolkit is on your eComStation CD#2 and you may want a copy of the IBM Toolkit installed for the documentation included in it.)
- We are now using wrc.exe as the resource compiler. It will be part of OpenWatcom 1.8 or newer. If you have an earlier version of OpenWatcom, the version you want is presently available here.
- If you need to use RC.EXE instead of WRC.EXE (recommended) please use the following version:
12-18-97 6:01 868,000 0 RC.EXE
which reports itself as
IBM RC (Resource Compiler) Version 5.00.002 Dec 18 1997
and it is available from Toolkit update for Mozilla
- If you need to use RC.EXE instead of WRC.EXE (recommended) please use the following version:
- lxlite LX compressor. You can get LXLITE.EXE from lxlite from Hobbes
Building the Executables
Use Subversion to pull a copy of the source code distribution into your client workspace. See Getting the Sources for instructions.
The build commands must be run from top directory of your Subversion workspace. The directory will contain the top level makefile.
Build the release version with
set HIMEM= set DEBUG= set FORTIFY= set USE_RC= wmake
The set statements may be omitted if you have not defined the variables in the environment.
Build the debug version with
wmake DEBUG=1
or
set DEBUG=1 set FORTIFY=1 wmake
When switching between debug and release builds, use the wmake -a switch to force all files to be rebuilt. The current makefiles can not detect a change in the value of the DEBUG variable and will not regenerate files that depend on the DEBUG setting without some assistance.
Once you are familiar with the build process, you can speed up the switch by deleting fm3dll.lrf and the .obj files that you want rebuilt. This will give wmake enough information to do a proper rebuild without the -a switch.
Build options such as DEBUG and FORTIFY may be specified either in the environment or on the command line. Choose one method and use it consistently or you may get unexpected results.
The build outputs are:
- av2.exe
- databar.exe
- dirsize.exe
- eas.exe
- fm3.exe
- fm4.exe
- global.exe
- ini.exe
- killproc.exe
- sysinfo.exe
- undel.exe
- vcollect.exe
- vdir.exe
- viewinfs.exe
- vtree.exe
- dll\fm3dll.dll
- dll\fm3res.dll
- dll\fm3res.str
- dll\ipf\fm3.hlp
- internal\mkstr.exe
Compressing Dlls and Exes
Lxlite.exe needs to be in a directory listed in the PATH statement of your config.sys or build enviroment cmd file.
To compress the executables run
wmake lxlite
Packaging a Release
FM/2 is released as a WarpIN package.
The basic process is
wmake wpi
See WPIBuild for more details.
Building, Compressing, and Packaging with a CMD Script
Open a text editor and add the following lines
set debug= wmake all && wmake lxlite && wmake wpi
Save the file naming it possibly Build_FM2.cmd. Copy the file to the root of your fm/2 workspace. The script must be run from this directory or it will not find the required files. After the script finishes, open the warpin subdirectory and you should find the WarpIN file in this directory.
Build options
HIMEM
If not defined, fm/2 will be built to use low memory only. If defined, fm/2 will use upper memory for both code and data.
DEBUG
If not defined, a release build will be built. If defined a debug build with be built. Debug builds include support for symbolic debugging.
WARNALL
If not defined, do default compile-time error checking. If defined, do more compile-time error checking. Errors reported by WARNALL are rarely a problem, but it is recommend that WARNALL be used before releasing a production binary.
FORTIFY
If not defined FORTIFY support is omitted. If defined FORTIFY support is enabled. FORTIFY added runtime heap corruption and leak checking. Be sure to use wmake -a when changing this option.
USE_RC
If not defined, build with wrc.exe. If defined, build with rc.exe. wrc.exe is the preferred resource compiler.
USE_IPFC
If not defined, build with wipfc.exe. If defined, build with ipfc.exe. wipfc.exe is the preferred help compiler.