You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ro...@apache.org on 2007/07/23 22:27:01 UTC

svn commit: r558854 - in /incubator/tuscany/cpp/sca: ./ antscripts/ runtime/core/src/ runtime/extensions/ runtime/extensions/cpp/ runtime/extensions/sca/ runtime/extensions/ws/ tools/TuscanyDriver/

Author: robbinspg
Date: Mon Jul 23 13:27:00 2007
New Revision: 558854

URL: http://svn.apache.org/viewvc?view=rev&rev=558854
Log:
TUSCANY-1438 Apply Brady's patch #3

Added:
    incubator/tuscany/cpp/sca/runtime/extensions/build.xml   (with props)
    incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml   (with props)
    incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml   (with props)
    incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml   (with props)
Modified:
    incubator/tuscany/cpp/sca/antscripts/compile-targets.xml
    incubator/tuscany/cpp/sca/antscripts/platform.properties
    incubator/tuscany/cpp/sca/antscripts/system.xml
    incubator/tuscany/cpp/sca/build.xml
    incubator/tuscany/cpp/sca/runtime/core/src/build.xml
    incubator/tuscany/cpp/sca/tools/TuscanyDriver/build.xml

Modified: incubator/tuscany/cpp/sca/antscripts/compile-targets.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/antscripts/compile-targets.xml?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/antscripts/compile-targets.xml (original)
+++ incubator/tuscany/cpp/sca/antscripts/compile-targets.xml Mon Jul 23 13:27:00 2007
@@ -115,39 +115,109 @@
   </macrodef>
 
   <!--
-    Install cpp library
-    @param libs - library files to install
-    @param srclibdir - location of library files to install
-    @param destlibdir - Where to install library files
+    Install a single file
+    @param file - file to install
+    @param srcdir - directory of file to install
+    @param destdir - Where to install the file
+    @param executable - set permissions to executable, defaults true
   -->
-  <macrodef name="cpp-install-lib">
-    <attribute name="libs" default="${lib.prefix}*${lib.ext}"/>
-    <attribute name="srclibdir" default="."/>
-    <attribute name="destlibdir" default="."/>
+  <macrodef name="cpp-install-file">
+    <attribute name="srcfile"/>
+    <attribute name="srcdir" default="."/>
+    <attribute name="destfile" default="@{srcfile}"/>
+    <attribute name="destdir"/>
+    <attribute name="executable" default="true"/>
     <sequential>
-      <mkdir dir="@{destlibdir}"/>
-      <copy todir="@{destlibdir}" overwrite='true'>
-        <fileset dir="@{srclibdir}" includes="@{libs}"/>
-      </copy>
-      <chmod file="@{destlibdir}/@{libs}" perm="755"/>
+      <mkdir dir="@{destdir}"/>
+      <copy file="@{srcdir}/@{srcfile}" tofile="@{destdir}/@{destfile}" overwrite='true'/>
+      <if>
+        <equals arg1="@{executable}" arg2="true"/>
+        <then>
+          <chmod file="@{destdir}/@{destfile}" perm="755"/>
+        </then>
+      </if>
     </sequential>
   </macrodef>
 
   <!--
-    Install cpp headers
-    @param files - header files to install
-    @param srcdir - location of header files to install
-    @param destdir - Where to install header files
+    Install multiple files
+    @param files - space seperated list of files to install
+    @param srcdir - location of files to install
+    @param destdir - Where to install files
+    @param executable - set permissions to executable, defaults false
   -->
-  <macrodef name="cpp-install-headers">
-    <attribute name="files" default="*.h"/>
+  <macrodef name="cpp-install-files">
+    <attribute name="files" default="*.*"/>
     <attribute name="srcdir" default="."/>
-    <attribute name="destdir" default="."/>
+    <attribute name="destdir"/>
+    <attribute name="executable" default="false"/>
     <sequential>
       <mkdir dir="@{destdir}"/>
       <copy todir="@{destdir}" overwrite='true'>
         <fileset dir="@{srcdir}" includes="@{files}"/>
       </copy>
+      <if>
+        <equals arg1="@{executable}" arg2="true"/>
+        <then>
+          <chmod file="@{destdir}/@{files}" perm="755"/>
+        </then>
+      </if>
+    </sequential>
+  </macrodef>
+
+  <!--
+    Create a symlink on unix and mac only
+    @param lib - library file to install
+    @param srclibdir - location of library files to install
+    @param destlibdir - Where to install library files
+  -->
+  <macrodef name="cpp-symlink">
+    <attribute name="linkdir" default=""/>
+    <attribute name="resourcedir" default="."/>
+    <attribute name="link"/>
+    <attribute name="resource"/>
+    <sequential>
+      <if>
+        <or>
+          <os family="unix"/>
+          <os family="mac"/>
+        </or>
+        <then>
+          <mkdir dir="@{linkdir}"/>
+          <symlink
+              link="@{linkdir}/@{link}"
+              resource="@{resourcedir}/@{resource}"
+              overwrite="true"/>
+        </then>
+      </if>
+    </sequential>
+  </macrodef>
+
+  <!--
+    Delete files from a directory, and possible delete the directory
+    @param files - space seperated list of files to delete
+    @param headerdir - directory where files to delete are
+    @param quiet - verbosity, "true" or "false"
+    @param rmdir - delete the directory after deleting files, "true" or "false"
+    @param custom-delete-elements - anything else you need done additionally
+  -->
+  <macrodef name="cpp-clean-files">
+    <attribute name="files" default="*.*"/>
+    <attribute name="dir" default="."/>
+    <attribute name="quiet" default="true"/>
+    <attribute name="rmdir" default="false"/>
+    <element name="custom-delete-elements" optional="true"/>
+    <sequential>
+      <delete quiet="@{quiet}">
+        <fileset dir="@{dir}" includes="@{files}"/>
+      </delete>
+      <if>
+        <equals arg1="@{rmdir}" arg2="true"/>
+        <then>
+          <delete dir="@{dir}"/>
+        </then>
+      </if>
+      <custom-delete-elements/>
     </sequential>
   </macrodef>
 

Modified: incubator/tuscany/cpp/sca/antscripts/platform.properties
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/antscripts/platform.properties?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/antscripts/platform.properties (original)
+++ incubator/tuscany/cpp/sca/antscripts/platform.properties Mon Jul 23 13:27:00 2007
@@ -18,6 +18,19 @@
 platform.lib.ext=
 platform.exe.ext=
 platform.object.ext=
+platform.script.ext=
+
 platform.tuscanySCA.root.dir=
 platform.tuscanySCA.install.dir=
 platform.tuscanySDO.install.dir=
+
+platform.axis2c.home.dir=
+platform.python.include.dir=
+platform.python.lib.dir=
+platform.python.version=
+platform.ruby.include.dir=
+platform.ruby.lib.dir=
+platform.rest.curl.lib.dir=
+platform.rest.curl.include.dir=
+platform.rest.httpd.include.dir=
+platform.rest.apr.include.dir=

Modified: incubator/tuscany/cpp/sca/antscripts/system.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/antscripts/system.xml?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/antscripts/system.xml (original)
+++ incubator/tuscany/cpp/sca/antscripts/system.xml Mon Jul 23 13:27:00 2007
@@ -79,7 +79,7 @@
       <property name="tuscanySCA.install.dir" location="${platform.tuscanySCA.install.dir}"/>
     </then>
     <elseif>
-      <isset property="${env.TUSCANY_SCACPP}"/>
+      <isset property="env.TUSCANY_SCACPP"/>
       <then>
         <property name="tuscanySCA.install.dir" location="${env.TUSCANY_SCACPP}"/>
       </then>
@@ -90,6 +90,157 @@
   </if>
 
   <!--
