Copyright (c) 2005 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html $Id: README.txt,v 1.7 2006/09/06 18:32:38 cjin dead $ Contributors: IBM - Initial API and implementation Author(s): Paul E. Slauenwhite Version: June 14, 2005 Since: June 9, 2005 1. Introduction This README file chronicles the necessary dependencies, environments and procedures to compile the TPTP 4.0 native Common Base Event implementation on Windows and Linux platforms. Since the TPTP 4.0 native Common Base Event implementation is written in C, platform-specific procedures are required for building the native Common Base Event implementation. The TPTP 4.0 native Common Base Event implementation code is located in the dev.eclipse.org/home/tptp/platform/org.eclipse.hyades.logging.core/src.native/CommonBaseEvent TPTP CVS module. 2. Notation = The local absolute path to the org.eclipse.hyades.logging.core module as extracted from CVS (dev.eclipse.org\home\tptp\platform\org.eclipse.hyades.logging.core). For example, C:\org.eclipse.hyades.logging.core on Windows. = The individual components of the native Common Base Event implementation, as cited in section 4a and 4b. = The individual unit test components of the native Common Base Event implementation, as cited in section 4b. = The supported UNIX platforms of the native Common Base Event implementation, as cited in section 5. = The local absolute path to a working or build directory. For example, C:\CBE_Build on Windows. = Unique ID for a build. For example, the current date and time (e.g. 20050607_1300). = The process ID of the native Common Base Event sample process. 3. CVS Module Structure -Includes/Makes: \src.native\CommonBaseEvent -Implementation: \src.native\CommonBaseEvent\cImpl -Sample Implementation: \src.native\CommonBaseEvent\sample -Unit Tests: \src.native\CommonBaseEvent\UnitTests -Unit Test Scripts: \src.native\CommonBaseEvent\UnitTests\scripts -Microsoft Visual C++ v6.0 Project/Desktop Files: \src.native\CommonBaseEvent\WinBuild 4. AC Components: a) All Platforms: -Unit Test/All Tests: All unit tests for the native Common Base Event implementation -cImpl: Native Common Base Event implementation -Sample: Sample for the native Common Base Event implementation b) Windows/IA32: -UTAssociatedEvent: Unit tests for the Associated Event of the native Common Base Event implementation -UTAssociationEngine: Unit tests for the Association Engine of the native Common Base Event implementation -UTCommonBaseEvent: Unit tests for the Common Base Event of the native Common Base Event implementation -UTComponentIdentification: Unit tests for the Component Identification of the native Common Base Event implementation -UTContextDataElement: Unit tests for the Context Data Element of the native Common Base Event implementation -UTEventFactory: Unit tests for the Event Factory of the native Common Base Event implementation -UTEventFormatter: Unit tests for the Event Formatter of the native Common Base Event implementation -UTExtendedDataElement: Unit tests for the Extended Data Element of the native Common Base Event implementation -UTMsgDataElement: Unit tests for the Msg Data Element of the native Common Base Event implementation -UTSituation: Unit tests for the Situation of the native Common Base Event implementation -UTSituationType: Unit tests for the Situation Type of the native Common Base Event implementation -UTTemplateContentHandler: Unit tests for the Template Content Handler of the native Common Base Event implementation -UTXmlUtility: Unit tests for the XML Utility of the native Common Base Event implementation 5. AC Supported Platforms: -Windows/IA32 -Linux/IA32 -Linux/PPC64 -Linux/390 -AIX/PPC32 -OS390 -OS400 -HP-UX/PA_RISC -Solaris/SPARC 6. Dependencies a) Compilers: -Windows/IA32: Microsoft Visual C++ v6.0 -Linux/IA32: GNU gcc v2.96 -Linux/PPC64: GNU gcc v3.2.3 -Linux/390: GNU gcc v2.95.2 -AIX/PPC32: IBM VisualAge C++ Professional for AIX, Version v5.0 -OS390: C/C++ for OS/390 V2R10M0 -OS400: IBM C++ Compiler 6.00 on OS/400 V5R2M0. -HP-UX/PA_RISC: HP aC++ A.03.25 -Solaris/SPARC: Sun WorkShop Compilers C 6 update 1 b) Software: -GNU Make v3.79 (Linux/Unix only) c) Make Files: -Windows/IA32: \src.native\CommonBaseEvent\makefile.win_ia32 \src.native\CommonBaseEvent\WinBuild\.mak -Linux/IA32: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -Linux/PPC64: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -Linux/390: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -AIX/PPC32: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -OS390: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -OS400: \src.native\CommonBaseEvent\makefile.os400 \src.native\CommonBaseEvent\.mak -HP-UX/PA_RISC: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak -Solaris/SPARC: \src.native\CommonBaseEvent\makefile \src.native\CommonBaseEvent\.mak d) Build Resources: -Microsoft Visual C++ v6.0 workspace: \src.native\CommonBaseEvent\framework\WinBuild\CommonBaseEvent.dsw -UNIX includes: \src.native\CommonBaseEvent\include. 7. Steps: a) Windows/IA32: 1) Start Microsoft Visual C++ v6.0. 2) Open the native Common Base Event implementation Microsoft Visual C++ v6.0 workspace (File > Open... > \src.native\CommonBaseEvent\WinBuild\CommonBaseEvent.dsw). 3) Set the cImpl project as the active project (Build > Set Active Configuration... > cImpl - Win32 Release or cImpl - Win32 Debug). 4) Build the native Common Base Event implementation (Build > Build CommonBaseEvent.dll). 5) Confirm that executable file (e.g. *.dll) has been created in the \src.native\CommonBaseEvent\WinBuild directory. 6) Confirm that intermediate files (e.g. *.obj) have been created in the \src.native\CommonBaseEvent\WinBuild\Release\cImpl or \src.native\CommonBaseEvent\WinBuild\Debug\cImpl directory. 7) To build a unit test for the native Common Base Event implementation, set the project as the active project (Build > Set Active Configuration... > - Win32 Release or - Win32 Debug). 8) Build the unit test for the native Common Base Event implementation (Build > Build .exe). 9) Confirm that executable file (e.g. *.exe) ha been created in the \src.native\CommonBaseEvent\WinBuild directory. 10) Confirm that intermediate files (e.g. *.obj and *.pch) have been created in the \src.native\CommonBaseEvent\WinBuild\Release\UnitTest or \src.native\CommonBaseEvent\WinBuild\Debug\UnitTest directory. 11) Run the unit test for the native Common Base Event implementation (Build > Execute .exe). 12) To build the sample for the native Common Base Event implementation, set the Sample project as the active project (Build > Set Active Configuration... > Sample - Win32 Release or cImpl - Win32 Debug). 13) Build the native Common Base Event sample (Build > Build Sample.exe). 14) Confirm that executable file files (e.g. *.exe and *.dll) have been created in the \src.native\CommonBaseEvent\WinBuild directory. 15) Confirm that intermediate files (e.g. *.obj, *.lib, etc.) have been created in the \src.native\CommonBaseEvent\WinBuild\Release\cImpl or \src.native\CommonBaseEvent\WinBuild\Debug\cImpl directory. 16) Run the native Common Base Event sample (Build > Execute Sample.exe). 17) When debugging the native Common Base Event implementation, set a breakpoint on the source code (Edit > Breakpoints...), build the native Common Base Event sample (Build > Build Sample.exe) or unit test for the native Common Base Event implementation (Build > Build .exe) and run the native Common Base Event sample or unit test for the native Common Base Event implementation in debug mode (Build > Start Debug > Go). b) Linux/IA32: 1) Create the following directories: - -/ 2) Copy the contents of the /src.native/CommonBaseEvent directory to the //CommonBaseEvent directory. When unzipping, ensure the '-aa' flag is used to force ASCII conversion. 3) From the //CommonBaseEvent directory, build the native Common Base Event implementation including the unit tests and sample (i.e. make). 4) Confirm that executable files and shared libraries have been created in the //CommonBaseEvent/packaging, //CommonBaseEvent/ut and //CommonBaseEvent/Sample directories. 5) Run a unit test for the native Common Base Event implementation (//CommonBaseEvent/ut/). 6) Run the native Common Base Event sample (//CommonBaseEvent/packaging/Sample). 7) When debugging the native Common Base Event implementation, add the -g compiler option to the CFLAGS variable in the //CommonBaseEvent/include.linux_ia32 file, build the native Common Base Event implementation including the unit tests and sample (i.e. make), run the native Common Base Event sample (//CommoBaseEvent/packaging/Sample) or unit test for the native Common Base Event implementation (//CommonBaseEvent/ut/), get the PID of the native Common Base Event sample or unit test process (ps –ae | grep Sample) and use the GNU Project debugger (gdb) to attach to the process (gdb ./Sample ).