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>