home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / samples / som / readme.txt < prev    next >
Encoding:
Text File  |  1996-02-16  |  7.8 KB  |  175 lines

  1. #   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994,1996
  2. #   All Rights Reserved
  3. #   Licensed Materials - Property of IBM
  4. #   US Government Users Restricted Rights - Use, duplication or
  5. #   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  6.  
  7.  **********************************************************************
  8.  * DISCLAIMER OF WARRANTIES.
  9.  * The following [enclosed] code is sample code created by IBM
  10.  * Corporation. This sample code is not part of any standard or IBM
  11.  * product and is provided to you solely for the purpose of assisting
  12.  * you in the development of your applications.  The code is provided
  13.  * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
  14.  * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  15.  * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
  16.  * THIS CODE.  IBM shall not be liable for any damages arising out of
  17.  * your use of the sample code, even if they have been advised of the
  18.  * possibility of such damages.
  19.  *
  20.  * DISTRIBUTION.
  21.  * This sample code can be freely distributed, copied, altered, and
  22.  * incorporated into other software, provided that it bears the above
  23.  * Copyright notice and DISCLAIMER intact.
  24.  *
  25.  *
  26.  * %Z% %I% %W% %G% %U% [%H% %T%] 
  27.  **********************************************************************
  28.  
  29. IBM SOMobjects Win32 Toolkit Samples Overview:
  30.  
  31.    DESCRIPTION:
  32.       The samples contained in the subdirectories of this directory are:
  33.  
  34.       somk  - the SOM Run-time Kernel
  35.       somd  - Workstation DSOM
  36.       somem - Event manager
  37.       somi  - the SOM Interface Repository Framework
  38.  
  39.       Please refer to the readme.txt files contained in the subdirectories for
  40.       more information on the sample programs.
  41.  
  42.  
  43.    HOW TO RUN THE PROJECT FROM THE COMMAND LINE:
  44.       To build and run the samples, follow the instructions in the readme.txt 
  45.       for each sample.  In general, the correct bindings must be established 
  46.       for each sample.  This is done for you automatically by the makefiles 
  47.       "vac.mak" supplied with the samples.  The following table outlines 
  48.       which samples use which set of bindings. 
  49.           
  50.  
  51.       Samples                  Supported Bindings            
  52.       --------------------------------------------------------
  53.       somk                      
  54.           \c\tp                SOMSTARS                      
  55.           \c\animals           SOMSTARS                      
  56.           \cpp\simple          (SOMSTARS or SOMCORBA) + SOMXH
  57.           \cpp\derived         (SOMSTARS or SOMCORBA) + SOMXH
  58.                               
  59.       somi                      
  60.           \c\irdump            SOMSTARS
  61.                               
  62.       somd                      
  63.           \cpp\stack           SOMXH              
  64.           \cpp\animal          SOMXH              
  65.           \cpp\dii             SOMXH              
  66.           \cpp\event           SOMXH              
  67.       somem                      
  68.           \c\emdemo            SOMSTARS
  69.                               
  70.  
  71.  
  72.       To build the samples, cd to the sample leaf subdirectory, and make
  73.       the samples as follows:
  74.           - nmake -f vac.mak all
  75.  
  76.       To clean up after the samples:
  77.           - nmake -f vac.mak clean
  78.           
  79.       Make sure that you run "nmake -f vac.mak clean" before you re-build any 
  80.       samples to avoid using old files such as som.ir.  (You may encounter
  81.       messages about files not found when cleaning files. This is normal.)
  82.       You also want to clean up before you switch to a compilers, in
  83.       case you want to test SOM with different compilers.
  84.       Also, make sure that you read the readme.txt files contained in the 
  85.       subdirectories for more information and prerequisites for the sample 
  86.       programs.
  87.  
  88.  
  89.       If you have NOT installed the SOM toolkit as part of VisualAge for C++,
  90.       you must first set up your environment for SOM, or you may run the 
  91.       somenv.bat command file to set up your environment.  Do this before
  92.       you attempt to build the samples.
  93.  
  94.       If you are a Microsoft Visual C++ 2.1 user, sample makefiles 
  95.       are provided as well: 
  96.         -Refer to somenv.bat as a guide to set up your environment for SOM.  
  97.         -Follow the instructions to make the samples, except that
  98.          "msc.mak" should be substituted for "vac.mak".
  99.  
  100.       Alternatively, you may build the samples from the Microsoft Visual 
  101.       C++ Integrated Development Environment (IDE):
  102.  
  103.       1. Bring up Microsoft Visual C++ IDE. Select the "Options"
  104.          choice from the Tools Menu.  Click on the "Directories"
  105.          notebook tab and add the SOM Toolkit directories for the
  106.          options Lib, Executables, and Include.
  107.   
  108.          For example if your toolkit is installed on c:\som
  109.          then Add a directory for Lib by adding the directory
  110.          c:\som\lib. Executables c:\som\bin. Include c:\som\include.
  111.   
  112.          You only have to do this step once as Microsoft Visual C++ will
  113.          remember these settings from session to session.
  114.   
  115.       2. Optional: Rename "msc.mak" to "makefile.mak" 
  116.          in the samples directory. (MSVC already looks for "*.mak"
  117.          files in the "Open" dialog box thus saving you a little
  118.          typing.)
  119.   
  120.       3. Open the "msc.mak" or "makefile.mak" from step 2 from File Menu 
  121.          of Microsoft Visual C++ IDE. Click on the "Project" menu and 
  122.          select the "Build" option.  You can modify the build command 
  123.          that MSCV issues by editing "Settings" under the Project menu.
  124.   
  125.       4. Build and execute samples from the IDE. After the sample
  126.          is built you can debug by opening the appropriate .exe from the
  127.          "Open" choice on the File Menu. Refer to the readme.txt for each
  128.          sample for information about how to run the sample.
  129.  
  130.  
  131.    HOW TO RUN THE PROJECT FROM WITHIN THE WORKFRAME ENVIRONMENT:
  132.      Follow the instructions in the readme.txt for each sample.
  133.  
  134.    SPECIAL NOTE:
  135.      The following applies to all C and CPP bindings.
  136.  
  137.      VisualAge for C++ does not transparently handle
  138.      exported DLL data that is also statically linked by other 
  139.      components within the same DLL. An examination of the makefiles
  140.      will show that SOM_DONT_IMPORT_CLASS_<classname>
  141.      is defined for many classes.  If you are using VisualAge for
  142.      C++, you must declare which classes you want to statically
  143.      link to by using these defines.
  144.  
  145.      They are not required if you are using Microsoft Visual C++.
  146.      You will generally get warnings stating that you have
  147.      'inconsistent dll linkage - dllexport is assumed'. Your
  148.      code will run, because Microsoft's linker will do a
  149.      special fix-up; however, it will run slower than if you
  150.      had made the defines.  This penalty is payed for every 
  151.      method invocation - so it is best to avoid this fix-up.
  152.  
  153.      There are other ways to tell if this fix-up is happening.
  154.      The fix was applied if the linker produces a .exp file and
  155.      a .lib without being asked.  It is also present if it says
  156.      it is ignoring your .def file's EXPORTS section. This is
  157.      linker warning LNK4077.  Finally, check the map file for
  158.      'linker-defined' symbols.
  159.  
  160.    VisualAge for C++ SAMPLES INFORMATION:
  161.      A complete listing of samples shipped with the VisualAge for C++
  162.      product can be found in the online GUIDE TO SAMPLES.  To access
  163.      this notebook, simply:
  164.  
  165.      -  Open the VisualAge for C++ program group in the Program
  166.         Manager window, then
  167.      -  Open the GUIDE TO SAMPLES notebook in the program group.
  168.  
  169.  
  170.  
  171.     SOMobjects is a Registered Trademark of the IBM Corporation.
  172.     Other brand and product names are trademarks or registered
  173.     trademarks of their respective holders.
  174.  
  175.