+     Configure the version for all tuscanySCA libraries
+     If on windows, set it to empty
+     Else take the override value from platform.properties if set
+     Else default it to "0.0.0"
+  -->
+  <if>
+    <os family="windows"/>
+    <then>
+      <property name="tuscanySCA.library.version" value=""/>
+    </then>
+    <elseif>
+      <isset property="platform.tuscanySCA.library.version"/>
+      <then>
+        <property name="tuscanySCA.library.version" value="${platform.tuscanySCA.library.version}"/>
+      </then>
+    </elseif>
+    <else>
+      <property name="tuscanySCA.library.version" value=".0.0.0"/>
+    </else>
+  </if>
+
+  <!--
+     Configure ${enable_ws} and ${axis2c.home.dir}, which is needed to compile the ws extension
+     Take the override value from platform.properties if set
+     Else take it from the env var AXIS2C_HOME
+  -->
+  <if>
+    <isset property="platform.axis2c.home.dir"/>
+    <then>
+      <property name="enable_ws" value="true"/>
+      <property name="axis2c.home.dir" location="${platform.axis2c.home.dir}"/>
+    </then>
+    <elseif>
+      <isset property="env.AXIS2C_HOME"/>
+      <then>
+        <property name="enable_ws" value="true"/>
+        <property name="axis2c.home.dir" location="${env.AXIS2C_HOME}"/>
+      </then>
+    </elseif>
+    <else>
+      <property name="enable_ws" value="false"/>
+    </else>
+  </if>
+
+  <!--
+     Configure ${enable_python} and related python properties, which are needed
+     to compile the python extension
+     Take the override value from platform.properties if set
+     Else check env vars PYTHON_LIB, PYTHON_INCLUDE, and PYTHON_VERSION
+  -->
+  <if>
+    <and>
+      <isset property="platform.python.version"/>
+      <isset property="platform.python.include.dir"/>
+      <isset property="platform.python.lib.dir"/>
+    </and>
+    <then>
+      <property name="enable_python" value="true"/>
+      <property name="python.lib.dir"     location="${platform.python.lib.dir}"/>
+      <property name="python.include.dir" location="${platform.python.include.dir}"/>
+      <property name="python.version.dir" value="${platform.python.version}"/>
+    </then>
+    <elseif>
+      <and>
+        <isset property="env.PYTHON_LIB"/>
+        <isset property="env.PYTHON_INCLUDE"/>
+        <isset property="env.PYTHON_VERSION"/>
+      </and>
+      <then>
+        <property name="enable_python" value="true"/>
+        <property name="python.lib.dir"     location="${env.PYTHON_LIB}"/>
+        <property name="python.include.dir" location="${env.PYTHON_INCLUDE}"/>
+        <property name="python.version.dir" value="${env.PYTHON_VERSION}"/>
+      </then>
+    </elseif>
+    <else>
+      <property name="enable_python" value="false"/>
+    </else>
+  </if>
+
+  <!--
+     Configure ${enable_ruby} and related ruby properties, which are needed
+     to compile the ruby extension
+     Take the override value from platform.properties if set
+     Else check env vars RUBY_LIB and RUBY_INCLUDE
+  -->
+  <if>
+    <and>
+      <isset property="platform.ruby.include.dir"/>
+      <isset property="platform.ruby.lib.dir"/>
+    </and>
+    <then>
+      <property name="enable_ruby" value="true"/>
+      <property name="ruby.lib.dir"     location="${platform.ruby.lib.dir}"/>
+      <property name="ruby.include.dir" location="${platform.ruby.include.dir}"/>
+    </then>
+    <elseif>
+      <and>
+        <isset property="env.RUBY_LIB"/>
+        <isset property="env.RUBY_INCLUDE"/>
+      </and>
+      <then>
+        <property name="enable_ruby" value="true"/>
+        <property name="ruby.lib.dir"     location="${env.RUBY_LIB}"/>
+        <property name="ruby.include.dir" location="${env.RUBY_INCLUDE}"/>
+      </then>
+    </elseif>
+    <else>
+      <property name="enable_ruby" value="false"/>
+    </else>
+  </if>
+
+  <!--
+     Configure ${enable_rest} and related ruby properties, which are needed
+     to compile the rest extension
+     Take the override value from platform.properties if set
+     Else check env vars CURL_LIB, CURL_INCLUDE, HTTPD_INCLUDE, and APR_INCLUDE
+  -->
+  <if>
+    <and>
+      <isset property="platform.ruby.include.dir"/>
+      <isset property="platform.ruby.lib.dir"/>
+    </and>
+    <then>
+      <property name="enable_rest" value="true"/>
+      <property name="rest.curl.lib.dir"       location="${platform.rest.curl.lib.dir}"/>
+      <property name="rest.curl.include.dir"   location="${platform.rest.curl.include.dir}"/>
+      <property name="rest.httpd.include.dir"  location="${platform.rest.httpd.include.dir}"/>
+      <property name="rest.apr.include.dir"    location="${platform.rest.apr.include.dir}"/>
+    </then>
+    <elseif>
+      <and>
+        <isset property="env.CURL_LIB"/>
+        <isset property="env.CURL_INCLUDE"/>
+        <isset property="env.HTTPD_INCLUDE"/>
+        <isset property="env.APR_INCLUDE"/>
+      </and>
+      <then>
+        <property name="enable_rest" value="true"/>
+        <property name="rest.curl.lib.dir"       location="${env.CURL_LIB}"/>
+        <property name="rest.curl.include.dir"   location="${env.CURL_INCLUDE}"/>
+        <property name="rest.httpd.include.dir"  location="${env.HTTPD_INCLUDE}"/>
+        <property name="rest.apr.include.dir"    location="${env.APR_INCLUDE}"/>
+      </then>
+    </elseif>
+    <else>
+      <property name="enable_rest" value="false"/>
+    </else>
+  </if>
+
+  <!--
      Configure the compiler.name
      Take the override value from platform.properties if set
      Else set it based on the OS
@@ -211,6 +362,32 @@
       </condition>
     </else>
   </if>
+
+
+  <!--
+     Configure the script.ext
+     Take the override value from platform.properties if set
+     Else set it based on the OS
+  -->
+  <if>
+    <isset property="platform.script.ext"/>
+    <then>
+      <property name="script.ext" value="${platform.script.ext}"/>
+    </then>
+    <else>
+      <condition property="script.ext" value=".bat">
+        <os family="windows"/>
+      </condition>
+
+      <condition property="script.ext" value=".sh">
+        <or>
+          <os family="unix"/>
+          <os family="mac"/>
+        </or>
+      </condition>
+    </else>
+  </if>
+
 
   <condition property="windows" value="true">
     <os family="windows"/>

Modified: incubator/tuscany/cpp/sca/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/build.xml?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/build.xml (original)
+++ incubator/tuscany/cpp/sca/build.xml Mon Jul 23 13:27:00 2007
@@ -34,20 +34,14 @@
     Public targets
   -->
 
-  <target name="all" description="compile, link, and install all TuscanyScaNative source code">
-    <antcall target="compile"/>
-    <antcall target="link"/>
+  <target name="all" description="build and install all TuscanyScaNative source code">
+    <antcall target="build"/>
     <antcall target="install"/>
   </target>
 
-  <target name="compile" description="Compile all TuscanyScaNative source code">
-    <antcall target="compile.core"/>
-    <antcall target="compile.extensions"/>
-  </target>
-
-  <target name="link" description="Link all TuscanyScaNative source code">
-    <antcall target="link.core"/>
-    <antcall target="link.extensions"/>
+  <target name="build" description="Build all TuscanyScaNative source code">
+    <antcall target="build.core"/>
+    <antcall target="build.extensions"/>
   </target>
 
   <target name="install" description="Install TuscanyScaNative libraries and headers">
@@ -66,20 +60,12 @@
     Using antfile and inheritAll="false" to maintain the subdir build.xml basedir settings
   -->
 
-  <target name="compile.core">
-    <ant target="compile" antfile="${src.dir}/build.xml" inheritAll="false"/>
-  </target>
-
-  <target name="compile.extensions">
-    <!-- TODO finish this -->
-  </target>
-
-  <target name="link.core">
-    <ant target="link" antfile="${src.dir}/build.xml" inheritAll="false"/>
+  <target name="build.core">
+    <ant target="build" antfile="${src.dir}/build.xml" inheritAll="false"/>
   </target>
 
