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/09/29 14:31:26 UTC
cvs commit: ws-axis/c build.AIX.properties build.xml
dicka 2004/09/29 05:31:26
Modified: c build.AIX.properties build.xml
Log:
Correct AIX linker definition and use within ANT scripts
Submitted by: Adrian Dick
Revision Changes Path
1.4 +5 -0 ws-axis/c/build.AIX.properties
Index: build.AIX.properties
===================================================================
RCS file: /home/cvs/ws-axis/c/build.AIX.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- build.AIX.properties 8 Sep 2004 10:55:21 -0000 1.3
+++ build.AIX.properties 29 Sep 2004 12:31:26 -0000 1.4
@@ -39,6 +39,11 @@
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
+
####################################
# Properties for compiling WSDL2Ws #
####################################
1.5 +177 -101 ws-axis/c/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/ws-axis/c/build.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- build.xml 23 Sep 2004 14:46:42 -0000 1.4
+++ build.xml 29 Sep 2004 12:31:26 -0000 1.5
@@ -6,10 +6,10 @@
This script is intended for use with Java 1.4+ and Apache ANT 1.6+.
Ant is available from: http://ant.apache.org/
-To compile C/C++ code you will require the cpptasks extension to ANT, within:
+To compile C/C++ code you will require the ant-contrib and cpptasks extensions to ANT, within:
[ant install dir]/lib
-This is available from: http://ant-contrib.sourceforge.net/
-{Note: you will require the cpptasks download, not ant-contrib}
+These are available from: http://ant-contrib.sourceforge.net/
+{Note: You will require both the cpptasks and ant-contrib downloads }
It is intended that the default target be used, which compiles and links all code,
generates documentation and packages ready for distribution.
@@ -38,6 +38,11 @@
<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
-->
@@ -202,15 +207,7 @@
-->
<linker id="AIXLinker" name="xlC" libtool="false" if="aix">
<linkerarg value="-g" if="debug"/>
- <linkerarg value="-qmkshrobj=104"/>
- <linkerarg value="-brtl"/>
- <linkerarg value="-C"/>
- <linkerarg value="-shared"/>
- <linkerarg value="-G"/>
- <linkerarg value="-brtl"/>
- <linkerarg value="-bdynamic"/>
- <linkerarg value="-bnoentry"/>
- <linkerarg value="-p10"/>
+ <linkerarg value="-qmkshrobj"/>
<linkerarg value="-L/usr/lib/threads"/>
<linkerarg value="-lpthreads"/>
<linkerarg value="-lm"/>
@@ -272,42 +269,75 @@
<target name="compileAxisClient" depends="initialize">
<mkdir dir="${dir.objects}"/>
<mkdir dir="${dir.bin}"/>
- <cc outfile="${dir.bin}/${clientLibraryName}" 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="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="AIXLinker"/>
- <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>
+ <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}/${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>
<!--
@@ -316,31 +346,51 @@
<target name="compileAxisTransport" depends="initialize">
<mkdir dir="${dir.objects}"/>
<mkdir dir="${dir.bin}"/>
- <cc outfile="${dir.bin}/${transportLibraryName}" 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="AXISTRANSPORTDLL_EXPORTS"/>
- </defineset>
- </compiler>
- <!-- Linkers -->
- <linker refid="SolarisLinker"/>
- <linker refid="LinuxLinker"/>
- <linker refid="AIXLinker"/>
- <linker extends="VisualC++Linker">
- <syslibset libs="wsock32"/>
- </linker>
- <!-- Files to compile -->
- <fileset dir="${dir.src}">
- <include name="transport/axis/*.cpp"/>
- <!-- The following files need to be excluded -->
- <exclude name="transport/axis/SecureChannel.cpp"/>
- </fileset>
- </cc>
+ <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/axis/*.cpp"/>
+ <!-- The following files need to be excluded -->
+ <exclude name="transport/axis/SecureChannel.cpp"/>
+ </fileset>
+ </cc>
+ </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/axis/*.cpp"/>
+ <!-- The following files need to be excluded -->
+ <exclude name="transport/axis/SecureChannel.cpp"/>
+ </fileset>
+ </cc>
+ </else>
+ </if>
</target>
<!--
@@ -349,33 +399,59 @@
<target name="compileAxisXMLParser" depends="initialize">
<mkdir dir="${dir.objects}/${xmlParserLibraryName}"/>
<mkdir dir="${dir.bin}"/>
- <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>
+ <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}/${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>
<!--
@@ -615,4 +691,4 @@
<delete dir="${dir.package.docs}"/>
</target>
-</project>
\ No newline at end of file
+</project>