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