-  <target name="link.extensions">
-    <!-- TODO finish this -->
+  <target name="build.extensions">
+    <ant target="build" antfile="${extensions.dir}/build.xml" inheritAll="false"/>
   </target>
 
   <target name="install.core">
@@ -87,7 +73,7 @@
   </target>
 
   <target name="install.extensions">
-    <!-- TODO finish this -->
+    <ant target="install" antfile="${extensions.dir}/build.xml" inheritAll="false"/>
   </target>
 
   <target name="clean.core">
@@ -95,7 +81,7 @@
   </target>
 
   <target name="clean.extensions">
-    <!-- TODO finish this -->
+    <ant target="clean" antfile="${extensions.dir}/build.xml" inheritAll="false"/>
   </target>
 
 </project>

Modified: incubator/tuscany/cpp/sca/runtime/core/src/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/build.xml?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/build.xml (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/build.xml Mon Jul 23 13:27:00 2007
@@ -47,31 +47,108 @@
 
   <property
     name="core.cpp.files"
-    value="Exceptions.cpp Operation.cpp SCARuntime.cpp ServiceProxy.cpp ServiceWrapper.cpp"/>
+    value="Exceptions.cpp
+           Operation.cpp
+           SCARuntime.cpp
+           ServiceProxy.cpp
+           ServiceWrapper.cpp"/>
   <property
     name="core.h.files"
-    value="Exceptions.h Operation.h SCARuntime.h ServiceProxy.h ServiceWrapper.h"/>
+    value="Exceptions.h
+           Operation.h
+           SCARuntime.h
+           ServiceProxy.h
+           ServiceWrapper.h"/>
 
   <property
     name="extension.cpp.files"
-    value="ImplementationExtension.cpp InterfaceExtension.cpp ReferenceBindingExtension.cpp ServiceBindingExtension.cpp"/>
+    value="ImplementationExtension.cpp
+           InterfaceExtension.cpp
+           ReferenceBindingExtension.cpp
+           ServiceBindingExtension.cpp"/>
   <property
     name="extension.h.files"
-    value="ImplementationExtension.h InterfaceExtension.h ReferenceBindingExtension.h ServiceBindingExtension.h"/>
+    value="ImplementationExtension.h
+           InterfaceExtension.h
+           ReferenceBindingExtension.h
+           ServiceBindingExtension.h"/>
 
   <property
     name="model.cpp.files"
-    value="Binding.cpp Component.cpp ComponentType.cpp Composite.cpp CompositeReferenceBinding.cpp CompositeReference.cpp CompositeService.cpp Contract.cpp Interface.cpp ModelLoader.cpp ReferenceBinding.cpp Reference.cpp ReferenceType.cpp ServiceBinding.cpp Service.cpp ServiceType.cpp Wire.cpp WSDLDefinition.cpp WSDLInterface.cpp WSDLMessagePart.cpp WSDLOperation.cpp"/>
+    value="Binding.cpp
+           Component.cpp
+           ComponentType.cpp
+           Composite.cpp
+           CompositeReferenceBinding.cpp
+           CompositeReference.cpp
+           CompositeService.cpp
+           Contract.cpp
+           Interface.cpp
+           ModelLoader.cpp
+           ReferenceBinding.cpp
+           Reference.cpp
+           ReferenceType.cpp
+           ServiceBinding.cpp
+           Service.cpp
+           ServiceType.cpp
+           Wire.cpp
+           WSDLDefinition.cpp
+           WSDLInterface.cpp
+           WSDLMessagePart.cpp
+           WSDLOperation.cpp"/>
   <property
     name="model.h.files"
-    value="Binding.h Component.h ComponentType.h Composite.h CompositeReferenceBinding.h CompositeReference.h CompositeService.h Contract.h Interface.h ModelLoader.h ReferenceBinding.h Reference.h ReferenceType.h ServiceBinding.h Service.h ServiceType.h Wire.h WSDLDefinition.h WSDLInterface.h WSDLMessagePart.h WSDLOperation.h"/>
+    value="Binding.h
+           Component.h
+           ComponentType.h
+           Composite.h
+           CompositeReferenceBinding.h
+           CompositeReference.h
+           CompositeService.h
+           Contract.h
+           Interface.h
+           ModelLoader.h
+           ReferenceBinding.h
+           Reference.h
+           ReferenceType.h
+           ServiceBinding.h
+           Service.h
+           ServiceType.h
+           Wire.h
+           WSDLDefinition.h
+           WSDLInterface.h
+           WSDLMessagePart.h
+           WSDLOperation.h"/>
 
   <property
     name="util.cpp.files"
-    value="DefaultLogWriter.cpp File.cpp FileLogWriter.cpp Library.cpp Logger.cpp LogWriter.cpp Mutex.cpp Queue.cpp SDOUtils.cpp Thread.cpp ThreadLocal.cpp Utils.cpp"/>
+    value="DefaultLogWriter.cpp
+           File.cpp
+           FileLogWriter.cpp
+           Library.cpp
+           Logger.cpp
+           LogWriter.cpp
+           Mutex.cpp
+           Queue.cpp
+           SDOUtils.cpp
+           Thread.cpp
+           ThreadLocal.cpp
+           Utils.cpp"/>
   <property
     name="util.h.files"
-    value="DefaultLogWriter.h File.h FileLogWriter.h Library.h Logger.h Logging.h LogWriter.h Mutex.h Queue.h SDOUtils.h Thread.h ThreadLocal.h Utils.h"/>
+    value="DefaultLogWriter.h
+           File.h
+           FileLogWriter.h
+           Library.h
+           Logger.h
+           Logging.h
+           LogWriter.h
+           Mutex.h
+           Queue.h
+           SDOUtils.h
+           Thread.h
+           ThreadLocal.h
+           Utils.h"/>
 
   <!--
     Public targets
@@ -82,6 +159,11 @@
     <antcall target="install"/>
   </target>
 
+  <target name="build" description="compile and link all TuscanyScaNative core source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+  </target>
+
   <target name="compile" description="Compile all TuscanyScaNative core source code">
     <antcall target="compile.core"/>
     <antcall target="compile.extension"/>
@@ -102,14 +184,19 @@
     <antcall target="install.extension"/>
     <antcall target="install.model"/>
     <antcall target="install.util"/>
-    <cpp-install-headers
+    <cpp-install-files
         srcdir="${this.dir}/tuscany/sca"
         files="export.h"
         destdir="${tuscanySCA.install.dir}/include/tuscany/sca"/>
-    <cpp-install-lib
-        libs="${lib.prefix}${tuscany.core.lib}${lib.ext}"
-        srclibdir="${lib.dir}"
-        destlibdir="${tuscanySCA.install.dir}/lib"/>
+    <cpp-install-file
+        srcfile="${lib.prefix}${tuscany.core.lib}${lib.ext}"
+        destfile="${lib.prefix}${tuscany.core.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${lib.dir}"
+        destdir="${tuscanySCA.install.dir}/lib"/>
+    <cpp-symlink
+        linkdir="${tuscanySCA.install.dir}/lib"
+        link="${lib.prefix}${tuscany.core.lib}${lib.ext}"
+        resource="${lib.prefix}${tuscany.core.lib}${lib.ext}${tuscanySCA.library.version}"/>
   </target>
 
   <target name="clean" description="Clean all TuscanyScaNative core compiled source code">
@@ -118,14 +205,13 @@
     <antcall target="clean.model"/>
     <antcall target="clean.util"/>
     <delete dir="${lib.dir}" quiet="true"/>
-    <delete
-        quiet="true"
+    <cpp-clean-files
         dir="${tuscanySCA.install.dir}/include/tuscany/sca"
-        file="export.h"/>
-    <delete
-        quiet="true"
+        files="export.h"
+        rmdir="true"/>
+    <cpp-clean-files
         dir="${tuscanySCA.install.dir}/lib"
-        file="${lib.prefix}${tuscany.core.lib}${lib.ext}"/>
+        rmdir="true"/>
   </target>
 
   <!--
@@ -166,28 +252,28 @@
     <!-- install -->
 
   <target name="install.core">
-    <cpp-install-headers
+    <cpp-install-files
         srcdir="${core.abs.dir}"
         files="${core.h.files}"
         destdir="${tuscanySCA.install.dir}/include/${core.dir}"/>
   </target>
 
   <target name="install.extension">
-    <cpp-install-headers
+    <cpp-install-files
         srcdir="${extension.abs.dir}"
         files="${extension.h.files}"
         destdir="${tuscanySCA.install.dir}/include/${extension.dir}"/>
   </target>
 
   <target name="install.model">
-    <cpp-install-headers
+    <cpp-install-files
         srcdir="${model.abs.dir}"
         files="${model.h.files}"
         destdir="${tuscanySCA.install.dir}/include/${model.dir}"/>
   </target>
 
   <target name="install.util">
-    <cpp-install-headers
+    <cpp-install-files
         srcdir="${util.abs.dir}"
         files="${util.h.files}"
         destdir="${tuscanySCA.install.dir}/include/${util.dir}"/>
@@ -196,35 +282,27 @@
     <!-- clean -->
 
   <target name="clean.core">
-    <delete quiet="true">
-      <fileset
-          dir="${tuscanySCA.install.dir}/include/${core.dir}"
-          includes="${core.h.files}"/>
-    </delete>
+    <cpp-clean-files
+        dir="${tuscanySCA.install.dir}/include/${core.dir}"
+        rmdir="true"/>
   </target>
 
   <target name="clean.extension">
-    <delete quiet="true">
-      <fileset
-          dir="${tuscanySCA.install.dir}/include/${extension.dir}"
-          includes="${extension.h.files}"/>
-    </delete>
+    <cpp-clean-files
+        dir="${tuscanySCA.install.dir}/include/${extension.dir}"
+        rmdir="true"/>
   </target>
 
   <target name="clean.model">
-    <delete quiet="true">
-      <fileset
-          dir="${tuscanySCA.install.dir}/include/${model.dir}"
-          includes="${model.h.files}"/>
-    </delete>
+    <cpp-clean-files
+        dir="${tuscanySCA.install.dir}/include/${model.dir}"
+        rmdir="true"/>
   </target>
 
   <target name="clean.util">
-    <delete quiet="true">
-      <fileset
-          dir="${tuscanySCA.install.dir}/include/${util.dir}"
-          includes="${util.h.files}"/>
-    </delete>
+    <cpp-clean-files
+        dir="${tuscanySCA.install.dir}/include/${util.dir}"
+        rmdir="true"/>
   </target>
 
 </project>

Added: incubator/tuscany/cpp/sca/runtime/extensions/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/build.xml?view=auto&rev=558854
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/build.xml (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/build.xml Mon Jul 23 13:27:00 2007
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+-->
+<project name="TuscanyScaNative_extensions" default="all" basedir="../..">
+
+  <!--
+    Notice that the basedir for this project is set to the TuscanySCA root dir
+    This makes path setting in system.xml much simpler, but we'll just have to
+    set a property here to this directory.
+  -->
+  <property name="this.dir"    location="${basedir}/runtime/extensions"/>
+  <property name="cpp.dir"     location="${this.dir}/cpp"/>
+  <property name="php.dir"     location="${this.dir}/php"/>
+  <property name="python.dir"  location="${this.dir}/python"/>
+  <property name="rest.dir"    location="${this.dir}/rest"/>
+  <property name="ruby.dir"    location="${this.dir}/ruby"/>
+  <property name="sca.dir"     location="${this.dir}/sca"/>
+  <property name="ws.dir"      location="${this.dir}/ws"/>
+
+  <!--
+    Public targets
+  -->
+  <target name="all"
+      description="build and install all TuscanyScaNative extensions source code">
+    <antcall target="build"/>
+    <antcall target="install"/>
+  </target>
+
+  <target name="build" description="Build all TuscanyScaNative extensions source code">
+    <antcall target="build.extension.cpp"/>
+    <antcall target="build.extension.php"/>
+    <antcall target="build.extension.python"/>
+    <antcall target="build.extension.rest"/>
+    <antcall target="build.extension.ruby"/>
+    <antcall target="build.extension.sca"/>
+    <antcall target="build.extension.ws"/>
+  </target>
+
+  <target name="install" description="Install TuscanyScaNative extensions libraries and headers">
+    <antcall target="install.extension.cpp"/>
+    <antcall target="install.extension.php"/>
+    <antcall target="install.extension.python"/>
+    <antcall target="install.extension.rest"/>
+    <antcall target="install.extension.ruby"/>
+    <antcall target="install.extension.sca"/>
+    <antcall target="install.extension.ws"/>
+  </target>
+
+  <target name="clean" description="Clean all TuscanyScaNative extensions built source code">
+    <antcall target="clean.extension.cpp"/>
+    <antcall target="clean.extension.php"/>
+    <antcall target="clean.extension.python"/>
+    <antcall target="clean.extension.rest"/>
+    <antcall target="clean.extension.ruby"/>
+    <antcall target="clean.extension.sca"/>
+    <antcall target="clean.extension.ws"/>
+  </target>
+
+  <!--
+    Internal targets
+    They can still be called, they're just not described, so wont show up in "ant -p"
+  -->
+
+    <!-- build -->
+
+  <target name="build.extension.cpp">
+    <ant target="build" antfile="${cpp.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="build.extension.php">
+    <!-- TODO finish this
+    <ant target="build" antfile="${php.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="build.extension.python">
+    <!-- TODO finish this
+    <ant target="build" antfile="${python.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="build.extension.rest">
+    <!-- TODO finish this
+    <ant target="build" antfile="${rest.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="build.extension.ruby">
+    <!-- TODO finish this
+    <ant target="build" antfile="${ruby.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="build.extension.sca">
+    <ant target="build" antfile="${sca.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="build.extension.ws">
+    <ant target="build" antfile="${ws.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+    <!-- install -->
+
+  <target name="install.extension.cpp">
+    <ant target="install" antfile="${cpp.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="install.extension.php">
+    <!-- TODO finish this
+    <ant target="install" antfile="${php.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="install.extension.python">
+    <!-- TODO finish this
+    <ant target="install" antfile="${python.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="install.extension.rest">
+    <!-- TODO finish this
+    <ant target="install" antfile="${rest.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="install.extension.ruby">
+    <!-- TODO finish this
+    <ant target="install" antfile="${ruby.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="install.extension.sca">
+    <ant target="install" antfile="${sca.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="install.extension.ws">
+    <ant target="install" antfile="${ws.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+    <!-- clean -->
+
+  <target name="clean.extension.cpp">
+    <ant target="clean" antfile="${cpp.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="clean.extension.php">
+    <!-- TODO finish this
+    <ant target="clean" antfile="${php.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="clean.extension.python">
+    <!-- TODO finish this
+    <ant target="clean" antfile="${python.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="clean.extension.rest">
+    <!-- TODO finish this
+    <ant target="clean" antfile="${rest.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="clean.extension.ruby">
+    <!-- TODO finish this
+    <ant target="clean" antfile="${ruby.dir}/build.xml" inheritAll="false"/>
+    -->
+  </target>
+
+  <target name="clean.extension.sca">
+    <ant target="clean" antfile="${sca.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+  <target name="clean.extension.ws">
+    <ant target="clean" antfile="${ws.dir}/build.xml" inheritAll="false"/>
+  </target>
+
+</project>

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml?view=auto&rev=558854
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml Mon Jul 23 13:27:00 2007
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+-->
+<project name="TuscanyScaNative_extension_cpp" default="all" basedir="../../..">
+
+  <import file="${basedir}/antscripts/system.xml"/>
+  <import file="${basedir}/antscripts/compile-targets.xml"/>
+
+  <!--
+    Notice that the basedir for this project is set to the TuscanySCA root dir
+    This makes path setting in system.xml much simpler, but we'll just have to
+    set a property here to this directory.
+  -->
+  <property name="osoa.dir"       value="osoa/sca"/>
+  <property name="cpp.core.dir"   value="tuscany/sca/cpp"/>
+  <property name="cpp.model.dir"  value="tuscany/sca/cpp/model"/>
+  <property name="xsd.dir"        value="xsd"/>
+
+  <property name="this.dir"           location="${basedir}/runtime/extensions/cpp"/>
+  <property name="this.src.dir"       location="${this.dir}/src"/>
+  <property name="osoa.abs.dir"       location="${this.src.dir}/${osoa.dir}"/>
+  <property name="cpp.core.abs.dir"   location="${this.src.dir}/${cpp.core.dir}"/>
+  <property name="cpp.model.abs.dir"  location="${this.src.dir}/${cpp.model.dir}"/>
+  <property name="lib.dir"            location="${this.src.dir}/.libs"/>
+  <property name="xsd.abs.dir"        location="${this.dir}/${xsd.dir}"/>
+
+  <property name="tuscany.cpp.extension.lib"   value="tuscany_sca_cpp"/>
+  <property name="cpp.extension.install.dir"   location="${tuscanySCA.install.dir}/extensions/cpp"/>
+
+  <!--
+    All the cpp and header files per subdirectory
+    New classes should be added to these properties
+  -->
+
+  <property
+    name="osoa.cpp.files"
+    value="ComponentContext.cpp CompositeContext.cpp"/>
+  <property
+    name="osoa.h.files"
+    value="ComponentContext.h
+           CompositeContext.h
+           export.h
+           sca.h
+           ServiceRuntimeException.h"/>
+
+  <property
+    name="cpp.core.cpp.files"
+    value="ComponentContextImpl.cpp
+           CompositeContextImpl.cpp
+           CPPExtension.cpp
+           CPPImplementationExtension.cpp
+           CPPInterfaceExtension.cpp
+           CPPServiceProxy.cpp
+           CPPServiceWrapper.cpp
+           TuscanyRuntime.cpp"/>
+  <property
+    name="cpp.core.h.files"
+    value="ComponentContextImpl.h
+           CompositeContextImpl.h
+           CPPExtension.h
+           CPPImplementationExtension.h
+           CPPInterfaceExtension.h
+           CPPServiceProxy.h
+           CPPServiceWrapper.h
+           TuscanyRuntime.h"/>
+
+  <property
+    name="cpp.model.cpp.files"
+    value="CPPImplementation.cpp
+           CPPInterface.cpp
+           CPPReferenceBinding.cpp
+           CPPServiceBinding.cpp"/>
+  <property
+    name="cpp.model.h.files"
+    value="CPPImplementation.h
+           CPPInterface.h
+           CPPReferenceBinding.h
+           CPPServiceBinding.h"/>
+
+  <property
+    name="xsd.files"
+    value="sca-implementation-cpp.xsd
+           sca-interface-cpp.xsd"/>
+  <!--
+    Public targets
+  -->
+  <target name="all" description="Compile, link, and install all TuscanyScaNative cpp extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+    <antcall target="install"/>
+  </target>
+
+  <!-- TODO is tools/scagen included? I thought it moved to <root>/tools -->
+
+  <target name="build" description="Compile and link all TuscanyScaNative cpp extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+  </target>
+
+  <target name="compile" description="Compile all TuscanyScaNative cpp extension source code">
+    <antcall target="compile.cpp.osoa"/>
+    <antcall target="compile.cpp.core"/>
+    <antcall target="compile.cpp.model"/>
+  </target>
+
+  <target name="link" description="Link all TuscanyScaNative cpp extension source code">
+    <cpp-link
+        outfile="${tuscany.cpp.extension.lib}"
+        outdir="${lib.dir}"
+        indir="${lib.dir}"
+        infiles="*${object.ext}"/>
+  </target>
+
+  <target name="install" description="Install TuscanyScaNative cpp extension libraries and headers">
+    <antcall target="install.cpp.osoa"/>
+    <antcall target="install.cpp.core"/>
+    <antcall target="install.cpp.model"/>
+    <antcall target="install.xsd"/>
+    <cpp-install-file
+        srcfile="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${lib.dir}"
+        destdir="${cpp.extension.install.dir}/lib"/>
+    <cpp-symlink
+        linkdir="${cpp.extension.install.dir}/lib"
+        link="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+    <cpp-symlink
+        linkdir="${cpp.extension.install.dir}/module"
+        link="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}"
+        resourcedir="${cpp.extension.install.dir}/lib"
+        resource="${lib.prefix}${tuscany.cpp.extension.lib}${lib.ext}"/>
+  </target>
+
+  <target name="clean" description="Clean all TuscanyScaNative cpp extension compiled source code">
+    <antcall target="clean.cpp.osoa"/>
+    <antcall target="clean.cpp.core"/>
+    <antcall target="clean.cpp.model"/>
+    <antcall target="clean.xsd"/>
+    <delete dir="${lib.dir}" quiet="true"/>
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/lib"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/module"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/include"
+        rmdir="true"/>
+  </target>
+
+  <!--
+    Internal targets
+    They can still be called, they're just not described, so wont show up in "ant -p"
+  -->
+
+    <!-- compile -->
+
+  <target name="compile.cpp.osoa">
+    <cpp-compile
+        srcdir="${osoa.abs.dir}"
+        objdir="${lib.dir}"
+        infiles="${osoa.cpp.files}">
+      <custom-cc-elements>
+        <includepath path="${this.src.dir}"/>
+      </custom-cc-elements>
+    </cpp-compile>
+  </target>
+
+  <target name="compile.cpp.core">
+    <cpp-compile
+        srcdir="${cpp.core.abs.dir}"
+        objdir="${lib.dir}"
+        infiles="${cpp.core.cpp.files}">
+      <custom-cc-elements>
+        <includepath path="${this.src.dir}"/>
+      </custom-cc-elements>
+    </cpp-compile>
+  </target>
+
+  <target name="compile.cpp.model">
+    <cpp-compile
+        srcdir="${cpp.model.abs.dir}"
+        objdir="${lib.dir}"
+        infiles="${cpp.model.cpp.files}">
+      <custom-cc-elements>
+        <includepath path="${this.src.dir}"/>
+      </custom-cc-elements>
+    </cpp-compile>
+  </target>
+
+    <!-- install -->
+
+  <target name="install.cpp.osoa">
+    <cpp-install-files
+        srcdir="${osoa.abs.dir}"
+        files="${osoa.h.files}"
+        destdir="${cpp.extension.install.dir}/include/${osoa.dir}"/>
+  </target>
+
+  <target name="install.cpp.core">
+    <cpp-install-files
+        srcdir="${cpp.core.abs.dir}"
+        files="${cpp.core.h.files}"
+        destdir="${cpp.extension.install.dir}/include/${cpp.core.dir}"/>
+  </target>
+
+  <target name="install.cpp.model">
+    <cpp-install-files
+        srcdir="${cpp.model.abs.dir}"
+        files="${cpp.model.h.files}"
+        destdir="${cpp.extension.install.dir}/include/${cpp.model.dir}"/>
+  </target>
+
+  <target name="install.xsd">
+    <cpp-install-files
+        srcdir="${xsd.abs.dir}"
+        files="${xsd.files}"
+        destdir="${cpp.extension.install.dir}/${xsd.dir}"/>
+  </target>
+
+    <!-- clean -->
+
+  <target name="clean.cpp.osoa">
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/include/${osoa.dir}"
+        rmdir="true"/>
+  </target>
+
+  <target name="clean.cpp.core">
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/include/${cpp.core.dir}"
+        rmdir="true"/>
+  </target>
+
+  <target name="clean.cpp.model">
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/include/${cpp.model.dir}"
+        rmdir="true"/>
+  </target>
+
+  <target name="clean.xsd">
+    <cpp-clean-files
+        dir="${cpp.extension.install.dir}/${xsd.dir}"
+        rmdir="true"/>
+  </target>
+
+</project>

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/cpp/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml?view=auto&rev=558854
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml Mon Jul 23 13:27:00 2007
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+-->
+<project name="TuscanyScaNative_extension_sca" default="all" basedir="../../..">
+
+  <import file="${basedir}/antscripts/system.xml"/>
+  <import file="${basedir}/antscripts/compile-targets.xml"/>
+
+  <!--
+    Notice that the basedir for this project is set to the TuscanySCA root dir
+    This makes path setting in system.xml much simpler, but we'll just have to
+    set a property here to this directory.
+  -->
+  <property name="this.dir"              location="${basedir}/runtime/extensions/sca"/>
+  <property name="reference.dir"         value="reference/src"/>
+  <property name="service.dir"           value="service/src"/>
+  <property name="binding.dir"           value="tuscany/sca/binding"/>
+  <property name="xsd.dir"               location="${this.dir}/xsd"/>
+  <property name="reference.core.dir"    location="${this.dir}/${reference.dir}/${binding.dir}"/>
+  <property name="reference.model.dir"   location="${this.dir}/${reference.dir}/${binding.dir}/model"/>
+  <property name="service.core.dir"      location="${this.dir}/${service.dir}/${binding.dir}"/>
+  <property name="service.model.dir"     location="${this.dir}/${service.dir}/${binding.dir}/model"/>
+  <property name="reference.lib.dir"     location="${this.dir}/${reference.dir}/.libs"/>
+  <property name="service.lib.dir"       location="${this.dir}/${service.dir}/.libs"/>
+
+  <property name="reference.extension.lib"    value="tuscany_sca_binding_reference"/>
+  <property name="service.extension.lib"      value="tuscany_sca_binding_service"/>
+  <property name="sca.extension.install.dir"  location="${tuscanySCA.install.dir}/extensions/sca"/>
+
+  <!--
+    All the cpp files per subdirectory
+    New classes should be added to these properties
+  -->
+
+  <property
+    name="reference.core.cpp.files"
+    value="SCAServiceBindingExtension.cpp"/>
+
+  <property
+    name="reference.model.cpp.files"
+    value="SCAServiceBinding.cpp"/>
+
+  <property
+    name="service.core.cpp.files"
+    value="SCAReferenceBindingExtension.cpp"/>
+
+  <property
+    name="service.model.cpp.files"
+    value="SCAReferenceBinding.cpp"/>
+
+  <property
+    name="xsd.files"
+    value="sca-binding-sca.xsd"/>
+  <!--
+    Public targets
+  -->
+  <target name="all" description="Compile, link, and install all TuscanyScaNative sca extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+    <antcall target="install"/>
+  </target>
+
+  <target name="build" description="Compile and link all TuscanyScaNative sca extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+  </target>
+
+  <target name="compile" description="Compile all TuscanyScaNative sca extension source code">
+    <antcall target="compile.sca.reference.core"/>
+    <antcall target="compile.sca.reference.model"/>
+    <antcall target="compile.sca.service.core"/>
+    <antcall target="compile.sca.service.model"/>
+  </target>
+
+  <target name="link" description="Link all TuscanyScaNative sca extension source code">
+    <antcall target="link.sca.reference"/>
+    <antcall target="link.sca.service"/>
+  </target>
+
+  <target name="install" description="Install TuscanyScaNative sca extension libraries and headers">
+    <antcall target="install.sca.reference"/>
+    <antcall target="install.sca.service"/>
+    <antcall target="install.sca.xsd"/>
+  </target>
+
+  <target name="clean" description="Clean all TuscanyScaNative sca extension compiled source code">
+    <antcall target="clean.sca.reference"/>
+    <antcall target="clean.sca.service"/>
+    <antcall target="clean.sca.xsd"/>
+  </target>
+
+  <!--
+    Internal targets
+    They can still be called, they're just not described, so wont show up in "ant -p"
+  -->
+
+    <!-- compile -->
+
+  <target name="compile.sca.reference.core">
+    <cpp-compile
+        srcdir="${reference.core.dir}"
+        objdir="${reference.lib.dir}"
+        infiles="${reference.core.cpp.files}"/>
+  </target>
+
+  <target name="compile.sca.reference.model">
+    <cpp-compile
+        srcdir="${reference.model.dir}"
+        objdir="${reference.lib.dir}"
+        infiles="${reference.model.cpp.files}">
+      <custom-cc-elements>
+        <includepath path="${this.dir}/${reference.dir}"/>
+      </custom-cc-elements>
+    </cpp-compile>
+  </target>
+
+  <target name="compile.sca.service.core">
+    <cpp-compile
+        srcdir="${service.core.dir}"
+        objdir="${service.lib.dir}"
+        infiles="${service.core.cpp.files}"/>
+  </target>
+
+  <target name="compile.sca.service.model">
+    <cpp-compile
+        srcdir="${service.model.dir}"
+        objdir="${service.lib.dir}"
+        infiles="${service.model.cpp.files}">
+      <custom-cc-elements>
+        <includepath path="${this.dir}/${service.dir}"/>
+      </custom-cc-elements>
+    </cpp-compile>
+  </target>
+
+    <!-- link -->
+
+  <target name="link.sca.reference">
+    <cpp-link
+        outfile="${reference.extension.lib}"
+        outdir="${reference.lib.dir}"
+        indir="${reference.lib.dir}"
+        infiles="*${object.ext}"/>
+  </target>
+
+  <target name="link.sca.service">
+    <cpp-link
+        outfile="${service.extension.lib}"
+        outdir="${service.lib.dir}"
+        indir="${service.lib.dir}"
+        infiles="*${object.ext}"/>
+  </target>
+
+    <!-- install -->
+
+  <target name="install.sca.reference">
+    <cpp-install-file
+        srcfile="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${reference.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${reference.lib.dir}"
+        destdir="${sca.extension.install.dir}/reference/lib"/>
+    <cpp-symlink
+        linkdir="${sca.extension.install.dir}/reference/lib"
+        link="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${reference.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+    <cpp-symlink
+        linkdir="${sca.extension.install.dir}/reference/module"
+        link="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        resourcedir="${sca.extension.install.dir}/reference/lib"
+        resource="${lib.prefix}${reference.extension.lib}${lib.ext}"/>
+  </target>
+
+  <target name="install.sca.service">
+    <cpp-install-file
+        srcfile="${lib.prefix}${service.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${service.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${service.lib.dir}"
+        destdir="${sca.extension.install.dir}/service/lib"/>
+    <cpp-symlink
+        linkdir="${sca.extension.install.dir}/service/lib"
+        link="${lib.prefix}${service.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${service.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+    <cpp-symlink
+        linkdir="${sca.extension.install.dir}/service/module"
+        link="${lib.prefix}${service.extension.lib}${lib.ext}"
+        resourcedir="${sca.extension.install.dir}/service/lib"
+        resource="${lib.prefix}${service.extension.lib}${lib.ext}"/>
+  </target>
+
+  <target name="install.sca.xsd">
+    <cpp-install-files
+        files="${xsd.files}"
+        srcdir="${xsd.dir}"
+        destdir="${sca.extension.install.dir}/xsd"/>
+  </target>
+
+    <!-- clean -->
+
+  <target name="clean.sca.reference">
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/reference/lib"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/reference/module"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/reference"
+        rmdir="true"/>
+    <delete dir="${reference.lib.dir}" quiet="true"/>
+  </target>
+
+  <target name="clean.sca.service">
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/service/lib"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/service/module"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/service"
+        rmdir="true"/>
+    <delete dir="${service.lib.dir}" quiet="true"/>
+  </target>
+
+  <target name="clean.sca.xsd">
+    <cpp-clean-files
+        dir="${sca.extension.install.dir}/xsd"
+        rmdir="true"/>
+  </target>
+
+</project>

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/sca/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml?view=auto&rev=558854
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml (added)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml Mon Jul 23 13:27:00 2007
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   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.
+-->
+<project name="TuscanyScaNative_extension_ws" default="all" basedir="../../..">
+
+  <import file="${basedir}/antscripts/system.xml"/>
+  <import file="${basedir}/antscripts/compile-targets.xml"/>
+
+  <!--
+    Notice that the basedir for this project is set to the TuscanySCA root dir
+    This makes path setting in system.xml much simpler, but we'll just have to
+    set a property here to this directory.
+  -->
+  <property name="this.dir"              location="${basedir}/runtime/extensions/ws"/>
+  <property name="reference.dir"         value="reference/axis2c/src"/>
+  <property name="service.dir"           value="service/axis2c/src"/>
+  <property name="ws.dir"                value="tuscany/sca/ws"/>
+  <property name="xsd.dir"               location="${this.dir}/xsd"/>
+  <property name="reference.core.dir"    location="${this.dir}/${reference.dir}/${ws.dir}"/>
+  <property name="reference.model.dir"   location="${this.dir}/${reference.dir}/${ws.dir}/model"/>
+  <property name="service.core.dir"      location="${this.dir}/${service.dir}/${ws.dir}"/>
+  <property name="service.model.dir"     location="${this.dir}/${service.dir}/${ws.dir}/model"/>
+  <property name="reference.lib.dir"     location="${this.dir}/${reference.dir}/.libs"/>
+  <property name="service.lib.dir"       location="${this.dir}/${service.dir}/.libs"/>
+
+  <property name="reference.extension.lib"    value="tuscany_sca_ws_reference"/>
+  <property name="service.extension.lib"      value="tuscany_sca_ws_service"/>
+  <property name="dispatcher.extension.lib"   value="tuscany_sca_ws_dispatcher"/>
+  <property name="ws.extension.install.dir"   location="${tuscanySCA.install.dir}/extensions/ws"/>
+
+  <!--
+    All the cpp files per subdirectory
+    New classes should be added to these properties
+  -->
+
+  <property
+    name="reference.core.cpp.files"
+    value="Axis2Client.cpp WSServiceBindingExtension.cpp WSServiceWrapper.cpp"/>
+
+  <property
+    name="reference.model.cpp.files"
+    value="WSServiceBinding.cpp"/>
+
+  <property
+    name="service.core.cpp.files"
+    value="Axis2Dispatcher.cpp
+           Axis2DispatcherModule.cpp
+           Axis2Service.cpp
+           Axis2Utils.cpp
+           WSReferenceBindingExtension.cpp
+           WSServiceProxy.cpp"/>
+
+  <property
+    name="service.core.obj.files"
+    value="Axis2Service${object.ext}
+           Axis2Utils${object.ext}
+           WSReferenceBindingExtension${object.ext}
+           WSServiceProxy${object.ext}"/>
+
+  <property
+    name="service.core.dispatcher.obj.files"
+    value="Axis2Dispatcher${object.ext}
+           Axis2DispatcherModule${object.ext}"/>
+
+  <property
+    name="service.model.cpp.files"
+    value="WSReferenceBinding.cpp"/>
+
+  <property
+    name="xsd.files"
+    value="sca-binding-webservice.xsd"/>
+
+  <!--
+    Public targets
+  -->
+  <target name="all" description="Compile, link, and install all TuscanyScaNative ws extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+    <antcall target="install"/>
+  </target>
+
+  <target name="build" description="Compile and link all TuscanyScaNative ws extension source code">
+    <antcall target="compile"/>
+    <antcall target="link"/>
+  </target>
+
+  <target name="compile" description="Compile all TuscanyScaNative ws extension source code">
+    <antcall target="compile.ws.reference.core"/>
+    <antcall target="compile.ws.reference.model"/>
+    <antcall target="compile.ws.service.core"/>
+    <antcall target="compile.ws.service.model"/>
+  </target>
+
+  <target name="link" description="Link all TuscanyScaNative ws extension source code">
+    <antcall target="link.ws.reference"/>
+    <antcall target="link.ws.service"/>
+    <antcall target="link.ws.service.dispatcher"/>
+  </target>
+
+  <target name="install" description="Install TuscanyScaNative ws extension libraries and headers">
+    <antcall target="install.ws.reference"/>
+    <antcall target="install.ws.service"/>
+    <antcall target="install.ws.xsd"/>
+  </target>
+
+  <target name="clean" description="Clean all TuscanyScaNative ws extension compiled source code">
+    <antcall target="clean.ws.reference"/>
+    <antcall target="clean.ws.service"/>
+    <antcall target="clean.ws.xsd"/>
+  </target>
+
+  <!--
+    Internal targets
+    They can still be called, they're just not described, so wont show up in "ant -p"
+  -->
+
+    <!-- compile -->
+
+  <target name="compile.ws.reference.core">
+    <if>
+      <equals arg1="${enable_ws}" arg2="true"/>
+      <then>
+        <cpp-compile
+            srcdir="${reference.core.dir}"
+            objdir="${reference.lib.dir}"
+            infiles="${reference.core.cpp.files}">
+          <custom-cc-elements>
+            <includepath path="${this.dir}/${reference.dir}"/>
+            <includepath path="${axis2c.home.dir}/include"/>
+          </custom-cc-elements>
+        </cpp-compile>
+      </then>
+      <else>
+        <echo
+            message="TuscanySCA ws is not enabled since Axis2c has not been specified"
+            level="warning"/>
+      </else>
+    </if>
+  </target>
+
+  <target name="compile.ws.reference.model">
+    <if>
+      <equals arg1="${enable_ws}" arg2="true"/>
+      <then>
+        <cpp-compile
+            srcdir="${reference.model.dir}"
+            objdir="${reference.lib.dir}"
+            infiles="${reference.model.cpp.files}">
+          <custom-cc-elements>
+            <includepath path="${this.dir}/${reference.dir}"/>
+          </custom-cc-elements>
+        </cpp-compile>
+      </then>
+      <else>
+        <echo
+            message="TuscanySCA ws is not enabled since Axis2c has not been specified"
+            level="warning"/>
+      </else>
+    </if>
+  </target>
+
+  <target name="compile.ws.service.core">
+    <if>
+      <equals arg1="${enable_ws}" arg2="true"/>
+      <then>
+        <cpp-compile
+            srcdir="${service.core.dir}"
+            objdir="${service.lib.dir}"
+            infiles="${service.core.cpp.files}">
+          <custom-cc-elements>
+            <includepath path="${this.dir}/${service.dir}"/>
+            <includepath path="${axis2c.home.dir}/include"/>
+          </custom-cc-elements>
+        </cpp-compile>
+      </then>
+      <else>
+        <echo
+            message="TuscanySCA ws is not enabled since Axis2c has not been specified"
+            level="warning"/>
+      </else>
+    </if>
+  </target>
+
+  <target name="compile.ws.service.model">
+    <if>
+      <equals arg1="${enable_ws}" arg2="true"/>
+      <then>
+        <cpp-compile
+            srcdir="${service.model.dir}"
+            objdir="${service.lib.dir}"
+            infiles="${service.model.cpp.files}">
+          <custom-cc-elements>
+            <includepath path="${this.dir}/${service.dir}"/>
+          </custom-cc-elements>
+        </cpp-compile>
+      </then>
+      <else>
+        <echo
+            message="TuscanySCA ws is not enabled since Axis2c has not been specified"
+            level="warning"/>
+      </else>
+    </if>
+  </target>
+
+    <!-- link -->
+
+  <target name="link.ws.reference">
+    <cpp-link
+        outfile="${reference.extension.lib}"
+        outdir="${reference.lib.dir}"
+        indir="${reference.lib.dir}"
+        infiles="*${object.ext}"/>
+  </target>
+
+  <target name="link.ws.service">
+    <cpp-link
+        outfile="${service.extension.lib}"
+        outdir="${service.lib.dir}"
+        indir="${service.lib.dir}"
+        infiles="${service.core.obj.files}"/>
+  </target>
+
+  <target name="link.ws.service.dispatcher">
+    <cpp-link
+        outfile="${dispatcher.extension.lib}"
+        outdir="${service.lib.dir}"
+        indir="${service.lib.dir}"
+        infiles="${service.core.dispatcher.obj.files}"/>
+  </target>
+
+    <!-- install -->
+
+  <target name="install.ws.reference">
+    <cpp-install-file
+        srcfile="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${reference.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${reference.lib.dir}"
+        destdir="${ws.extension.install.dir}/reference/lib"/>
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/reference/lib"
+        link="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${reference.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/reference/module"
+        link="${lib.prefix}${reference.extension.lib}${lib.ext}"
+        resourcedir="${ws.extension.install.dir}/reference/lib"
+        resource="${lib.prefix}${reference.extension.lib}${lib.ext}"/>
+  </target>
+
+  <target name="install.ws.service">
+       <!-- install files in the root service extension directory -->
+    <cpp-install-file
+        srcfile="axis2.xml"
+        srcdir="${this.dir}/${service.dir}"
+        destdir="${ws.extension.install.dir}/service"
+        executable="false"/>
+    <cpp-install-file
+        srcfile="deploy${script.ext}"
+        srcdir="${this.dir}/${service.dir}"
+        destdir="${ws.extension.install.dir}/service"/>
+
+       <!-- install and link service extenstion lib -->
+    <cpp-install-file
+        srcfile="${lib.prefix}${service.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${service.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${service.lib.dir}"
+        destdir="${ws.extension.install.dir}/service/lib"/>
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/service/lib"
+        link="${lib.prefix}${service.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${service.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/service/module"
+        link="${lib.prefix}${service.extension.lib}${lib.ext}"
+        resourcedir="${ws.extension.install.dir}/service/lib"
+        resource="${lib.prefix}${service.extension.lib}${lib.ext}"/>
+
+       <!-- install and link service dispatcher extenstion lib -->
+    <cpp-install-file
+        srcfile="${lib.prefix}${dispatcher.extension.lib}${lib.ext}"
+        destfile="${lib.prefix}${dispatcher.extension.lib}${lib.ext}${tuscanySCA.library.version}"
+        srcdir="${service.lib.dir}"
+        destdir="${ws.extension.install.dir}/service/lib"/>
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/service/lib"
+        link="${lib.prefix}${dispatcher.extension.lib}${lib.ext}"
+        resource="${lib.prefix}${dispatcher.extension.lib}${lib.ext}${tuscanySCA.library.version}"/>
+
+       <!-- create and setup the service/modules/tuscany directory -->
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/service/modules/tuscany"
+        link="${lib.prefix}${dispatcher.extension.lib}${lib.ext}"
+        resourcedir="${ws.extension.install.dir}/service/lib"
+        resource="${lib.prefix}${dispatcher.extension.lib}${lib.ext}"/>
+    <cpp-install-file
+        srcfile="module.xml"
+        srcdir="${this.dir}/${service.dir}"
+        destdir="${ws.extension.install.dir}/service/modules/tuscany"
+        executable="false"/>
+
+       <!-- create and setup the service/services/tuscany directory -->
+    <cpp-symlink
+        linkdir="${ws.extension.install.dir}/service/services/tuscany"
+        link="${lib.prefix}${service.extension.lib}${lib.ext}"
+        resourcedir="${ws.extension.install.dir}/service/lib"
+        resource="${lib.prefix}${service.extension.lib}${lib.ext}"/>
+    <cpp-install-file
+        srcfile="services.xml"
+        srcdir="${this.dir}/${service.dir}"
+        destdir="${ws.extension.install.dir}/service/services/tuscany"
+        executable="false"/>
+  </target>
+
+  <target name="install.ws.xsd">
+    <cpp-install-files
+        files="${xsd.files}"
+        srcdir="${xsd.dir}"
+        destdir="${ws.extension.install.dir}/xsd"/>
+  </target>
+
+    <!-- clean -->
+
+  <target name="clean.ws.reference">
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/reference/lib"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/reference/module"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/reference"
+        rmdir="true"/>
+    <delete dir="${reference.lib.dir}" quiet="true"/>
+  </target>
+
+  <target name="clean.ws.service">
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/service/lib"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/service/module"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/service/modules/tuscany"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/service/services/tuscany"
+        rmdir="true"/>
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/service"
+        rmdir="true"/>
+    <delete dir="${service.lib.dir}" quiet="true"/>
+  </target>
+
+  <target name="clean.ws.xsd">
+    <cpp-clean-files
+        dir="${ws.extension.install.dir}/xsd"
+        rmdir="true"/>
+  </target>
+
+</project>

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/runtime/extensions/ws/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/cpp/sca/tools/TuscanyDriver/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/tools/TuscanyDriver/build.xml?view=diff&rev=558854&r1=558853&r2=558854
==============================================================================
--- incubator/tuscany/cpp/sca/tools/TuscanyDriver/build.xml (original)
+++ incubator/tuscany/cpp/sca/tools/TuscanyDriver/build.xml Mon Jul 23 13:27:00 2007
@@ -18,58 +18,56 @@
    under the License.
 -->
 
-<project name="tuscanyDriver" default="build">
+<project name="tuscanyDriver" default="all">
 
-  <taskdef resource='cpptasks.tasks'/>
-  <typedef resource='cpptasks.types'/>
+  <property file="../../antscripts/platform.properties"/>
+  <import file="${tuscanySCA.antscripts.dir}/compile-targets.xml"/>
 
-  <property environment="env"/>
-  <property name="TUSCANY_SCACPP" value="${env.TUSCANY_SCACPP}"/>
-  <property name="TUSCANY_SDOCPP" value="${env.TUSCANY_SDOCPP}"/>
-
-  <condition property='compiler-name' value='msvc'>
-    <os family='windows'/>
-  </condition>
-  <condition property='compiler-name' value='g++'>
-    <os name='linux'/>
-  </condition>
-
-  <compiler id='msvc-Compiler' name='msvc'/>
-  <compiler id='g++-Compiler' name='g++'/>
-
-  <linker id='BaseLinker'>
-    <syslibset if='windows' libs='kernel32,user32'/>
-  </linker>
+  <property name="tuscanyServiceLoader.app" value="tuscanyServiceLoader"/>
+  <property name="tuscanyServiceLoader.files" value="TuscanyServiceLoader.cpp main.cpp"/>
+  <property name="bin.dir" location="bin"/>
+  <property name="install.dir" location="${tuscanySCA.install.dir}/bin"/>
+
+  <!--
+    Public targets
+  -->
+  <target name="all" description="Compile, Link, and Install the TuscanyServiceLoader">
+    <antcall target="build"/>
+    <antcall target="install"/>
+  </target>
 
-  <linker id='msvc-Linker' extends='BaseLinker' name='msvc'/>
-  <linker id='g++-Linker' extends='BaseLinker' name='g++'/>
+  <target name="clean" description="Remove the TuscanyServiceLoader installation">
+    <sequential>
+      <delete dir="${bin.dir}"/>
+      <delete file="${install.dir}/${tuscanyServiceLoader.app}"/>
+    </sequential>
+  </target>
 
+  <!--
+    Internal targets
+  -->
   <target name="build">
     <sequential>
-      <mkdir dir="bin"/>
-      <cc
-        warnings='none'
-        debug='${debug}'
-        outtype='executable'
-        subsystem='console'
-        outfile='bin/tuscanyServiceLoader'
-        multithreaded='true'
-        exceptions='true'
-        objdir='bin'>
-          <compiler refid='${compiler-name}-Compiler'/>
-          <linker refid='${compiler-name}-Linker'/>
-          <libset dir='${TUSCANY_SCACPP}/lib' libs='tuscany_sca'/>
-          <includepath path='.'/>
-          <includepath path='${TUSCANY_SDOCPP}/include/'/>
-          <includepath path='${TUSCANY_SCACPP}/include/'/>
-          <fileset dir='.' includes='*.cpp'/>
-      </cc>
+      <cpp-build
+          srcdir="."
+          infiles="${tuscanyServiceLoader.files}"
+          outdir="${bin.dir}"
+          outfile="${tuscanyServiceLoader.app}"
+          outtype="executable">
+        <custom-build-elements>
+          <libset dir="${tuscanySCA.install.dir}/lib" libs="tuscany_sca"/>
+        </custom-build-elements>
+      </cpp-build>
     </sequential>
   </target>
 
-  <target name="clean">
+  <target name="install">
     <sequential>
-      <delete dir="bin"/>
+      <mkdir dir="${install.dir}"/>
+      <copy todir="${install.dir}" overwrite='true'>
+        <fileset dir="${bin.dir}" includes="${tuscanyServiceLoader.app}"/>
+      </copy>
+      <chmod file="${install.dir}/${tuscanyServiceLoader.app}" perm="755"/>
     </sequential>
   </target>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org