 2cd577564c
			
		
	
	
	2cd577564c
	
	
	
		
			
			git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880627 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			145 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
 | |
| <!--
 | |
|    Licensed to the Apache Software Foundation (ASF) under one
 | |
|    or more contributor license agreements.  See the NOTICE file
 | |
|    distributed with this work for additional information
 | |
|    regarding copyright ownership.  The ASF licenses this file
 | |
|    to you under the Apache License, Version 2.0 (the
 | |
|    "License"); you may not use this file except in compliance
 | |
|    with the License.  You may obtain a copy of the License at
 | |
|    
 | |
|      http://www.apache.org/licenses/LICENSE-2.0
 | |
|      
 | |
|    Unless required by applicable law or agreed to in writing,
 | |
|    software distributed under the License is distributed on an
 | |
|    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | |
|    KIND, either express or implied.  See the License for the
 | |
|    specific language governing permissions and limitations
 | |
|    under the License.
 | |
| -->
 | |
| 
 | |
| <HTML>
 | |
| <HEAD>
 | |
|    <META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type">
 | |
|    <META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type">
 | |
|    <STYLE MEDIA="all" TYPE="text/css">
 | |
| @import url("css/maven-base.css");
 | |
| @import url("css/maven-theme.css");
 | |
|    </STYLE> 
 | |
| 
 | |
|     <LINK HREF="css/maven-theme.css" MEDIA="print" REL="stylesheet"
 | |
|          TYPE="text/css">
 | |
|    <TITLE>Tuscany SDO C++ - Building STDCXX for Tuscany SDO</TITLE>
 | |
| </HEAD>
 | |
| 
 | |
| <BODY>
 | |
| <DIV ID="bodyColumn"> 
 | |
|    <DIV ID="contentBox"> 
 | |
|       <DIV CLASS="section"> 
 | |
|          <H1>Tuscany SDO C++ - Building STDCXX for Tuscany SDO</H1> 
 | |
| 
 | |
|          <P>STDCXX is an implementation of the C++ Standard Library provided by Apache.
 | |
|          </P>
 | |
|          <P>The website is at <A href="http://incubator.apache.org/stdcxx/">http://incubator.apache.org/stdcxx/</A>.
 | |
|          </P>
 | |
|          <P>At the time of writing, the current release is 4.1.3 and is available as
 | |
|             source distribution only. This document explains how to build stdcxx for
 | |
|             Windows XP and Red Hat Enterprise Linux 3 in the way required by the SDO build
 | |
|             process.
 | |
|          </P>
 | |
|       </DIV>
 | |
|       <DIV CLASS="section"> 
 | |
|          <H2>Contents</H2> 
 | |
|          <OL>
 | |
|             <LI><A HREF="#install">Building STDCXX..</A>
 | |
|                 <UL>
 | |
|                     <LI><A HREF="#linux">..on Linux</A></LI>
 | |
|                     <LI><A HREF="#win">..on Windows</A></LI>
 | |
|                 </UL></LI>
 | |
|          </OL>
 | |
|       </DIV>
 | |
| 
 | |
|       <DIV CLASS="section"> 
 | |
|          <A NAME="install"><H2>Building STDCXX</H2></A>
 | |
|          <A NAME="linux"><H3>Building STDCXX on Linux</H3></A>
 | |
| 
 | |
|          <OL>
 | |
|              <LI>The release is distributed as a gzipped tar file, called
 | |
|                  stdcxx-incubating-4.1.3.tar.gz. Extract the contents of this file into a
 | |
|                  convenient directory. For this example, let's assume it is
 | |
|                  /home/Tuscany/stdcxx-4.1.3
 | |
|              </LI>
 | |
|              <LI>Define the STDCXX_HOME environment variable to refer to this directory. The
 | |
|                 Tuscany SDO build system uses this environment variable to locate stdcxx.
 | |
|              </LI>
 | |
|              <LI>Change directory to STDCXX_HOME. Then build a debug version of the stdcxx
 | |
|                  library using the following command:
 | |
|              <PRE>gmake BUILDDIR=$STDCXX_HOME/Debug BUILDTYPE=15d CONFIG=gcc.config</PRE>         
 | |
