> Is it possible to avoid installing two SDKs and just install the most recent
> one but still compile different products for different devices? It looks as
> if the SDKs all have the same code and upgrades or device enhancements are
> identified by way of protominor statements and such.
I have both retail SDKs (Desktop/Zoomer and OmniGo) installed on my machine, and
I have "sort of" mixed them in a way that seems to work quite well. This setup
is rather large (121 MB), as it involves nearly two complete SDKs, but some of
the crucial files are mixed to get "the best of both worlds", i.e. all of the
files in the most recent versions.
Here's a rough outline of the tree I'm using...
\PCGEOS
\BIN
\INCLUDE
\TCL
\TECHDOCS
\TOOLS
\PLATFORM
\DESKTOP
\OMNIGO
BIN, TCL, TECHDOCS and TOOLS only contain files from the respective directories
of the latest SDK (i.e. the OmniGo one). [SWAT.CFG must be modified for syslib
to point to \PCGEOS\TCL regardless of which ROOT_DIR setting I'm using...]
INCLUDE contains a mixture of files from the OmniGo and DT/Z SDKs, which is
created by copying the more recent files (OG) over the older ones. This is
actually the better way, because there are a number of safeguards in the system
(protocol numbers in LDF and PLT files) to keep you from accidentally using
features not present on a platform you are developing for - OTOH, you can still
benefit from the most recent bug fixes in LDF files... I have not experienced
any problems with overwriting old versions of the .MK files.
While compiling, ROOT_DIR points to \PCGEOS, so that all the include files are
found.
DESKTOP and OMNIGO each contain full copies of APPL, DRIVER, INCLUDE, LIBRARY,
LOADER from the respective SDK versions. This is where the real disk space hogs
are... Anyway, doing so enables me to debug application on all three possible
target types - I normally use the 2.01 EC Desktop for routine testing, and
occasionally switch to OmniGo EC/NC or "the real thing" for specific problems...
Swat is started by a batch job which sets the ROOT_DIR variable to either
\PLATFORM\DESKTOP or \PLATFORM\OMNIGO, depending on the type of target I want to
attach to. In addition, whenever I switch targets, all the SYMDIR.* files
created by SWAT are deleted by the batch file to avoid re-using symbol files
from the wrong tree.
In addition, I'm using the LOCAL_ROOT environment variable which points to a
tree on a separate drive duplicating the structure of one of the \PLATFORM
subdirectories (in other words: APPL, DRIVER, LIBRARIES etc. to make things
easier to find for SWAT). This way, I know that my backups can completely ignore
all the files in the main \PCGEOS directory, because they can all be restored
from CD, while most files under LOCAL_ROOT are "precious".
Looking back at this description, I must admit that it looks quite complex at
first. but once the batch files and environment variables are set up, it is
completely transparent to the user. (I'm doing this under OS/2, so I can hide
different environment settings and batch job arguments behind " Swat for Desktop
EC"-like icons - the same should be possible under Win95.)
Still, I would consider it a good idea for the SDK CDs to be cleaned up in a way
that made installing multiple target setups easier without having to modify the
suggest directory tree...
ciao marcus