To provide full compatibility with all Unix flavors the project scripts were converted to use
cygwin Bourne shell product by Redhat Inc. instead of MKS. Mortis Kern Korn Shell is expensive
and requires a license per machine. Cygwin is available for download from www.cywin.com for
free.
To install CYGWIN you have to use the Internet Explorer and go to "www.cygwin.com" and
install the Latest cygwin from the web ("http://www.cygwin.com/setup.exe"). Follow the
instruchtions and just accept all of the defaults and that should install cygwin in
c:\cygwin directory.
Once the installation is complete
copy the "profile" shell script file from \dependencies\cygwin to your c:\cygwin\etc.
To make the drive mappings match your project directory structure you would need to define
the following SYSTEM VARIABLES in your environment by right clicking on "My Computer" Icon on your desktop
and following order:
My Computer -> Properties -> Advanced -> Environment Variables -> New...
OPTIONAL SHORT HAND PARAMETERS
==============================
The parameters DEVDRV_* below are short hand parameters for substituing the long directory
structure names in CCM. The build woks fine as long as you go to the root directory of your
project and run mk-ca-all or mk-cai-all or from the root change dir to shrc and use individual
build scripts for building the components.
[/cygwin/c] cd dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src> mk-ca-all
or
[/cygwin/c] cd dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src] cd shsrc
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src] mk-sss-dw clean all
To use the short hand drives and avoid having to
type long names to go the project root the following parameters in your environment should be
set to the root of the projects you have. You can use up to 5 drives by default. For more drives
you would need to edit the "/etc/profile" shell script and add more DEVDRV_* parameters to satisfy
your needs. If you have less than 5 drives just set as many parameters as you need.
define the following parameters as it applies to your environment like the example below:
DEVDRV_I = c:/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
DEVDRV_J = c:/dev/SecretStore_src~cameron3/SecretStore_src
DEVDRV_K = c:/dev/SecretStore_src~cameron2/SecretStore_src
DEVDRV_L = c:/dev/SecretStore_doc~cameron_ss20/SecretStore_doc
DEVDRV_M = c:/dev/SecretStore_doc~cameron/SecretStore_doc
After defining your project directory variables run cygwin shell and your drives will automatically
be mapped to your build environment. Then, from the root of the project or shsrc directory under the
root of the project "cygwin/j" or "cygwin/j/shsrc" run the script as it was explained above. Use the
build scripts to build components.
The example above will become the following.
[/cygwin/j] mk-ca-all
or
cd c:/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
[/cygwin/j] cd shsrc
[/cygwin/j] mk-sss-dw clean all
This shell also allows for ssh sessions to Unix and Linux servers for build and development
using our Unix build scripts.
LOOK AT THE LIST OF PROJECT VARIABLES BELOW
*********** NOTE ABOUT GNU DIRECTORY UNDER CYGWIN *********************
SecretStore project uses GNU Make for building components. GNU Make is a component of
cygwin but it is not downloaded by default so we supply a copy of it here in the gnu direcotry
under cygwin. If so desired during installation you can add extra components such as GNU Make
to be downloaded with cygwin. This would require a download from web site and install from local
cygwin directory will only supply the default components of the Bourn Shell.
cvpackz.exe is not a components of the cygwin product but it is required for
NetWare builds so it is supplied here.
Paths to cvpackz.exe and GNU make.exe should be defined thru environment variables as described
in \make\tools.mak.
(variable is GNU and by default it should be set to "j:/dependencies/cygwin/gnu/" assuming that
j:/ is the project root directory).
#
# Path to the Continuus configuration management tool (necessary for build
# manager builds only).
# example: CONTINUUS=c:/ccm51/bin/
#
CONTINUUS
#
# Path to the configuration management build area (necessary for build
# manager builds only). Defaults to build manager's machine.
# example: CCM_WORK_AREA=c:/SecretStore_main~PREP/SecretStore_main/
#
CCM_WORK_AREA
#
# Path to the tools directory where WATCOM and MSVC compilers
# are installed.
# example: TOOLS=c:/tools/
#
TOOLS
#
# Path to the open source gnu make utility and cvpackz.
# example: GNU=j:/dependencies/cygwin/gnu/
#
GNU
#
# Path to Microsoft's Visual C++ compiler main directory.
# example: MSC=$(TOOLS)msc6.00/vc/
#
MSC
#
# Path to Microsoft's Visual Studio common components directory. On the
# network (hence, on many developer's machines) this has been copied to
# the same location as the Visual C++ executables. However, Microsoft's
# installation puts it in the Visual Studio common components directory
# structure. Either way you installed it, it should still work.
# example: MSVS = $(MSC)
#
MSVS
#
# Path to Watcom's C/C++ compiler for building NLMs.
# example: WATCOM=$(TOOLS)wcc/v11.0a/
#
WATCOM
Updated by: Cameron Mashayekhi
On: 1/28/2002