home *** CD-ROM | disk | FTP | other *** search
- # 10H9767, 10H9769 (C) COPYRIGHT International Business Machines Corp. 1992,1994,1996
- # All Rights Reserved
- # Licensed Materials - Property of IBM
- # US Government Users Restricted Rights - Use, duplication or
- # disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
-
- **********************************************************************
- * DISCLAIMER OF WARRANTIES.
- * The following [enclosed] code is sample code created by IBM
- * Corporation. This sample code is not part of any standard or IBM
- * product and is provided to you solely for the purpose of assisting
- * you in the development of your applications. The code is provided
- * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
- * THIS CODE. IBM shall not be liable for any damages arising out of
- * your use of the sample code, even if they have been advised of the
- * possibility of such damages.
- *
- * DISTRIBUTION.
- * This sample code can be freely distributed, copied, altered, and
- * incorporated into other software, provided that it bears the above
- * Copyright notice and DISCLAIMER intact.
- *
- *
- * %Z% %I% %W% %G% %U% [%H% %T%]
- **********************************************************************
-
- IBM SOMobjects Win32 Toolkit Samples Overview:
-
- DESCRIPTION:
- The samples contained in the subdirectories of this directory are:
-
- somk - the SOM Run-time Kernel
- somd - Workstation DSOM
- somem - Event manager
- somi - the SOM Interface Repository Framework
-
- Please refer to the readme.txt files contained in the subdirectories for
- more information on the sample programs.
-
-
- HOW TO RUN THE PROJECT FROM THE COMMAND LINE:
- To build and run the samples, follow the instructions in the readme.txt
- for each sample. In general, the correct bindings must be established
- for each sample. This is done for you automatically by the makefiles
- "vac.mak" supplied with the samples. The following table outlines
- which samples use which set of bindings.
-
-
- Samples Supported Bindings
- --------------------------------------------------------
- somk
- \c\tp SOMSTARS
- \c\animals SOMSTARS
- \cpp\simple (SOMSTARS or SOMCORBA) + SOMXH
- \cpp\derived (SOMSTARS or SOMCORBA) + SOMXH
-
- somi
- \c\irdump SOMSTARS
-
- somd
- \cpp\stack SOMXH
- \cpp\animal SOMXH
- \cpp\dii SOMXH
- \cpp\event SOMXH
- somem
- \c\emdemo SOMSTARS
-
-
-
- To build the samples, cd to the sample leaf subdirectory, and make
- the samples as follows:
- - nmake -f vac.mak all
-
- To clean up after the samples:
- - nmake -f vac.mak clean
-
- Make sure that you run "nmake -f vac.mak clean" before you re-build any
- samples to avoid using old files such as som.ir. (You may encounter
- messages about files not found when cleaning files. This is normal.)
- You also want to clean up before you switch to a compilers, in
- case you want to test SOM with different compilers.
- Also, make sure that you read the readme.txt files contained in the
- subdirectories for more information and prerequisites for the sample
- programs.
-
-
- If you have NOT installed the SOM toolkit as part of VisualAge for C++,
- you must first set up your environment for SOM, or you may run the
- somenv.bat command file to set up your environment. Do this before
- you attempt to build the samples.
-
- If you are a Microsoft Visual C++ 2.1 user, sample makefiles
- are provided as well:
- -Refer to somenv.bat as a guide to set up your environment for SOM.
- -Follow the instructions to make the samples, except that
- "msc.mak" should be substituted for "vac.mak".
-
- Alternatively, you may build the samples from the Microsoft Visual
- C++ Integrated Development Environment (IDE):
-
- 1. Bring up Microsoft Visual C++ IDE. Select the "Options"
- choice from the Tools Menu. Click on the "Directories"
- notebook tab and add the SOM Toolkit directories for the
- options Lib, Executables, and Include.
-
- For example if your toolkit is installed on c:\som
- then Add a directory for Lib by adding the directory
- c:\som\lib. Executables c:\som\bin. Include c:\som\include.
-
- You only have to do this step once as Microsoft Visual C++ will
- remember these settings from session to session.
-
- 2. Optional: Rename "msc.mak" to "makefile.mak"
- in the samples directory. (MSVC already looks for "*.mak"
- files in the "Open" dialog box thus saving you a little
- typing.)
-
- 3. Open the "msc.mak" or "makefile.mak" from step 2 from File Menu
- of Microsoft Visual C++ IDE. Click on the "Project" menu and
- select the "Build" option. You can modify the build command
- that MSCV issues by editing "Settings" under the Project menu.
-
- 4. Build and execute samples from the IDE. After the sample
- is built you can debug by opening the appropriate .exe from the
- "Open" choice on the File Menu. Refer to the readme.txt for each
- sample for information about how to run the sample.
-
-
- HOW TO RUN THE PROJECT FROM WITHIN THE WORKFRAME ENVIRONMENT:
- Follow the instructions in the readme.txt for each sample.
-
- SPECIAL NOTE:
- The following applies to all C and CPP bindings.
-
- VisualAge for C++ does not transparently handle
- exported DLL data that is also statically linked by other
- components within the same DLL. An examination of the makefiles
- will show that SOM_DONT_IMPORT_CLASS_<classname>
- is defined for many classes. If you are using VisualAge for
- C++, you must declare which classes you want to statically
- link to by using these defines.
-
- They are not required if you are using Microsoft Visual C++.
- You will generally get warnings stating that you have
- 'inconsistent dll linkage - dllexport is assumed'. Your
- code will run, because Microsoft's linker will do a
- special fix-up; however, it will run slower than if you
- had made the defines. This penalty is payed for every
- method invocation - so it is best to avoid this fix-up.
-
- There are other ways to tell if this fix-up is happening.
- The fix was applied if the linker produces a .exp file and
- a .lib without being asked. It is also present if it says
- it is ignoring your .def file's EXPORTS section. This is
- linker warning LNK4077. Finally, check the map file for
- 'linker-defined' symbols.
-
- VisualAge for C++ SAMPLES INFORMATION:
- A complete listing of samples shipped with the VisualAge for C++
- product can be found in the online GUIDE TO SAMPLES. To access
- this notebook, simply:
-
- - Open the VisualAge for C++ program group in the Program
- Manager window, then
- - Open the GUIDE TO SAMPLES notebook in the program group.
-
-
-
- SOMobjects is a Registered Trademark of the IBM Corporation.
- Other brand and product names are trademarks or registered
- trademarks of their respective holders.
-
-