|                  This will create a sub-directory of STDCXX_HOME called Debug and place the
 | |
|                  build products below that.
 | |
|              </LI>
 | |
|              <LI>For a release version the command is:
 | |
|              <PRE>gmake BUILDDIR=$STDCXX_HOME/Release BUILDTYPE=12d CONFIG=gcc.config</PRE>
 | |
|              </LI>        
 | |
|          </OL>
 | |
|          <P>This provides Tuscany SDO with the versions of stdcxx that it needs for both
 | |
|             Release and Debug builds.
 | |
|          </P>
 | |
|          <A NAME="win"><H3>Building STDCXX on Windows</H3></A>
 | |
|          <P>STDCXX is supported only when used with Microsoft Visual Studio C++ V7.1
 | |
|          </P>
 | |
|          <OL>
 | |
|              <LI>The release is distributed as a gzipped tar file, called stdcxx-incubating-4.1.3.tar.gz. 
 | |
|                 Extract the contents of this file into a convenient directory. For this example let's 
 | |
|                 assume it is C:\Tuscany\stdcxx-4.1.3
 | |
|              </LI>
 | |
|              <LI>Define the STDCXX_HOME environment variable to refer to this directory. The
 | |
|                 Tuscany SDO build system uses this environment variable to locate stdcxx.
 | |
|              </LI>
 | |
|              <LI>Create two directories to contain the results of building stdcxx. The first is
 | |
|                 for the debug enabled version and must be:
 | |
|              <PRE><STDCXX_HOME>\Debug</PRE>
 | |
|              </LI>
 | |
|              <LI>The second is for the release (ie optimised) version and must be
 | |
|              <PRE><STDCXX_HOME>\Release</PRE>
 | |
|              </LI>
 | |
|              <LI>Launch an MSVC++ 7.1 command window. In the command window, set the default
 | |
|                 directory to <STDCXX_HOME> where there is a file called generate.bat. Create
 | |
|                 the project definitions that MSVC++ 7.1 will need in order to build stdcxx by
 | |
|                 running generate.bat using the following command:
 | |
|              <PRE>.\generate.bat /BUILDDIR:<STDCXX_HOME>\Debug /CONFIG:VC71</PRE>
 | |
|                 It is necessary to provide the full, absolute path to the build directory - it
 | |
|                 is not sufficient to provide a relative path. (This restriction will be fixed
 | |
|                 in a future release.)
 | |
|              </LI>
 | |
|              <LI>Repeat this operation for the release build, via the command:
 | |
|              <PRE>.\generate.bat /BUILDDIR:<STDCXX_HOME>\Release /CONFIG:VC71</PRE>
 | |
|              </LI>
 | |
|              <LI>Still using the MSVC++ 7.1 command window, set the default directory to one of
 | |
|                 the two build directories eg
 | |
|              <PRE>cd <STDCXX_HOME>\Debug</PRE>
 | |
|              </LI>
 | |
|              <LI>Then launch the developer studio via
 | |
|              <PRE>cd <STDCXX_HOME>\Debug</PRE>
 | |
|              </LI>
 | |
|              <LI>Select the configuration to build. For the Debug version of SDO this will be
 | |
|                 "15d Debug Thread-safe Dll". Then select "Build Solution". The build will take
 | |
|                 a while to complete and runs a test suite when it is finished. The test suite
 | |
|                 is extensive and produces a scattering of errors, however the library build
 | |
|                 itself is fine.
 | |
|              </LI>
 | |
|              <LI>Repeat this process for the release version, setting the default directory to
 | |
|              <PRE>cd <STDCXX_HOME>\Release</PRE>
 | |
|                  and choosing "12d Optimized Thread-safe Dll" as the build configuration.
 | |
|              </LI>        
 | |
|          </OL>
 | |
|          <P>This provides Tuscany SDO with the versions of stdcxx that it needs for both
 | |
|             Release and Debug builds.
 | |
|          </P>
 | |
|       </DIV>
 | |
|    </DIV>
 | |
| </DIV>
 | |
| </BODY>
 | |
| 
 | |
| </HTML>
 | |
| 
 |