You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2004/10/12 18:26:09 UTC

cvs commit: ws-axis/c buildClient.xml buildDocumentation.xml buildInitialize.xml buildTraceTool.xml buildTransport.xml buildWSDL2Ws.xml buildXMLParser.xml package.xml build.AIX.properties build.Linux.properties build.SunOS.properties build.Win32.properties build.xml

dicka       2004/10/12 09:26:09

  Modified:    c        build.AIX.properties build.Linux.properties
                        build.SunOS.properties build.Win32.properties
                        build.xml
  Added:       c        buildClient.xml buildDocumentation.xml
                        buildInitialize.xml buildTraceTool.xml
                        buildTransport.xml buildWSDL2Ws.xml
                        buildXMLParser.xml package.xml
  Log:
  Major changes to ANT build scripts - to support nightly builds
  
  Submitted by: Adrian Dick
  Reviewed by: Andrew Perry
  
  Revision  Changes    Path
  1.6       +80 -30    ws-axis/c/build.AIX.properties
  
  Index: build.AIX.properties
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/build.AIX.properties,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- build.AIX.properties	5 Oct 2004 10:38:30 -0000	1.5
  +++ build.AIX.properties	12 Oct 2004 16:26:08 -0000	1.6
  @@ -13,57 +13,107 @@
   #		xmlParser = expat
   #		xmlParserLibrary = expat
   
  -# Parser to be used
  -xmlParser = expat
  -
  -# Name of parser library to link against
  -xmlParserLibrary = expat
  -
  -# Location of parser
  -dir.xmlParser = /home/axisdev/expat-1.95.7
  +# Parsers to be used
  +xmlParser.xml4c = false
  +xmlParser.xerces = true
  +xmlParser.expat = false
  +
  +## Values used for XML4C
  +xml4c.xmlParserLibrary = xml4c
  +xml4c.dir.xmlParser = ${env.XML4C}
  +xml4c.xmlParserLibraryName = axis_xml4c
  +
  +## Values used for Xerces
  +xerces.xmlParserLibrary = xerces-c
  +xerces.dir.xmlParser = ${env.XERCES_HOME}
  +xerces.xmlParserLibraryName = axis_xerces
  +
  +## Values used for Expat
  +expat.xmlParserLibrary = expat
  +expat.dir.xmlParser = ${env.EXPAT_HOME}
  +expat.xmlParserLibraryName = axis_expat
  +
  +# Name for compiled XML Parser library - excluding any prefix or suffix
  +# eg: For Windows :   axis_xmlParser will produce axis_xmlParser.dll
  +#     For Unix    :   axis_xmlParser will produce libaxis_xmlParser.so
  +xmlParserLibraryName = axis_xmlParser
   
   ########################
   # Transport Properties #
   ########################
  -transport = axis2
  +
  +# Transports to be used
  +transport.axis = true
  +transport.axis2 = true
  +transport.libwww = false
  +
  +## Values used for axis
  +axis.transportLibraryName = axis_transport
  +
  +## Values used for axis2
  +axis2.transportLibraryName = axis2_transport
  +
  +## Values used for libwww
  +libwww.transportLibraryName = libwww_transport
  +
  +# Name for compiled transport library - excluding any prefix or suffix
  +# eg: For Windows :   axis_transport will produce axis_transport.dll
  +#     For Unix    :   axis_transport will produce libaxis_transport.so
  +#
  +transportLibraryName = axis_transport
  +
  +#####################
  +# Client Properties #
  +#####################
  +
  +# Name for compiled client - excluding any prefix or suffix
  +# eg: For Windows :   axis_client will produce axis_client.dll
  +#     For Unix    :   axis_client will produce libaxis_client.so
  +clientLibraryName = axis_client
  +
  +####################
  +# Trace Properties #
  +####################
  +
  +# Instrument the Axis C++ source code with entry/exit trace
  +dir.src.instrumented = ${basedir}/../../../obj/src
   
   #######################################
   # Properties for compiling C/C++ code #
   #######################################
   
   # Directory in which to place compiled libraries
  -dir.bin = ${basedir}/deploy/lib
  +dir.bin = ${basedir}/../../../obj/bin
   
   # Directory in which to place object files
  -dir.objects = ${basedir}/lib/axis
  -
  -# Names for compiled libraries - excluding any prefix or suffix
  -# eg: For Windows :   libaxis_client will produce libaxis_client.dll
  -#     For Unix    :   axis_client will produce libaxis_client.so
  -clientLibraryName = axiscpp_client
  -transportLibraryName = axis_transport
  -xmlParserLibraryName = axis_xmlparser
  -
  -# File names for compiled libraries - only required for AIX, due to cpptasks bug
  -clientLibraryFileName=libaxis_client.so
  -transportLibraryFileName = libaxis_transport.so
  -xmlParserLibraryFileName = libaxis_xmlParser.so
  +dir.objects = ${basedir}/../../../obj/objects
   
   ####################################
   # Properties for compiling WSDL2Ws #
   ####################################
   
   # Location of Axis JARs
  -dir.axisJARs = /home/axisdev/java/axis-1_2beta/lib
  +dir.axisJARs = ${basedir}/../../PreReqs
   
   # Directory in which to place compiled Java classes
  -dir.classes = ${basedir}/lib/axis
  +dir.classes = ${basedir}/../../../obj/classes
  +
  +###########################################
  +# Properties for packaging Binary release #
  +###########################################
  +release = axis-c-${version}-${platform}
  +dir.release = ${basedir}/../../../obj/package/${release}
  +
  +###############################
  +# Properties for Deliverables #
  +###############################
  +dir.zips = ${basedir}/../../../Zips
   
   ############################
   # Properties for packaging #
   ############################
   # Base directory for packaging - not used directly within build.xml, just used to simplify this property file
  -dir.package = ${basedir}/deploy
  +dir.package = ${basedir}/../../../obj/package
   
   # Directory in which to place DLLs - Only used for Windows platform
   dir.package.bin = ${dir.package}/bin
  @@ -75,7 +125,7 @@
   dir.package.include = ${dir.package}/include
   
   # Directory in which to place WSDL2Ws JAR files
  -dir.package.WSDL2Ws = ${dir.classes}
  +dir.package.WSDL2Ws = ${dir.package}/WSDL2Ws
   
   # Directory in which to place Documentation
   dir.package.docs = ${dir.package}/docs
  @@ -86,14 +136,14 @@
   
   # Directory in which to place all generated test artifacts
   # This is also the directory in which code is built and run
  -dir.test.generated = ${basedir}/tests/auto_build/testcases/Output
  +dir.test.generated = ${basedir}/../../../obj/test/generated
   
   # Log files for test results
   results.log = ${dir.test.generated}/results.log
   
   # Prefix and suffix used for executables and libraries
   # Typical values are:
  -#	For windows:
  +#   For windows:
   #		executableSuffix = .exe
   #		librarySuffix = .dll
   #		libraryPrefix = 
  @@ -110,7 +160,7 @@
   # Directory containing Axis C libraries
   # For Windows this should be ${dir.package.bin}
   # For Unix this should be ${dir.package.lib}
  -dir.libraries = ${dir.package.bin}
  +dir.libraries = ${dir.package.lib}
   
   # May want to uncomment for testing so the build output is used
   #dir.include = ${dir.package.include}
  
  
  
  1.5       +80 -25    ws-axis/c/build.Linux.properties
  
  Index: build.Linux.properties
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/build.Linux.properties,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- build.Linux.properties	5 Oct 2004 10:38:30 -0000	1.4
  +++ build.Linux.properties	12 Oct 2004 16:26:08 -0000	1.5
  @@ -13,52 +13,107 @@
   #		xmlParser = expat
   #		xmlParserLibrary = expat
   
  -# Parser to be used
  -xmlParser = expat
  -
  -# Name of parser library to link against
  -xmlParserLibrary = expat
  -
  -# Location of parser
  -dir.xmlParser = /home/axisdev/expat-1.95.7
  +# Parsers to be used
  +xmlParser.xml4c = false
  +xmlParser.xerces = true
  +xmlParser.expat = false
  +
  +## Values used for XML4C
  +xml4c.xmlParserLibrary = xml4c
  +xml4c.dir.xmlParser = ${env.XML4C_HOME}
  +xml4c.xmlParserLibraryName = axis_xml4c
  +
  +## Values used for Xerces
  +xerces.xmlParserLibrary = xerces-c
  +xerces.dir.xmlParser = ${env.XERCES_HOME}
  +xerces.xmlParserLibraryName = axis_xerces
  +
  +## Values used for Expat
  +expat.xmlParserLibrary = expat
  +expat.dir.xmlParser = ${env.EXPAT_HOME}
  +expat.xmlParserLibraryName = axis_expat
  +
  +# Name for compiled XML Parser library - excluding any prefix or suffix
  +# eg: For Windows :   axis_xmlParser will produce axis_xmlParser.dll
  +#     For Unix    :   axis_xmlParser will produce libaxis_xmlParser.so
  +xmlParserLibraryName = axis_xmlParser
   
   ########################
   # Transport Properties #
   ########################
  -transport = axis2
  +
  +# Transports to be used
  +transport.axis = true
  +transport.axis2 = true
  +transport.libwww = false
  +
  +## Values used for axis
  +axis.transportLibraryName = axis_transport
  +
  +## Values used for axis2
  +axis2.transportLibraryName = axis2_transport
  +
  +## Values used for libwww
  +libwww.transportLibraryName = libwww_transport
  +
  +# Name for compiled transport library - excluding any prefix or suffix
  +# eg: For Windows :   axis_transport will produce axis_transport.dll
  +#     For Unix    :   axis_transport will produce libaxis_transport.so
  +#
  +transportLibraryName = axis_transport
  +
  +#####################
  +# Client Properties #
  +#####################
  +
  +# Name for compiled client - excluding any prefix or suffix
  +# eg: For Windows :   axis_client will produce axis_client.dll
  +#     For Unix    :   axis_client will produce libaxis_client.so
  +clientLibraryName = axis_client
  +
  +####################
  +# Trace Properties #
  +####################
  +
  +# Instrument the Axis C++ source code with entry/exit trace
  +dir.src.instrumented = ${basedir}/../../../obj/src
   
   #######################################
   # Properties for compiling C/C++ code #
   #######################################
   
   # Directory in which to place compiled libraries
  -dir.bin = ${basedir}/deploy/lib
  +dir.bin = ${basedir}/../../../obj/bin
   
   # Directory in which to place object files
  -dir.objects = ${basedir}/lib/axis
  -
  -# Names for compiled libraries - excluding any prefix or suffix
  -# eg: For Windows :   libaxis_client will produce libaxis_client.dll
  -#     For Unix    :   axis_client will produce libaxis_client.so
  -clientLibraryName = axiscpp_client
  -transportLibraryName = axis_transport
  -xmlParserLibraryName = axis_xmlparser
  +dir.objects = ${basedir}/../../../obj/objects
   
   ####################################
   # Properties for compiling WSDL2Ws #
   ####################################
   
   # Location of Axis JARs
  -dir.axisJARs = /home/axisdev/java/axis-1_2beta/lib
  +dir.axisJARs = ${basedir}/../../PreReqs
   
   # Directory in which to place compiled Java classes
  -dir.classes = ${basedir}/lib/axis
  +dir.classes = ${basedir}/../../../obj/classes
  +
  +###########################################
  +# Properties for packaging Binary release #
  +###########################################
  +release = axis-c-${version}-${platform}
  +dir.release = ${basedir}/../../../obj/package/${release}
  +
  +###############################
  +# Properties for Deliverables #
  +###############################
  +dir.zips = ${basedir}/../../../Zips
   
   ############################
   # Properties for packaging #
   ############################
   # Base directory for packaging - not used directly within build.xml, just used to simplify this property file
  -dir.package = ${basedir}/deploy
  +dir.package = ${basedir}/../../../obj/package
   
   # Directory in which to place DLLs - Only used for Windows platform
   dir.package.bin = ${dir.package}/bin
  @@ -70,7 +125,7 @@
   dir.package.include = ${dir.package}/include
   
   # Directory in which to place WSDL2Ws JAR files
  -dir.package.WSDL2Ws = ${dir.classes}
  +dir.package.WSDL2Ws = ${dir.package}/WSDL2Ws
   
   # Directory in which to place Documentation
   dir.package.docs = ${dir.package}/docs
  @@ -81,14 +136,14 @@
   
   # Directory in which to place all generated test artifacts
   # This is also the directory in which code is built and run
  -dir.test.generated = ${basedir}/tests/auto_build/testcases/Output
  +dir.test.generated = ${basedir}/../../../obj/test/generated
   
   # Log files for test results
   results.log = ${dir.test.generated}/results.log
   
   # Prefix and suffix used for executables and libraries
   # Typical values are:
  -#	For windows:
  +#   For windows:
   #		executableSuffix = .exe
   #		librarySuffix = .dll
   #		libraryPrefix = 
  @@ -105,7 +160,7 @@
   # Directory containing Axis C libraries
   # For Windows this should be ${dir.package.bin}
   # For Unix this should be ${dir.package.lib}
  -dir.libraries = ${dir.package.bin}
  +dir.libraries = ${dir.package.lib}
   
   # May want to uncomment for testing so the build output is used
   #dir.include = ${dir.package.include}
  
  
  
  1.3       +85 -30    ws-axis/c/build.SunOS.properties
  
  Index: build.SunOS.properties
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/build.SunOS.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- build.SunOS.properties	5 Oct 2004 10:38:30 -0000	1.2
  +++ build.SunOS.properties	12 Oct 2004 16:26:08 -0000	1.3
  @@ -3,56 +3,111 @@
   #####################
   
   # Typical values are:
  -#		 For Xerces, on Windows:
  -#		 		 xmlParser = xerces
  -#		 		 xmlParserLibrary = xerces-c_2
  -#		 For Xerces, on Unix:
  -#		 		 xmlParser = xerces
  -#		 		 xmlParserLibrary = xerces-c
  -#		 For Expat, on Unix:
  -#		 		 xmlParser = expat
  -#		 		 xmlParserLibrary = expat
  -
  -# Parser to be used
  -xmlParser = expat
  -
  -# Name of parser library to link against
  -xmlParserLibrary = expat
  -
  -# Location of parser
  -dir.xmlParser = ${env.EXPAT_HOME}
  +#	For Xerces, on Windows:
  +#		xmlParser = xerces
  +#		xmlParserLibrary = xerces-c_2
  +#	For Xerces, on Unix:
  +#		xmlParser = xerces
  +#		xmlParserLibrary = xerces-c
  +#	For Expat, on Unix:
  +#		xmlParser = expat
  +#		xmlParserLibrary = expat
  +
  +# Parsers to be used
  +xmlParser.xml4c = false
  +xmlParser.xerces = true
  +xmlParser.expat = false
  +
  +## Values used for XML4C
  +xml4c.xmlParserLibrary = xml4c
  +xml4c.dir.xmlParser = ${env.XML4C_HOME}
  +xml4c.xmlParserLibraryName = axis_xml4c
  +
  +## Values used for Xerces
  +xerces.xmlParserLibrary = xerces-c
  +xerces.dir.xmlParser = ${env.XERCES_HOME}
  +xerces.xmlParserLibraryName = axis_xerces
  +
  +## Values used for Expat
  +expat.xmlParserLibrary = expat
  +expat.dir.xmlParser = ${env.EXPAT_HOME}
  +expat.xmlParserLibraryName = axis_expat
  +
  +# Name for compiled XML Parser library - excluding any prefix or suffix
  +# eg: For Windows :   axis_xmlParser will produce axis_xmlParser.dll
  +#     For Unix    :   axis_xmlParser will produce libaxis_xmlParser.so
  +xmlParserLibraryName = axis_xmlParser
   
   ########################
   # Transport Properties #
   ########################
  -transport = axis2
  +
  +# Transports to be used
  +transport.axis = true
  +transport.axis2 = true
  +transport.libwww = false
  +
  +## Values used for axis
  +axis.transportLibraryName = axis_transport
  +
  +## Values used for axis2
  +axis2.transportLibraryName = axis2_transport
  +
  +## Values used for libwww
  +libwww.transportLibraryName = libwww_transport
  +
  +# Name for compiled transport library - excluding any prefix or suffix
  +# eg: For Windows :   axis_transport will produce axis_transport.dll
  +#     For Unix    :   axis_transport will produce libaxis_transport.so
  +#
  +transportLibraryName = axis_transport
  +
  +#####################
  +# Client Properties #
  +#####################
  +
  +# Name for compiled client - excluding any prefix or suffix
  +# eg: For Windows :   axis_client will produce axis_client.dll
  +#     For Unix    :   axis_client will produce libaxis_client.so
  +clientLibraryName = axis_client
  +
  +####################
  +# Trace Properties #
  +####################
  +
  +# Instrument the Axis C++ source code with entry/exit trace
  +dir.src.instrumented = ${basedir}/../../../obj/src
   
   #######################################
   # Properties for compiling C/C++ code #
   #######################################
   
   # Directory in which to place compiled libraries
  -dir.bin = ${basedir}/deploy/lib
  +dir.bin = ${basedir}/../../../obj/bin
   
   # Directory in which to place object files
  -dir.objects = ${basedir}/lib/axis
  -
  -# Names for compiled libraries - excluding any prefix or suffix
  -# eg: For Windows :   libaxis_client will produce libaxis_client.dll
  -#     For Unix    :   axis_client will produce libaxis_client.so
  -clientLibraryName = axiscpp_client
  -transportLibraryName = axis_transport
  -xmlParserLibraryName = axis_xmlparser
  +dir.objects = ${basedir}/../../../obj/objects
   
   ####################################
   # Properties for compiling WSDL2Ws #
   ####################################
   
   # Location of Axis JARs
  -dir.axisJARs = ${env.AXISJAVA_LIB}
  +dir.axisJARs = ${basedir}/../../PreReqs
   
   # Directory in which to place compiled Java classes
  -dir.classes = ${basedir}/lib/axis
  +dir.classes = ${basedir}/../../../obj/classes
  +
  +###########################################
  +# Properties for packaging Binary release #
  +###########################################
  +release = axis-c-${version}-${platform}
  +dir.release = ${basedir}/../../../obj/package/${release}
  +
  +###############################
  +# Properties for Deliverables #
  +###############################
  +dir.zips = ${basedir}/../../../Zips
   
   ############################
   # Properties for packaging #
  
  
  
  1.5       +77 -22    ws-axis/c/build.Win32.properties
  
  Index: build.Win32.properties
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/build.Win32.properties,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- build.Win32.properties	5 Oct 2004 10:38:30 -0000	1.4
  +++ build.Win32.properties	12 Oct 2004 16:26:08 -0000	1.5
  @@ -13,52 +13,107 @@
   #		xmlParser = expat
   #		xmlParserLibrary = expat
   
  -# Parser to be used
  -xmlParser = xerces
  -
  -# Name of parser library to link against
  -xmlParserLibrary = xerces-c_2
  -
  -# Location of parser
  -dir.xmlParser = C:/axisdev/${xmlParser}
  +# Parsers to be used
  +xmlParser.xml4c = false
  +xmlParser.xerces = true
  +xmlParser.expat = false
  +
  +## Values used for XML4C
  +xml4c.xmlParserLibrary = xml4c_5
  +xml4c.dir.xmlParser = ${env.XML4C_HOME}
  +xml4c.xmlParserLibraryName = axis_xml4c
  +
  +## Values used for Xerces
  +xerces.xmlParserLibrary = xerces-c_2
  +xerces.dir.xmlParser = ${env.XERCES_HOME}
  +xerces.xmlParserLibraryName = axis_xerces
  +
  +## Values used for Expat
  +expat.xmlParserLibrary = expat
  +expat.dir.xmlParser = ${env.EXPAT_HOME}
  +expat.xmlParserLibraryName = axis_expat
  +
  +# Name for compiled XML Parser library - excluding any prefix or suffix
  +# eg: For Windows :   axis_xmlParser will produce axis_xmlParser.dll
  +#     For Unix    :   axis_xmlParser will produce libaxis_xmlParser.so
  +xmlParserLibraryName = axis_xmlParser
   
   ########################
   # Transport Properties #
   ########################
  -transport = axis2
  +
  +# Transports to be used
  +transport.axis = false
  +transport.axis2 = true
  +transport.libwww = false
  +
  +## Values used for axis
  +axis.transportLibraryName = axis_transport
  +
  +## Values used for axis2
  +axis2.transportLibraryName = axis2_transport
  +
  +## Values used for libwww
  +libwww.transportLibraryName = libwww_transport
  +
  +# Name for compiled transport library - excluding any prefix or suffix
  +# eg: For Windows :   axis_transport will produce axis_transport.dll
  +#     For Unix    :   axis_transport will produce libaxis_transport.so
  +#
  +transportLibraryName = axis_transport
  +
  +#####################
  +# Client Properties #
  +#####################
  +
  +# Name for compiled client - excluding any prefix or suffix
  +# eg: For Windows :   axis_client will produce axis_client.dll
  +#     For Unix    :   axis_client will produce libaxis_client.so
  +clientLibraryName = axis_client
  +
  +####################
  +# Trace Properties #
  +####################
  +
  +# Instrument the Axis C++ source code with entry/exit trace
  +dir.src.instrumented = ${basedir}/../../../obj/src
   
   #######################################
   # Properties for compiling C/C++ code #
   #######################################
   
   # Directory in which to place compiled libraries
  -dir.bin = ${basedir}/deploy/lib
  +dir.bin = ${basedir}/../../../obj/bin
   
   # Directory in which to place object files
  -dir.objects = ${basedir}/lib/axis
  -
  -# Names for compiled libraries - excluding any prefix or suffix
  -# eg: For Windows :   libaxis_client will produce libaxis_client.dll
  -#     For Unix    :   axis_client will produce libaxis_client.so
  -clientLibraryName = AxisClient
  -transportLibraryName = AxisTransport
  -xmlParserLibraryName = AxisXMLParser
  +dir.objects = ${basedir}/../../../obj/objects
   
   ####################################
   # Properties for compiling WSDL2Ws #
   ####################################
   
   # Location of Axis JARs
  -dir.axisJARs = C:/axisdev/java/axis-1_2beta/lib
  +dir.axisJARs = ${basedir}/../../PreReqs
   
   # Directory in which to place compiled Java classes
  -dir.classes = ${basedir}/lib/axis
  +dir.classes = ${basedir}/../../../obj/classes
  +
  +###########################################
  +# Properties for packaging Binary release #
  +###########################################
  +release = axis-c-${version}-${platform}
  +dir.release = ${basedir}/../../../obj/package/${release}
  +
  +###############################
  +# Properties for Deliverables #
  +###############################
  +dir.zips = ${basedir}/../../../Zips
   
   ############################
   # Properties for packaging #
   ############################
   # Base directory for packaging - not used directly within build.xml, just used to simplify this property file
  -dir.package = ${basedir}/deploy
  +dir.package = ${basedir}/../../../obj/package
   
   # Directory in which to place DLLs - Only used for Windows platform
   dir.package.bin = ${dir.package}/bin
  @@ -81,7 +136,7 @@
   
   # Directory in which to place all generated test artifacts
   # This is also the directory in which code is built and run
  -dir.test.generated = ${basedir}/tests/auto_build/testcases/Output
  +dir.test.generated = ${basedir}/../../../obj/test/generated
   
   # Log files for test results
   results.log = ${dir.test.generated}/results.log
  
  
  
  1.8       +113 -564  ws-axis/c/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/build.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- build.xml	5 Oct 2004 10:38:30 -0000	1.7
  +++ build.xml	12 Oct 2004 16:26:08 -0000	1.8
  @@ -1,7 +1,7 @@
  -<project name="AxisC" default="production" basedir=".">
  +<project name="Apache Axis C" default="build" basedir=".">
   	<description>
  -This ANT script compiles and packages the Apache AxisC runtime binaries and
  -WSDL2Ws tooling.
  +This ANT script compiles Apache AxisC runtime binaries, WSDL2Ws tooling and
  +documentation.  To package a release deliverable use package.xml after building.
   
   This script is intended for use with Java 1.4+ and Apache ANT 1.6+.
   Ant is available from: http://ant.apache.org/
  @@ -30,565 +30,134 @@
   	- AIX     = Visual Age
   	</description>
   
  -	<!--
  -	  Load definition of C/C++ Tasks and Types
  -	  To allow the compilation and linking of C/C++ code
  -	  -->
  -	<taskdef resource="cpptasks.tasks"/>
  -	<typedef resource="cpptasks.types"/>
  -
  -	<!--
  -	  Load definition of Additional Tasks and Types
  -	  -->
  -	<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
  -
  -	<!--
  -	  These properties will be the same for all environments, so have not been
  -	  included within the property files
  -	  -->
  -	<property name="dir.src" value="${basedir}/src"/>
  -	<property name="dir.include" value="${basedir}/include"/>
  -	<property name="dir.tools" value="${basedir}/tools"/>
  -
  -	<!--
  -	  Load versioning information from version.properties
  -	  -->
  -	<property file="${basedir}/version.properties"/>
  -
  -      <!-- 
  -        Uncomment the trace property (or put it in your favourite properties file) to 
  -        instrument the Axis C++ source code with entry/exit trace. This is off by default.
  -	  <property name="trace" value="true"/> 
  -        -->
  -
  -	<!--
  -	  Compile the Trace tool
  -	  -->
  -	<target name="compileTraceTool" depends="initialize" if="trace">
  -		<mkdir dir="${dir.classes}"/>
  -		<javac srcdir="${dir.tools}/trace" destdir="${dir.classes}" listfiles="true">
  -    	      </javac>
  -	</target>
  -	
  -	<!--
  -	  Package Trace tool code into tracetool.jar
  -	  -->
  -	<target name="buildTraceTool" depends="compileTraceTool" if="trace">
  -		<jar jarfile="${dir.classes}/tracetool.jar" basedir="${dir.classes}">
  -			<include name="org/apache/axis/tracetool/**"/>
  -			<manifest>
  -				<attribute name="Main-Class"
  -				 value="org.apache.axis.tracetool.AddEntryAndExitTrace"/>
  -			</manifest>
  -		</jar>
  -	</target>
  -	
  -	<target name="copyUntracedSource" if="trace">
  -		<copy todir="${dir.classes}/..">
  -			<fileset dir="${dir.src}/..">
  -                        <include name="src/**"/>
  -                  </fileset>
  -		</copy>
  -	</target>
  -
  -	<target name="runTraceTool" depends="copyUntracedSource" if="trace">
  -		<java jar="${dir.classes}/tracetool.jar" fork="true">
  -			<arg value="${dir.src.instrumented}"/>
  -		</java>
  -      </target>
  -
  -	<!--
  -	  Compile, package and run the trace tool
  -	  -->
  -	<target name="addTrace" depends="buildTraceTool, runTraceTool" if="trace"
  -	  description="Compile, jar and run the trace tool"/>
  -
  -	<!--
  -	  Compiler Definitions
  -	  -->
  -		<!-- Definition of cc compile for Solaris -->
  -		<compiler id="SolarisCC" name="CC" if="solaris">
  -			<compilerarg value="-g" if="debug"/>
  -			<compilerarg value="-KPIC"/>
  -			<compilerarg value="-xildoff"/>
  -			<compilerarg value="-pta"/>
  -			<compilerarg value="-instances=global"/>
  -			<defineset>
  -				<define name="ENABLE_AXIS_EXCEPTION"/>
  -				<define name="HAVE_CONFIG_H"/>
  -				<define name="PIC"/>
  -			</defineset>
  -			<includepath path="${dir.include}"/>
  -		</compiler>
  -
  -		<!--
  -		  Definition of Visual C++ compiler
  -		  -->
  -		<compiler id="VisualC++" name="msvc" if="windows">
  -			<compilerarg value="/nologo"/>
  -			<compilerarg value="/MD"/>
  -			<!-- Display all warnings -->
  -			<compilerarg value="/W3"/>
  -			<compilerarg value="/GX"/>
  -			<compilerarg value="/Gm" if="debug"/>
  -			<compilerarg value="/ZI" if="debug"/>
  -			<compilerarg value="/Od"/>
  -			<includepath path="${dir.include}"/>
  -			<defineset>
  -				<define name="WIN32"/>
  -				<define name="_DEBUG" if="debug"/>
  -				<define name="NDEBUG" unless="debug"/>
  -				<define name="_WINDOWS"/>
  -				<define name="_MBCS"/>
  -				<define name="_USRDLL"/>
  -				<define name="ENABLE_AXIS_EXCEPTION"/>
  -			</defineset>
  -			<compilerarg value="/FD"/>
  -			<compilerarg value="/c"/>
  -		</compiler>
  -		
  -		<!--
  -		  Definition of gcc compile for Linux
  -	      -->
  -		<compiler id="Linuxgcc" name="g++" if="linux">
  -			<compilerarg value="-g" if="debug"/>
  -			<compilerarg value="-Wall"/>
  -			<compilerarg value="-Wshadow"/>
  -			<compilerarg value="-O2"/>
  -			<defineset>
  -				<define name="ENABLE_AXIS_EXCEPTION"/>
  -				<define name="HAVE_CONFIG_H"/>
  -				<define name="PIC"/>
  -			</defineset>
  -			<includepath path="${dir.include}"/>
  -		</compiler>
  -		
  -		<!--
  -		  Definition of xlc compile for AIX
  -	      -->
  -		<compiler id="AIXxlc" name="xlC" if="aix">
  -			<compilerarg value="-g" if="debug"/>
  -			<compilerarg value="-V"/>
  -			<compilerarg value="-qstaticinline"/>
  -			<defineset>
  -				<define name="ENABLE_AXIS_EXCEPTION"/>
  -				<define name="HAVE_CONFIG_H"/>
  -				<define name="AIX"/>
  -			</defineset>
  -			<includepath path="${dir.include}"/>
  -		</compiler>
  -
  -	<!--
  -	  Linker Definitions
  -	  -->
  -		<!-- Definition of Solars linker -->
  -		<linker id="SolarisLinker" name="CC" libtool="true" if="solaris">
  -			<linkerarg value="-g" if="debug"/>
  -			<linkerarg value="-Qoption"/>
  -			<linkerarg value="ld"/>
  -			<linkerarg value="-zmuldefs"/>
  -		</linker>
  -
  -		<!--
  -		  Definition of Visual C++ linker
  -		  -->
  -		<linker id="VisualC++Linker" name="msvc" if="windows">
  -			<linkerarg value="/debug" if="debug"/>
  -			<linkerarg value="/machine:I386"/>
  -			<linkerarg value="/nologo"/>
  -			<linkerarg value="/pdb:none"/>
  -		</linker>
  -	
  -		<!--
  -	      Definition of Linux linker
  -	      -->
  -		<linker id="LinuxLinker" name="g++" libtool="true" if="linux">
  -			<linkerarg value="-g" if="debug"/>
  -			<libset libs="stdc++"/>
  -		</linker>
  -		
  -		<!--
  -	      Definition of AIX linker
  -	      -->
  -		<linker id="AIXLinker" name="xlC" libtool="false" if="aix">
  -			<linkerarg value="-g" if="debug"/>
  -			<linkerarg value="-qmkshrobj"/>
  -			<linkerarg value="-L/usr/lib/threads"/>
  -			<linkerarg value="-lpthreads"/>
  -			<linkerarg value="-lm"/>
  -			<linkerarg value="-lc_r"/>
  -			<linkerarg value="-lc"/>
  -		</linker>	
  -
  -	<!--
  -	  Determine platform
  -	  -->
  -	<target name="pre-init">
  -		<condition property="solaris">
  -            	<os name="SunOS"/>
  -		</condition>
  -		<condition property="windows">
  -			<os family="windows"/>
  -		</condition>
  -		<condition property="aix">
  -            <os name="AIX"/>
  -        </condition>
  -        <condition property="linux">
  -            <os name="Linux"/>
  -        </condition>
  -	</target>
  -	
  -	<!--
  -	  Initialize properties
  -      -->
  -	<target name="initialize" depends="pre-init">
  -		<condition property="platform" value="SunOS">
  -			<isset property="solaris"/>
  -		</condition>
  -		<condition property="platform" value="Win32">
  -			<isset property="windows"/>
  -		</condition>
  -		<condition property="platform" value="Linux">
  -			<isset property="linux"/>
  -		</condition>
  -		<condition property="platform" value="AIX">
  -			<isset property="aix"/>
  -		</condition>
  -		
  -		<!-- Load properties from file -->
  -		<property file="${basedir}/build.${platform}.properties"/>
  -
  -		<condition property="dir.src.instrumented" value="${dir.classes}/../src">
  -			<isset property="trace"/>
  -		</condition>
  -		<condition property="dir.src.instrumented" value="${dir.src}">
  -                  <not>
  -			     <isset property="trace"/>
  -                  </not>
  -		</condition>
  -	</target>
  -
  -	<!--
  -	  Compile the Axis Client Library
  -	  -->
  -	<target name="compileAxisClient" depends="initialize">
  -		<mkdir dir="${dir.objects}"/>
  -		<mkdir dir="${dir.bin}"/>
  +	<import file="${basedir}/buildInitialize.xml"/>
  +	<import file="${basedir}/buildTraceTool.xml"/>
  +	<import file="${basedir}/buildClient.xml"/>
  +	<import file="${basedir}/buildTransport.xml"/>
  +	<import file="${basedir}/buildXMLParser.xml"/>
  +	<import file="${basedir}/buildWSDL2Ws.xml"/>
  +
  +	<target name="compileTransport">
  +		<!-- Determine which flavour of transport to use -->
  +		<!-- Ideally extend this to produce multiple flavours -->
   		<if>
  -			<not>
  -				<isset property="aix"/>
  -			</not>
  +			<equals arg1="${transport.axis}" arg2="true"/>
   			<then>
  -				<cc outfile="${dir.bin}/${clientLibraryName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  -				  	<!-- Compilers -->
  -					<compiler refid="SolarisCC"/>
  -					<compiler refid="Linuxgcc"/>
  -					<compiler extends="VisualC++">
  -						<defineset>
  -							<define name="AXISCLIENTDLL_EXPORTS"/>
  -						</defineset>
  -					</compiler>
  -					<!-- Additional compiler flag for Client library on all platforms -->
  -					<defineset>
  -						<define name="AXIS_CLIENT_LIB"/>
  -						<define name="ENABLE_AXISTRACE" if="trace"/>
  -					</defineset>
  -					<!-- Linkers -->
  -					<linker refid="SolarisLinker"/>
  -					<linker refid="LinuxLinker"/>
  -					<linker refid="VisualC++Linker"/>
  -					<!-- Files to be compiled -->
  -					<fileset dir="${dir.src.instrumented}">
  -						<include name="common/*.cpp"/>
  -						<include name="engine/*.cpp"/>
  -						<include name="engine/client/*.cpp"/>
  -						<include name="soap/*.cpp"/>
  -						<include name="soap/*.c"/>
  -						<include name="wsdd/*.cpp"/>
  -						<include name="xml/*.cpp"/>
  -						<include name="transport/axis/AxisTransportException.cpp"/>
  -						<!-- The following files need to be excluded -->
  -						<exclude name="common/Packet.cpp"/>
  -						<exclude name="common/AxisSocketUtils.cpp"/>
  -					</fileset>
  -				</cc>
  +				<antcall target="compileAxisTransport" inheritall="true">
  +					<param name="transport" value="axis"/>
  +					<param name="transportLibraryName" value="${axis.transportLibraryName}"/>
  +				</antcall>
   			</then>
  -			<else>
  -				<cc outfile="${dir.bin}/${clientLibraryFileName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" multithreaded="true">
  -				  	<!-- Compilers -->
  -					<compiler refid="AIXxlc"/>
  -					<!-- Additional compiler flag for Client library on all platforms -->
  -					<defineset>
  -						<define name="AXIS_CLIENT_LIB"/>
  -						<define name="ENABLE_AXISTRACE" if="trace"/>
  -					</defineset>
  -					<!-- Linkers -->
  -					<linker refid="AIXLinker"/>
  -					<!-- Files to be compiled -->
  -					<fileset dir="${dir.src.instrumented}">
  -						<include name="common/*.cpp"/>
  -						<include name="engine/*.cpp"/>
  -						<include name="engine/client/*.cpp"/>
  -						<include name="soap/*.cpp"/>
  -						<include name="soap/*.c"/>
  -						<include name="wsdd/*.cpp"/>
  -						<include name="xml/*.cpp"/>
  -						<include name="transport/axis/AxisTransportException.cpp"/>
  -						<!-- The following files need to be excluded -->
  -						<exclude name="common/Packet.cpp"/>
  -						<exclude name="common/AxisSocketUtils.cpp"/>
  -					</fileset>
  -				</cc>
  -			</else>
   		</if>
  -	</target>
  -
  -	<!--
  -	  Compile the Axis Transport Library
  -	  -->
  -	<target name="compileAxisTransport" depends="initialize">
  -		<mkdir dir="${dir.objects}"/>
  -		<mkdir dir="${dir.bin}"/>
   		<if>
  -			<not>
  -				<isset property="aix"/>
  -			</not>
  +			<equals arg1="${transport.axis2}" arg2="true"/>
   			<then>
  -				<cc outfile="${dir.bin}/${transportLibraryName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  -					<!-- Compilers -->
  -					<compiler refid="SolarisCC"/>
  -					<compiler refid="Linuxgcc"/>
  -					<compiler extends="VisualC++">
  -						<defineset>
  -							<define name="AXISTRANSPORTDLL_EXPORTS"/>
  -						</defineset>
  -					</compiler>
  -					<!-- Linkers -->
  -					<linker refid="SolarisLinker"/>
  -					<linker refid="LinuxLinker"/>
  -					<linker extends="VisualC++Linker">
  -						<syslibset libs="wsock32"/>
  -					</linker>
  -					<!-- Files to compile -->
  -					<fileset dir="${dir.src}">
  -						<include name="transport/${transport}/*.cpp"/>
  -						<!-- The following files need to be excluded -->
  -						<exclude name="transport/${transport}/SecureChannel.cpp"/>
  -					</fileset>
  -				</cc>
  +				<antcall target="compileAxisTransport" inheritall="true">
  +					<param name="transport" value="axis2"/>
  +					<param name="transportLibraryName" value="${axis2.transportLibraryName}"/>
  +				</antcall>
   			</then>
  -			<else>
  -				<cc outfile="${dir.bin}/${transportLibraryFileName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" multithreaded="true">
  -					<!-- Compilers -->
  -					<compiler refid="AIXxlc"/>
  -					<!-- Linkers -->
  -					<linker refid="AIXLinker"/>
  -					<!-- Files to compile -->
  -					<fileset dir="${dir.src}">
  -						<include name="transport/${transport}/*.cpp"/>
  -						<!-- The following files need to be excluded -->
  -						<exclude name="transport/${transport}/SecureChannel.cpp"/>
  -					</fileset>
  -				</cc>
  -			</else>
   		</if>
  -	</target>
  -
  -	<!--
  -	  Compile the Axis XML Parser Library
  -	  -->
  -	<target name="compileAxisXMLParser" depends="initialize">
  -		<mkdir dir="${dir.objects}"/>
  -		<mkdir dir="${dir.bin}"/>
   		<if>
  -			<not>
  -				<isset property="aix"/>
  -			</not>
  +			<equals arg1="${transport.libwww}" arg2="true"/>
   			<then>
  -				<cc outfile="${dir.bin}/${xmlParserLibraryName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  -				 	<!-- Compilers -->
  -					<compiler refid="SolarisCC"/>
  -					<compiler refid="Linuxgcc"/>
  -					<compiler refid="AIXxlc"/>
  -					<compiler extends="VisualC++">
  -						<defineset>
  -							<define name="AXISXMLPARSERXERCES_EXPORTS"/>
  -						</defineset>
  -					</compiler>
  -					<!-- Additional include directory for XML Parser -->
  -					<includepath path="${dir.xmlParser}/include"/>
  -					<includepath path="${dir.xmlParser}/lib"/>
  -					<!-- Linkers -->
  -					<linker refid="SolarisLinker"/>
  -					<linker refid="VisualC++Linker"/>
  -					<linker refid="LinuxLinker"/>
  -					<linker refid="AIXLinker"/>
  -					<!-- Additional library of XMLParser -->
  -					<libset dir="${dir.xmlParser}/lib" libs="${xmlParserLibrary}"/>
  -					<!-- Files to be compiled -->
  -					<fileset dir="${dir.src}">
  -						<include name="xml/${xmlParser}/*.cpp"/>
  -						<include name="xml/AxisParseException.cpp"/>
  -					</fileset>
  -				</cc>
  +				<antcall target="compileAxisTransport" inheritall="true">
  +					<param name="transport" value="libwww"/>
  +					<param name="transportLibraryName" value="${libwww.transportLibraryName}"/>
  +				</antcall>
   			</then>
  -			<else>
  -				<cc outfile="${dir.bin}/${xmlParserLibraryFileName}" objdir="${dir.objects}"
  -				 exceptions="true" failonerror="false" multithreaded="true">
  -				 	<!-- Compilers -->
  -					<compiler refid="AIXxlc"/>
  -					<!-- Additional include directory for XML Parser -->
  -					<includepath path="${dir.xmlParser}/include"/>
  -					<includepath path="${dir.xmlParser}/lib"/>
  -					<!-- Linkers -->
  -					<linker refid="AIXLinker"/>
  -					<!-- Additional library of XMLParser -->
  -					<libset dir="${dir.xmlParser}/lib" libs="${xmlParserLibrary}"/>
  -					<!-- Files to be compiled -->
  -					<fileset dir="${dir.src}">
  -						<include name="xml/${xmlParser}/*.cpp"/>
  -						<include name="xml/AxisParseException.cpp"/>
  -					</fileset>
  -				</cc>
  -			</else>
   		</if>
   	</target>
   
  -	<!--
  -	  Compile the WSDL2Ws code
  -	  -->
  -	<target name="compileWSDL2Ws">
  -		<mkdir dir="${dir.classes}"/>
  -		<!-- Setup classpath for compiling WSDL2Ws -->
  -		<path id ="cp">
  -			<fileset dir="${dir.axisJARs}" includes="*.jar"/>
  -		</path>
  -		<!-- Compile WSDL2Ws -->
  -		<javac srcdir="${dir.src}/wsdl" destdir="${dir.classes}" listfiles="true">
  -      		<classpath refid="cp"/>
  -    	</javac>
  -	</target>
  -	
  -	<!--
  -	  Compile all C/C++ code and WSDL2Ws java code
  -	  -->
  -	<target name="compile" depends="compileAxisClient, compileAxisTransport, compileAxisXMLParser, compileWSDL2Ws"
  -	  description="Compile all C/C++ code and WSDL2Ws java code"/>
  -
  -	<!--
  -	  Generate documention
  -	  Note: Requires doxygen be installed and available on the system path
  -	  -->
  -	<target name="documentation" unless="aix" description="Generate documentation" depends="initialize">
  -		<exec executable="doxygen" dir="${basedir}/docs/apidocs">
  -			<arg value="${basedir}/docs/apidocs/doxygenconf"/>
  -		</exec>
  -	</target>
  -
  -	<!--
  -	  Copy across DLLs and library files for windows 
  -	  -->
  -	<target name="packageBinsWindows" if="windows">
  -		<!-- Copy across DLLs -->
  -		<mkdir dir="${dir.package.bin}"/>
  -		<copy todir="${dir.package.bin}">
  -			<fileset dir="${dir.bin}" includes="*.dll" excludes="*_D.dll"/>
  -		</copy>
  -		<!-- Copy across library files -->
  -		<mkdir dir="${dir.package.lib}"/>
  -		<copy todir="${dir.package.lib}"
  -		 file="${dir.bin}/${clientLibraryName}.lib"/>
  -	</target>
  -
  -	<!--
  -	  Copy across the binaries for unix
  -	  Create symbolic links to libraries
  -	  -->
  -	<target name="packageBinsUnix" unless="windows">
  -		<!-- Copy across libraries -->
  -		<mkdir dir="${dir.package.lib}"/>
  -		<copy todir="${dir.package.lib}">
  -			<fileset dir="${dir.bin}" includes="*.so"/>
  -			<mapper type="glob" from="*.so" to="*.so.${version}"/>
  -		</copy>
  -		<!-- Create symbolic links to Client library -->
  -		<symlink link="${dir.package.lib}/lib${clientLibraryName}.so.${majorVersion}"
  -		 resource="lib${clientLibraryName}.so.${version}" overwrite="true"/>
  -		<!-- Create symbolic links to Transport library -->
  -		<symlink link="${dir.package.lib}/lib${transportLibraryName}.so.${majorVersion}"
  -		 resource="lib${transportLibraryName}.so.${version}" overwrite="true"/>
  -		<!-- Create symbolic links to XML Parser library -->
  -		<symlink link="${dir.package.lib}/lib${xmlParserLibraryName}.so.${majorVersion}"
  -		 resource="lib${xmlParserLibraryName}.so.${version}" overwrite="true"/>
  -	</target>
  -
  -	<!--
  -	  Create additional symbolic links to libraries as required for AIX
  -	  -->	
  -	<target name="packageBinsAIX" if="aix" depends="packageBinsUnix">
  -		<!-- Create symbolic link to Client library -->
  -		<symlink link="${dir.package.lib}/lib${clientLibraryName}.a"
  -		 resource="lib${clientLibraryName}.so.${version}" overwrite="true"/>
  -		<!-- Create symbolic link to Transport library -->
  -		<symlink link="${dir.package.lib}/lib${transportLibraryName}.a"
  -		 resource="lib${transportLibraryName}.so.${version}" overwrite="true"/>
  -		<!-- Create symbolic link to XML Parser library -->
  -		<symlink link="${dir.package.lib}/lib${xmlParserLibraryName}.a"
  -		 resource="lib${xmlParserLibraryName}.so.${version}" overwrite="true"/>
  +	<target name="compileXMLParser">
  +		<!-- Determine which flavour of xmlParser to use -->
  +		<!-- Ideally extend this to produce multiple flavours -->
  +		<if>
  +			<equals arg1="${xmlParser.xml4c}" arg2="true"/>
  +			<then>
  +				<antcall target="compileAxisXMLParser" inheritall="true">
  +					<param name="xmlParser" value="xml4c"/>
  +					<param name="dir.xmlParser" value="${xml4c.dir.xmlParser}"/>
  +					<param name="xmlParserLibrary" value="${xml4c.xmlParserLibrary}"/>
  +					<param name="xmlParserLibraryName" value="${xml4c.xmlParserLibraryName}"/>
  +				</antcall>
  +			</then>
  +		</if>
  +		<if>
  +			<equals arg1="${xmlParser.xerces}" arg2="true"/>
  +			<then>
  +				<antcall target="compileAxisXMLParser" inheritall="true">
  +					<param name="xmlParser" value="xerces"/>
  +					<param name="dir.xmlParser" value="${xerces.dir.xmlParser}"/>
  +					<param name="xmlParserLibrary" value="${xerces.xmlParserLibrary}"/>
  +					<param name="xmlParserLibraryName" value="${xerces.xmlParserLibraryName}"/>
  +				</antcall>
  +			</then>
  +		</if>
  +		<if>
  +			<equals arg1="${xmlParser.expat}" arg2="true"/>
  +			<then>
  +				<antcall target="compileAxisXMLParser" inheritall="true">
  +					<param name="xmlParser" value="expat"/>
  +					<param name="dir.xmlParser" value="${expat.dir.xmlParser}"/>
  +					<param name="xmlParserLibrary" value="${expat.xmlParserLibrary}"/>
  +					<param name="xmlParserLibraryName" value="${expat.xmlParserLibraryName}"/>
  +				</antcall>
  +			</then>
  +		</if>
   	</target>
   
  -	<!--
  -	  Package compiled binaries ready for distribution
  -	  -->
  -	<target name="packageBins" depends="packageBinsWindows, packageBinsUnix, packageBinsAIX"/>
   
  -	<!--
  -	  Copy across the Axis include files
  -	  -->
  -	<target name="packageIncludeFiles">
  -		<mkdir dir="${dir.package.include}"/>
  -		<copy todir="${dir.package.include}">
  -			<fileset dir="${dir.include}" includes="axis/**"/>
  -		</copy>
  +	<target name="compileWithDebug">
  +		<antcall target="compileAxisClient" inheritall="true">
  +			<param name="debug" value="on"/>
  +			<param name="dir.bin" value="${dir.bin}/debug"/>
  +			<param name="dir.objects" value="${dir.objects}/debug"/>
  +		</antcall>
  +		<antcall target="compileTransport" inheritall="true">
  +			<param name="debug" value="on"/>
  +			<param name="dir.bin" value="${dir.bin}/debug"/>
  +			<param name="dir.objects" value="${dir.objects}/debug"/>
  +		</antcall>
  +		<antcall target="compileXMLParser" inheritall="true">
  +			<param name="debug" value="on"/>
  +			<param name="dir.bin" value="${dir.bin}/debug"/>
  +			<param name="dir.objects" value="${dir.objects}/debug"/>
  +		</antcall>
  +	</target>
  +
  +	<target name="compileWithoutDebug">
  +		<antcall target="compileAxisClient" inheritall="true"/>
  +		<antcall target="compileTransport" inheritall="true"/>
  +		<antcall target="compileXMLParser" inheritall="true"/>
  +	</target>
  +
  +	<target name="compileWithTrace" depends="initialize, addTrace">
  +		<antcall target="compileWithDebug" inheritall="true">
  +			<param name="trace" value="true"/>
  +			<param name="dir.src" value="${dir.src.instrumented}"/>
  +			<param name="dir.bin" value="${dir.bin}/trace"/>
  +			<param name="dir.objects" value="${dir.objects}/trace"/>
  +		</antcall>
  +		<antcall target="compileWithoutDebug" inheritall="true">
  +			<param name="trace" value="true"/>
  +			<param name="dir.src" value="${dir.src.instrumented}"/>
  +			<param name="dir.bin" value="${dir.bin}/trace"/>
  +			<param name="dir.objects" value="${dir.objects}/trace"/>
  +		</antcall>
  +	</target>
  +
  +	<target name="compileWithoutTrace" depends="initialize">
  +		<antcall target="compileWithDebug" inheritall="true"/>
  +		<antcall target="compileWithoutDebug" inheritall="true"/>
   	</target>
  +	  
  +	<target name="compile" depends="compileWithTrace, compileWithoutTrace, compileWSDL2Ws, buildWSDL2WsJARFile"
  +	  description="Compile all C/C++ code and WSDL2Ws java code"/>
   
  -	<!--
  -	  Package WSDL2Ws code into WSDL2Ws.jar
  -	  -->
  -	<target name="packageWSDL2Ws">
  -		<mkdir dir="${dir.package.WSDL2Ws}"/>
  -		<jar jarfile="${dir.package.WSDL2Ws}/wsdl2ws.jar" basedir="${dir.classes}">
  -			<include name="org/apache/axis/wsdl/**"/>
  -			<manifest>
  -				<attribute name="Main-Class"
  -				 value="org.apache.axis.wsdl.wsdl2ws.WSDL2Ws"/>
  -			</manifest>
  -		</jar>
  -	</target>
  -	
  -	<!--
  -	  Package Documentation
  -	  -->
  -	<target name="packageDocumentation">
  -		<mkdir dir="${dir.package.docs}"/>
  -		<copy todir="${dir.package.docs}">
  -			<fileset dir="${basedir}/docs/apidocs">
  -				<include name="html/**"/>
  -				<include name="latex/**"/>
  -			</fileset>
  -		</copy>
  -	</target>
  +	<import file="${basedir}/buildDocumentation.xml"/>
   
  -	<!--
  -	  Package all artifacts ready for distribution
  -	  -->	
  -	<target name="package" depends="packageBins, packageIncludeFiles, packageWSDL2Ws, packageDocumentation"
  -	 description="Package all artifacts ready for distribution"/>
  +	<target name="build" depends="compile, documentation"/>
   
   	<!--
   	  Validate all artifacts produced for Windows platform
  @@ -661,25 +230,11 @@
   	</target>
   
   	<!--
  -	  Build and package all artifacts ready for distribution
  -	  -->
  -	<target name="production" depends="addTrace, compile, documentation, package, validate"
  -	 description="Build and package all artifacts ready for distribution"/>
  -
  -	<target name="addDebug">
  -		<property name="debug" value="true"/>
  -	</target>
  -
  -	<!--
  -	  Build and package all artifacts ready for distribution
  -	  -->
  -	<target name="development" depends="addDebug, addTrace, compile, documentation, package, validate"
  -	 description="Build and package all artifacts"/>
  -
  -	<!--
   	  Remove all generated artifaces
   	  -->
   	<target name="clean" depends="initialize" description="Remove all generated artifacts">
  +		<!-- Delete trace instrumented C/C++ code -->
  +		<delete dir="${dir.src.instrumented}"/>
   		<!-- Delete compiled C/C++ code -->
   		<delete dir="${dir.bin}"/>
   		<delete dir="${dir.objects}"/>
  @@ -688,12 +243,6 @@
   		<!-- Delete generated Documentation -->
   		<delete dir="${basedir}/docs/apidocs/html"/>
   		<delete dir="${basedir}/docs/apidocs/latex"/>
  -		<!-- Delete packaged artifacts -->
  -		<delete dir="${dir.package.bin}"/>
  -		<delete dir="${dir.package.lib}"/>
  -		<delete dir="${dir.package.include}"/>
  -		<delete dir="${dir.package.WSDL2Ws}"/>
  -		<delete dir="${dir.package.docs}"/>
   	</target>
   
   </project>
  
  
  
  1.1                  ws-axis/c/buildClient.xml
  
  Index: buildClient.xml
  ===================================================================
  <project name="Axis C Client" default="compileAxisClient" basedir=".">
  
  	<!--
  	  Compile the Axis Client Library
  	  -->
  	<target name="compileAxisClient">
  		<mkdir dir="${dir.objects}"/>
  		<mkdir dir="${dir.bin}"/>
  		<if>
  			<not>
  				<isset property="aix"/>
  			</not>
  			<then>
  				<cc outfile="${dir.bin}/${clientLibraryName}" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  				  	<!-- Compilers -->
  					<compiler refid="SolarisCC"/>
  					<compiler refid="Linuxgcc"/>
  					<compiler extends="VisualC++">
  						<defineset>
  							<define name="AXISCLIENTDLL_EXPORTS"/>
  						</defineset>
  					</compiler>
  					<!-- Additional compiler flag for Client library on all platforms -->
  					<defineset>
  						<define name="AXIS_CLIENT_LIB"/>
  						<define name="ENABLE_AXISTRACE" if="trace"/>
  					</defineset>
  					<!-- Linkers -->
  					<linker refid="SolarisLinker"/>
  					<linker refid="LinuxLinker"/>
  					<linker refid="VisualC++Linker"/>
  					<!-- Files to be compiled -->
  					<fileset dir="${dir.src.instrumented}">
  						<include name="common/*.cpp"/>
  						<include name="engine/*.cpp"/>
  						<include name="engine/client/*.cpp"/>
  						<include name="soap/*.cpp"/>
  						<include name="soap/*.c"/>
  						<include name="wsdd/*.cpp"/>
  						<include name="xml/*.cpp"/>
  						<include name="transport/axis/AxisTransportException.cpp"/>
  						<!-- The following files need to be excluded -->
  						<exclude name="common/Packet.cpp"/>
  						<exclude name="common/AxisSocketUtils.cpp"/>
  					</fileset>
  				</cc>
  			</then>
  			<else>
  				<cc outfile="${dir.bin}/lib${clientLibraryName}.so" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" multithreaded="true">
  				  	<!-- Compilers -->
  					<compiler refid="AIXxlc"/>
  					<!-- Additional compiler flag for Client library on all platforms -->
  					<defineset>
  						<define name="AXIS_CLIENT_LIB"/>
  						<define name="ENABLE_AXISTRACE" if="trace"/>
  					</defineset>
  					<!-- Linkers -->
  					<linker refid="AIXLinker"/>
  					<!-- Files to be compiled -->
  					<fileset dir="${dir.src.instrumented}">
  						<include name="common/*.cpp"/>
  						<include name="engine/*.cpp"/>
  						<include name="engine/client/*.cpp"/>
  						<include name="soap/*.cpp"/>
  						<include name="soap/*.c"/>
  						<include name="wsdd/*.cpp"/>
  						<include name="xml/*.cpp"/>
  						<include name="transport/axis/AxisTransportException.cpp"/>
  						<!-- The following files need to be excluded -->
  						<exclude name="common/Packet.cpp"/>
  						<exclude name="common/AxisSocketUtils.cpp"/>
  					</fileset>
  				</cc>
  			</else>
  		</if>
  	</target>
  </project>
  
  
  1.1                  ws-axis/c/buildDocumentation.xml
  
  Index: buildDocumentation.xml
  ===================================================================
  <project name="Axis C API Documentation" default="documentation" basedir=".">
  
  	<!--
  	  Generate documention
  	  Note: Requires doxygen be installed and available on the system path
  	  -->
  	<target name="documentation" description="Generate documentation" unless="aix">
  		<exec executable="doxygen" dir="${basedir}/docs/apidocs">
  			<arg value="${basedir}/docs/apidocs/doxygenconf"/>
  		</exec>
  	</target>
  
  </project>
  
  
  1.1                  ws-axis/c/buildInitialize.xml
  
  Index: buildInitialize.xml
  ===================================================================
  <project name="Initialize Apache Axis C Build" default="initialize" basedir=".">
  	<!--
  	  Load definition of C/C++ Tasks and Types
  	  To allow the compilation and linking of C/C++ code
  	  -->
  	<taskdef resource="cpptasks.tasks"/>
  	<typedef resource="cpptasks.types"/>
  
  	<!--
  	  Load definition of Additional Tasks and Types
  	  -->
  	<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
  
  	<!--
  	  These properties will be the same for all environments, so have not been
  	  included within the property files
  	  -->
  	<property name="dir.src" value="${basedir}/src"/>
  	<property name="dir.include" value="${basedir}/include"/>
  	<property name="dir.tools" value="${basedir}/tools"/>
  
  	<property environment="env"/>
  
  	<!--
  	  Load versioning information from version.properties
  	  -->
  	<property file="${basedir}/version.properties"/>
  
  
  	<!--
  	  Compiler Definitions
  	  -->
  		<!-- Definition of cc compile for Solaris -->
  		<compiler id="SolarisCC" name="CC" if="solaris">
  			<compilerarg value="-g" if="debug"/>
  			<compilerarg value="-KPIC"/>
  			<compilerarg value="-xildoff"/>
  			<compilerarg value="-pta"/>
  			<compilerarg value="-instances=global"/>
  			<defineset>
  				<define name="ENABLE_AXIS_EXCEPTION"/>
  				<define name="HAVE_CONFIG_H"/>
  				<define name="PIC"/>
  			</defineset>
  			<includepath path="${dir.include}"/>
  		</compiler>
  
  		<!--
  		  Definition of Visual C++ compiler
  		  -->
  		<compiler id="VisualC++" name="msvc" if="windows">
  			<compilerarg value="/nologo"/>
  			<compilerarg value="/MD"/>
  			<!-- Display all warnings -->
  			<compilerarg value="/W3"/>
  			<compilerarg value="/GX"/>
  			<compilerarg value="/Gm" if="debug"/>
  			<compilerarg value="/ZI" if="debug"/>
  			<compilerarg value="/Od"/>
  			<includepath path="${dir.include}"/>
  			<defineset>
  				<define name="WIN32"/>
  				<define name="_DEBUG" if="debug"/>
  				<define name="NDEBUG" unless="debug"/>
  				<define name="_WINDOWS"/>
  				<define name="_MBCS"/>
  				<define name="_USRDLL"/>
  				<define name="ENABLE_AXIS_EXCEPTION"/>
  			</defineset>
  			<compilerarg value="/FD"/>
  			<compilerarg value="/c"/>
  		</compiler>
  		
  		<!--
  		  Definition of gcc compile for Linux
  	      -->
  		<compiler id="Linuxgcc" name="g++" if="linux">
  			<compilerarg value="-g" if="debug"/>
  			<compilerarg value="-Wall"/>
  			<compilerarg value="-Wshadow"/>
  			<compilerarg value="-O2"/>
  			<defineset>
  				<define name="ENABLE_AXIS_EXCEPTION"/>
  				<define name="HAVE_CONFIG_H"/>
  				<define name="PIC"/>
  			</defineset>
  			<includepath path="${dir.include}"/>
  		</compiler>
  		
  		<!--
  		  Definition of xlc compile for AIX
  	      -->
  		<compiler id="AIXxlc" name="xlC" if="aix">
  			<compilerarg value="-g" if="debug"/>
  			<compilerarg value="-V"/>
  			<compilerarg value="-qstaticinline"/>
  			<defineset>
  				<define name="ENABLE_AXIS_EXCEPTION"/>
  				<define name="HAVE_CONFIG_H"/>
  				<define name="AIX"/>
  			</defineset>
  			<includepath path="${dir.include}"/>
  		</compiler>
  
  	<!--
  	  Linker Definitions
  	  -->
  		<!-- Definition of Solars linker -->
  		<linker id="SolarisLinker" name="CC" libtool="true" if="solaris">
  			<linkerarg value="-g" if="debug"/>
  			<linkerarg value="-Qoption"/>
  			<linkerarg value="ld"/>
  			<linkerarg value="-zmuldefs"/>
  		</linker>
  
  		<!--
  		  Definition of Visual C++ linker
  		  -->
  		<linker id="VisualC++Linker" name="msvc" if="windows">
  			<linkerarg value="/debug" if="debug"/>
  			<linkerarg value="/machine:I386"/>
  			<linkerarg value="/nologo"/>
  			<linkerarg value="/pdb:none"/>
  		</linker>
  	
  		<!--
  	      Definition of Linux linker
  	      -->
  		<linker id="LinuxLinker" name="g++" libtool="true" if="linux">
  			<linkerarg value="-g" if="debug"/>
  			<libset libs="stdc++"/>
  		</linker>
  		
  		<!--
  	      Definition of AIX linker
  	      -->
  		<linker id="AIXLinker" name="xlC" libtool="false" if="aix">
  			<linkerarg value="-g" if="debug"/>
  			<linkerarg value="-qmkshrobj"/>
  			<linkerarg value="-L/usr/lib/threads"/>
  			<linkerarg value="-lpthreads"/>
  			<linkerarg value="-lm"/>
  			<linkerarg value="-lc_r"/>
  			<linkerarg value="-lc"/>
  		</linker>
  
  	<!--
  	  Determine platform
  	  -->
  	<target name="pre-init">
  		<condition property="solaris">
              	<os name="SunOS"/>
  		</condition>
  		<condition property="windows">
  			<os family="windows"/>
  		</condition>
  		<condition property="aix">
              <os name="AIX"/>
          </condition>
          <condition property="linux">
              <os name="Linux"/>
          </condition>
  	</target>
  	
  	<!--
  	  Initialize properties
        -->
  	<target name="initialize" depends="pre-init">
  		<condition property="platform" value="SunOS">
  			<isset property="solaris"/>
  		</condition>
  		<condition property="platform" value="Win32">
  			<isset property="windows"/>
  		</condition>
  		<condition property="platform" value="Linux">
  			<isset property="linux"/>
  		</condition>
  		<condition property="platform" value="AIX">
  			<isset property="aix"/>
  		</condition>
  		
  		<!-- Load properties from file -->
  		<property file="${basedir}/build.${platform}.properties"/>
  	</target>
  </project>
  
  
  1.1                  ws-axis/c/buildTraceTool.xml
  
  Index: buildTraceTool.xml
  ===================================================================
  <project name="Apache Axis C Trace Tool" default="" basedir=".">
  	<!--
  	  Compile the Trace tool
  	  -->
  	<target name="compileTraceTool" depends="initialize">
  		<mkdir dir="${dir.classes}"/>
  		<javac srcdir="${dir.tools}/trace" destdir="${dir.classes}"/>
  	</target>
  	
  	<!--
  	  Package Trace tool code into tracetool.jar
  	  -->
  	<target name="buildTraceTool" depends="compileTraceTool">
  		<jar jarfile="${dir.classes}/tracetool.jar" basedir="${dir.classes}">
  			<include name="org/apache/axis/tracetool/**"/>
  			<manifest>
  				<attribute name="Main-Class"
  				 value="org.apache.axis.tracetool.AddEntryAndExitTrace"/>
  			</manifest>
  		</jar>
  	</target>
  	
  	<target name="copyUntracedSource">
  		<copy todir="${dir.src.instrumented}">
  			<fileset dir="${dir.src}">
  				<include name="**"/>
  			</fileset>
  		</copy>
  	</target>
  
  	<target name="runTraceTool" depends="copyUntracedSource">
  		<java jar="${dir.classes}/tracetool.jar" fork="true">
  			<arg value="${dir.src.instrumented}"/>
  		</java>
        </target>
  
  	<!--
  	  Compile, package and run the trace tool
  	  -->
  	<target name="addTrace" depends="buildTraceTool, runTraceTool"
  	  description="Compile, jar and run the trace tool"/>
  
  </project>
  
  
  1.1                  ws-axis/c/buildTransport.xml
  
  Index: buildTransport.xml
  ===================================================================
  <project name="Axis C Transport" default="compileAxisTransport" basedir=".">
  
  	<!--
  	  Compile the Axis Transport Library
  	  -->
  	<target name="compileAxisTransport">
  		<mkdir dir="${dir.objects}"/>
  		<mkdir dir="${dir.bin}"/>
  		<if>
  			<not>
  				<isset property="aix"/>
  			</not>
  			<then>
  				<cc outfile="${dir.bin}/${transportLibraryName}" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  					<!-- Compilers -->
  					<compiler refid="SolarisCC"/>
  					<compiler refid="Linuxgcc"/>
  					<compiler extends="VisualC++">
  						<defineset>
  							<define name="AXISTRANSPORTDLL_EXPORTS"/>
  						</defineset>
  					</compiler>
  					<!-- Linkers -->
  					<linker refid="SolarisLinker"/>
  					<linker refid="LinuxLinker"/>
  					<linker extends="VisualC++Linker">
  						<syslibset libs="wsock32"/>
  					</linker>
  					<!-- Files to compile -->
  					<fileset dir="${dir.src}">
  						<include name="transport/${transport}/*.cpp"/>
  						<!-- The following files need to be excluded -->
  						<exclude name="transport/${transport}/SecureChannel.cpp"/>
  					</fileset>
  				</cc>
  			</then>
  			<else>
  				<cc outfile="${dir.bin}/lib${transportLibraryName}.so" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" multithreaded="true">
  					<!-- Compilers -->
  					<compiler refid="AIXxlc"/>
  					<!-- Linkers -->
  					<linker refid="AIXLinker"/>
  					<!-- Files to compile -->
  					<fileset dir="${dir.src}">
  						<include name="transport/${transport}/*.cpp"/>
  						<!-- The following files need to be excluded -->
  						<exclude name="transport/${transport}/SecureChannel.cpp"/>
  					</fileset>
  				</cc>
  			</else>
  		</if>
  	</target>
  </project>
  
  
  1.1                  ws-axis/c/buildWSDL2Ws.xml
  
  Index: buildWSDL2Ws.xml
  ===================================================================
  <project name="Axis C WSDL2Ws" default="compileWSDL2Ws" basedir=".">
  
  	<target name="compileWSDL2Ws">
  		<mkdir dir="${dir.classes}"/>
  		<!-- Setup classpath for compiling WSDL2Ws -->
  		<path id ="cp">
  			<fileset dir="${dir.axisJARs}" includes="*.jar"/>
  		</path>
  		<!-- Compile WSDL2Ws -->
  		<javac srcdir="${dir.src}/wsdl" destdir="${dir.classes}">
        		<classpath refid="cp"/>
      	</javac>
  	</target>
  	
  	<target name="buildWSDL2WsJARFile">
  		<jar jarfile="${dir.classes}/wsdl2ws.jar" basedir="${dir.classes}">
  			<include name="org/apache/axis/wsdl/**"/>
  			<manifest>
  				<attribute name="Main-Class"
  				 value="org.apache.axis.wsdl.wsdl2ws.WSDL2Ws"/>
  			</manifest>
  		</jar>
  	</target>
  </project>
  
  
  1.1                  ws-axis/c/buildXMLParser.xml
  
  Index: buildXMLParser.xml
  ===================================================================
  <project name="Axis C XML Parser" default="compileAxisXMLParser" basedir=".">
  
  	<!--
  	  Compile the Axis XML Parser Library
  	  -->
  	<target name="compileAxisXMLParser">
  		<mkdir dir="${dir.objects}"/>
  		<mkdir dir="${dir.bin}"/>
  		<if>
  			<not>
  				<isset property="aix"/>
  			</not>
  			<then>
  				<cc outfile="${dir.bin}/${xmlParserLibraryName}" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" outtype="shared" multithreaded="true">
  				 	<!-- Compilers -->
  					<compiler refid="SolarisCC"/>
  					<compiler refid="Linuxgcc"/>
  					<compiler refid="AIXxlc"/>
  					<compiler extends="VisualC++">
  						<defineset>
  							<define name="AXISXMLPARSERXERCES_EXPORTS"/>
  						</defineset>
  					</compiler>
  					<!-- Additional include directory for XML Parser -->
  					<includepath path="${dir.xmlParser}/include"/>
  					<includepath path="${dir.xmlParser}/lib"/>
  					<!-- Linkers -->
  					<linker refid="SolarisLinker"/>
  					<linker refid="VisualC++Linker"/>
  					<linker refid="LinuxLinker"/>
  					<linker refid="AIXLinker"/>
  					<!-- Additional library of XMLParser -->
  					<libset dir="${dir.xmlParser}/lib" libs="${xmlParserLibrary}"/>
  					<!-- Files to be compiled -->
  					<fileset dir="${dir.src}">
  						<include name="xml/${xmlParser}/*.cpp"/>
  						<include name="xml/AxisParseException.cpp"/>
  					</fileset>
  				</cc>
  			</then>
  			<else>
  				<cc outfile="${dir.bin}/lib${xmlParserLibraryName}.so" objdir="${dir.objects}"
  				 exceptions="true" failonerror="false" multithreaded="true">
  				 	<!-- Compilers -->
  					<compiler refid="AIXxlc"/>
  					<!-- Additional include directory for XML Parser -->
  					<includepath path="${dir.xmlParser}/include"/>
  					<includepath path="${dir.xmlParser}/lib"/>
  					<!-- Linkers -->
  					<linker refid="AIXLinker"/>
  					<!-- Additional library of XMLParser -->
  					<libset dir="${dir.xmlParser}/lib" libs="${xmlParserLibrary}"/>
  					<!-- Files to be compiled -->
  					<fileset dir="${dir.src}">
  						<include name="xml/${xmlParser}/*.cpp"/>
  						<include name="xml/AxisParseException.cpp"/>
  					</fileset>
  				</cc>
  			</else>
  		</if>
  	</target>
  </project>
  
  
  1.1                  ws-axis/c/package.xml
  
  Index: package.xml
  ===================================================================
  <project name="Apache Axis C Packaging" default="package" basedir=".">
  
  	<import file="${basedir}/buildInitialize.xml"/>
  
  	<target name="copySource">
  		<mkdir dir="${dir.release}"/>
  		<copy todir="${dir.release}">
  			<fileset dir="${basedir}" includes="**"/>
  		</copy>
  	</target>
  
  	<target name="copyLicense">
  		<!-- Copy license into release package -->
  		<mkdir dir="${dir.release}"/>
  		<copy todir="${dir.release}">
  			<fileset dir="${basedir}">
  				<include name="LICENSE"/>
  				<include name="NOTICE"/>
  			</fileset>
  		</copy>
  	</target>
  	
  	<target name="copyDeploy">
  		<!-- Copy deploy directory into release package -->
  		<mkdir dir="${dir.release}/deploy"/>
  		<copy todir="${dir.release}/deploy">
  			<fileset dir="${basedir}/deploy" includes="**"/>
  		</copy>
  	</target>
  	
  	<target name="copyDocumentation">
  		<!-- Copy documentation into release package -->
  		<mkdir dir="${dir.release}/docs"/>
  		<copy todir="${dir.release}/docs">
  			<fileset dir="${basedir}/docs" includes="**"/>
  		</copy>	
  	</target>
  
  	<target name="copyInclude">
  		<!-- Copy include files into release package -->
  		<mkdir dir="${dir.release}/include"/>
  		<copy todir="${dir.release}/include">
  			<fileset dir="${basedir}/include" includes="**"/>
  		</copy>
  	</target>
  
  	<target name="copyLibs">
  		<!-- Copy across libs into release package -->
  		<mkdir dir="${dir.release}/lib"/>
  		<copy todir="${dir.release}/lib">
  			<fileset dir="${basedir}/lib" includes="**"/>
  		</copy>
  	</target>
  	
  	<target name="copyAxisJars">
  		<!-- Copy across Axis Java JARs -->
  		<mkdir dir="${dir.release}/lib/axisjava"/>
  		<copy todir="${dir.release}/lib/axisjava">
  			<fileset dir="${dir.axisJARs}" includes="*.jar"/>
  		</copy>
  	</target>
  
  	<target name="copyWSDL2Ws">
  		<!-- Create JAR file for WSDL2Ws -->
  		<mkdir dir="${dir.release}/lib/axis"/>
  		<copy todir="${dir.release}/lib/axis" file="${dir.classes}/wsdl2ws.jar"/>
  	</target>
  
  	<target name="copySamples">
  		<!-- Copy across samples into release package -->
  		<mkdir dir="${dir.release}/samples"/>
  		<copy todir="${dir.release}/samples">
  			<fileset dir="${basedir}/samples" includes="**"/>
  		</copy>
  	</target>
  
  	<target name="copyTests">
  		<!-- Copy across tests into release package -->
  		<mkdir dir="${dir.release}/tests"/>
  		<copy todir="${dir.release}/tests">
  			<fileset dir="${basedir}/tests" includes="**"/>
  		</copy>
  	</target>
  
  	<target name="copyWindowsLibraries" if="windows">
  		<!-- Copy across DLLs into release package -->
  		<mkdir dir="${dir.release}/bin"/>
  		<copy todir="${dir.release}/bin">
  			<fileset dir="${dir.bin}" includes="*.dll"/>
  			<fileset dir="${dir.bin}" includes="${clientLibraryName}.lib"/>
  		</copy>
  
  		<!-- Copy across LIB file into release package -->
  		<mkdir dir="${dir.release}/lib/axis"/>
  		<copy todir="${dir.release}/lib/axis" file="${dir.bin}/${clientLibraryName}.lib"/>
  
  		<!-- Copy across MS Visual C++ Project files for samples into release package -->
  		<mkdir dir="${dir.release}/vc"/>
  		<copy todir="${dir.release}/vc">
  			<fileset dir="${basedir}/vc" includes="samples/**"/>
  		</copy>	
  	</target>
  
  	<target name="copyAndLinkLinuxLibraries" if="linux">
  		<basename property="libraryName" file="${fullLibraryName}" suffix=".so"/>
  		<mkdir dir="${dir.release}/lib/axis"/>
  		<copy file="${dir.bin}/${libraryName}.so" tofile="${dir.release}/lib/axis/${libraryName}.so.${version}"/>
  
  		<symlink link="${dir.release}/lib/axis/${libraryName}.so.${majorVersion}"
  		 resource="${libraryName}.so.${version}" overwrite="true"/>
  		<symlink link="${dir.release}/lib/axis/${libraryName}.so"
  		 resource="${libraryName}.so.${majorVersion}" overwrite="true"/>
  	</target>
  
  	<target name="copyAndLinkSolarisLibraries" if="solaris">
  		<basename property="libraryName" file="${fullLibraryName}" suffix=".so"/>
  		<mkdir dir="${dir.release}/lib/axis"/>
  		<copy file="${dir.bin}/${libraryName}.so" tofile="${dir.release}/lib/axis/${libraryName}.so.${version}"/>
  
  		<symlink link="${dir.release}/lib/axis/${libraryName}.so.${majorVersion}"
  		 resource="${libraryName}.so.${version}" overwrite="true"/>
  		<symlink link="${dir.release}/lib/axis/${libraryName}.so"
  		 resource="${libraryName}.so.${majorVersion}" overwrite="true"/>
  	</target>
  
  	<target name="copyAndLinkAIXLibraries" if="aix">
  		<basename property="libraryName" file="${fullLibraryName}" suffix=".so"/>
  		<mkdir dir="${dir.release}/lib/axis"/>
  		<copy file="${dir.bin}/${libraryName}.so" tofile="${dir.release}/lib/axis/${libraryName}${version}.so"/>
  
  		<symlink link="${dir.release}/lib/axis/${libraryName}${majorVersion}.so"
  		 resource="${libraryName}${version}.so" overwrite="true"/>
  		<symlink link="${dir.release}/lib/axis/${libraryName}.so"
  		 resource="${libraryName}${majorVersion}.so" overwrite="true"/>
  		<symlink link="${dir.release}/lib/axis/${libraryName}.a"
  		 resource="${libraryName}.so" overwrite="true"/>
  	</target>
  
  	<target name="copyAndLinkUnixLibraries" depends="copyAndLinkLinuxLibraries, copyAndLinkSolarisLibraries, copyAndLinkAIXLibraries"/>
  
  	<target name="copyUnixLibraries" unless="windows">
  		<path id="libraries">
  			<fileset dir="${dir.bin}" includes="lib*"/>
  		</path>
  
  		<foreach target="copyAndLinkUnixLibraries" param="fullLibraryName" inheritall="true">
  			<path refid="libraries"/>
  		</foreach>
  	</target>
  
  	<target name="copyLibraries" depends="copyWindowsLibraries, copyUnixLibraries"/>
  
  	<target name="packageWindowsDeliverable" if="windows">
  		<mkdir dir="${dir.zips}"/>
  		<zip destfile="${dir.zips}/${release}.zip" basedir="${dir.release}/.." includes="${release}/**" />
  	</target>
  	
  	<target name="packageUnixDeliverable" unless="windows">
  		<mkdir dir="${dir.zips}"/>
  		<tar destfile="${dir.zips}/${release}.tar.gz" basedir="${dir.release}/.."
  		 includes="${release}/**" followsymlinks="false" compression="gzip"/>
  	</target>
  
  	<target name="packageDeliverable" depends="packageWindowsDeliverable, packageUnixDeliverable"/>
  
  	<target name="packageBinaryRelease">
  		<antcall target="copyLicense" inheritall="true"/>
  		<antcall target="copyDeploy" inheritall="true"/>
  		<antcall target="copyDocumentation" inheritall="true"/>
  		<antcall target="copyInclude" inheritall="true"/>
  		<antcall target="copyLibs" inheritall="true"/>
  		<antcall target="copyAxisJars" inheritall="true"/>
  		<antcall target="copySamples" inheritall="true"/>
  		<antcall target="copyTests" inheritall="true"/>
  		<antcall target="copyWSDL2Ws" inheritall="true"/>
  		<antcall target="copyLibraries" inheritall="true"/>
  		<antcall target="packageDeliverable" inheritall="true"/>
  	</target>
  
  	<target name="copyTraceInstrumentedSource" if="trace">
  		<!-- Use trace instrumented source -->
  		<delete dir="${dir.release}/src"/>
  		<mkdir dir="${dir.release}/src"/>
  		<copy todir="${dir.release}/src">
  			<fileset dir="${dir.src.instrumented}" includes="**"/>
  		</copy>
  	</target>
  
  	<target name="packageSourceRelease">
  		<antcall target="copySource" inheritall="true"/>
  		<antcall target="copyTraceInstrumentedSource" inheritall="true"/>
  		<antcall target="copyWSDL2Ws" inheritall="true"/>
  		<antcall target="packageDeliverable" inheritall="true"/>
  	</target>
  
  	<target name="packageWithoutTrace">
  		<antcall target="packageBinaryRelease" inheritall="true">
  			<param name="release" value="${release}-bin"/>
  			<param name="dir.release" value="${dir.release}-bin"/>
  		</antcall>
  		<antcall target="packageSourceRelease" inheritall="true">
  			<param name="release" value="${release}-src"/>
  			<param name="dir.release" value="${dir.release}-src"/>
  		</antcall>
  	</target>
  
  	<target name="packageWithTrace">
  		<antcall target="packageBinaryRelease" inheritall="true">
  			<param name="dir.bin" value="${dir.bin}/trace"/>
  			<param name="release" value="${release}-bin-trace"/>
  			<param name="dir.release" value="${dir.release}-bin-trace"/>
  		</antcall>
  		<antcall target="packageSourceRelease" inheritall="true">
  			<param name="trace" value="true"/>
  			<param name="release" value="${release}-src-trace"/>
  			<param name="dir.release" value="${dir.release}-src-trace"/>
  		</antcall>
  	</target>
  
  	<target name="package" depends="initialize" description="Package ready for delivery">
  		<antcall target="packageWithoutTrace" inheritall="true"/>
  		<antcall target="packageWithTrace" inheritall="true"/>
  	</target>
  	
  	<target name="clean" depends="initialize" description="Remove built packages">
  		<delete dir="${dir.release}-bin"/>
  		<delete dir="${dir.release}-src"/>
  		<delete dir="${dir.release}-bin-trace"/>
  		<delete dir="${dir.release}-src-trace"/>
  		<delete>
  			<fileset dir="${dir.zips}" includes="${release}**"/>
  		</delete>
  	</target>
  </project>