You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by damitha kumarage <da...@opensource.lk> on 2004/09/08 11:50:57 UTC

Axis C++ Solaris port

Hi Valentine

> Dear Axis developers,
> I successfully ported Axis to Solaris and verified
> that my client code is working properly similar to
> Linux. I've spent some time to figure out appropriate
> options for Solaris platform which will allow Axis to
> compile. I used Solaris 2.8, with native CC/cc C++/c
> compilers. The compiler options was choosen to allow
> global instantiation of templates.
>
> Here they are:
> CXXFLAGS=" -KPIC -xildoff -pta -instances=global "
> CFLAGS="-DENABLE_AXIS_EXCEPTION -DENABLE_AXISTRACE"
> CPPFLAGS="-DENABLE_AXIS_EXCEPTION -DENABLE_AXISTRACE"
> LDFLAGS = "-Qoption ld -zmuldefs"
> and need to be setup in configure.ac

Is it OK if i add a comiler option to support different platforms.
eg: configure --with-solaris etc

>
> I used libtool-1.5.8, autoconf-2.59, automake-1.9.1
>
> All patches done wrt axis-c-src-1-2-linux (sorry I
> just don't have time to test development release).
> I also created SolarisDefs.hpp file similar to
> LinuxDefs.hpp. I just copied content of endian.h and
> LinuxDefs.hpp into SolarisDefs.hpp and it works (on
> Solaris there is no endian.h).
> Finally, I was need to rebuild libaxis_expat.so and
> add there StartElement.o, Event.o, Element.o.

LinuxDefs.hpp is related to xercesc. so I guess SolarisDefs.hpp is
not needed if you use expat

 It was
> necessary to plug Axis into our 700+ package framework
> (which is based on shared libraries). I did it
> manually and need to verify if changes would be
> necessary for Axis Makefile.am.
>
> I hope you will accept my changes and include them in
> CVS tree as well as in forthcoming release. I'll be
> happy to test Axis in a future on Solaris when new
> release will come.
>
> Valentin.
> P.S. The way we use Axis is to access Web Service
> through our framework and legacy C++ application. No
> tests done on the server side.
>
>
>
> __________________________________
> Do you Yahoo!?
> Read only the mail you want - Yahoo! Mail SpamGuard.
> http://promotions.yahoo.com/new_mail


----------------------------------------------------------------------------
----


> --- original/axis-c-src-1-2-linux/src/common/AxisTime.cpp 2004-07-09
03:22:04.000000000 -0400
> +++ solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp 2004-08-20
13:03:08.000000000 -0400
> @@ -18,7 +18,7 @@
>   * @author Damitha Kumarage (damitha@opensource.lk,
damitha@jkcsworld.com)
>   *
>   */
> -
> +#include <math.h>
>  #include <stdio.h>
>  #include <axis/server/AxisTime.h>
>  #include "AxisUtils.h"
> @@ -250,18 +250,18 @@
>              m_TM.tm_year -= 1900;
>              m_TM.tm_mon--;
>              m_TM.tm_isdst = -1;
> -#if !defined(WIN32) && !defined(AIX)
> +#if !defined(WIN32) && !defined(AIX) && !defined(__sun)
>              m_TM.tm_zone = NULL;
>              m_TM.tm_gmtoff = -1;
>  #endif
> -            cTemp2 = strpbrk (m_sValue.c_str (), "T");
> +            cTemp2 = const_cast<char*>(strpbrk (m_sValue.c_str (),
"T"));
>              cTemp3 = strrchr (cTemp2, ':');
>              cTemp3[0] = '\0';
>              intLen = strlen (cTemp2);
>              cTemp3[0] = ':';
>
>              /*if the timezone is represented adding 'Z' at the end */
> -            if ((cTemp = strpbrk (m_sValue.c_str (), "Z")) != NULL)
> +            if ((cTemp = const_cast<char*>(strpbrk (m_sValue.c_str
(),
"Z"))) != NULL)
>              {
>                  time_t temp = mktime (&m_TM);
>                  if (temp == -1)
> @@ -296,7 +296,7 @@
>                  time_t t = mktime (&m_TM);
>                  if (t == -1)
>                      return AXIS_FAIL;
> -                t = abs (t - d);
> +                t = fabs (t - d);
>                  pTm = gmtime (&t);
>                  memcpy (&m_TMUTC, pTm, sizeof (tm));
>              }
> @@ -329,14 +329,14 @@
>              m_TM.tm_min = 0;
>              m_TM.tm_sec = 0;
>              m_TM.tm_isdst = -1;
> -#if !defined(WIN32) && !defined(AIX)
> +#if !defined(WIN32) && !defined(AIX) && !defined(__sun)
>              m_TM.tm_zone = NULL;
>              m_TM.tm_gmtoff = -1;
>  #endif
> -            cTemp3 = strpbrk (m_sValue.c_str (), ":");
> +            cTemp3 = const_cast<char*>(strpbrk (m_sValue.c_str (),
":"));
>
>              /* if the timezone is represented adding 'Z' at the end
*/
> -            if ((cTemp = strpbrk (m_sValue.c_str (), "Z")) != NULL)
> +            if ((cTemp = const_cast<char*>(strpbrk (m_sValue.c_str
(),
"Z"))) != NULL)
>              {
>                  time_t timeInSecs = mktime (&m_TM);
>                  if (timeInSecs == -1)
> @@ -346,9 +346,9 @@
>              }
>              else if (cTemp3 != NULL)
>              {
> -                cUtc = strrchr (m_sValue.c_str (), '+');
> +                cUtc = const_cast<char*>(strrchr (m_sValue.c_str (),
'+'));
>                  if (cUtc == NULL)
> -                    cUtc = strrchr (m_sValue.c_str (), '-');
> +                    cUtc = const_cast<char*>(strrchr (m_sValue.c_str
(),
'-'));
>                  time_t timeInSecs = mktime (&m_TM);
>                  if (timeInSecs == -1)
>                      return AXIS_FAIL;
> @@ -368,7 +368,7 @@
>                  time_t t = mktime (&m_TM);
>                  if (t == -1)
>                      return AXIS_FAIL;
> -                t = abs (t - d);
> +                t = fabs (t - d);
>                  pTm = gmtime (&t);
>                  memcpy (&m_TMUTC, pTm, sizeof (tm));
>              }
> @@ -399,7 +399,7 @@
>              m_TM.tm_mon = 0;
>              m_TM.tm_mday = 1;     /* Day of month (1 - 31) */
>              m_TM.tm_isdst = -1;
> -#if !defined(WIN32) && !defined(AIX)
> +#if !defined(WIN32) && !defined(AIX) && !defined(__sun)
>              m_TM.tm_zone = NULL;
>              m_TM.tm_gmtoff = -1;
>  #endif
> @@ -417,7 +417,7 @@
>              cTemp3[0] = ':';
>
>              /* if the timezone is represented adding 'Z' at the end
*/
> -            if ((cTemp = strpbrk (m_sValue.c_str (), "Z")) != NULL)
> +            if ((cTemp = const_cast<char*>(strpbrk (m_sValue.c_str
(),
"Z"))) != NULL)
>              {
>                  time_t temp = mktime (&m_TM);
>                  if (temp == -1)
> @@ -452,7 +452,7 @@
>                  time_t t = mktime (&m_TM);
>                  if (t == -1)
>                      return AXIS_FAIL;
> -                t = abs (t - d);
> +                t = fabs (t - d);
>                  pTm = gmtime (&t);
>                  memcpy (&m_TMUTC, pTm, sizeof (tm));
>              }
>


----------------------------------------------------------------------------
----


> --- original/axis-c-src-1-2-linux/src/common/TypeMapping.cpp
2004-07-09
03:22:04.000000000 -0400
> +++ solaris/axis-c-src-1-2-linux/src/common/TypeMapping.cpp 2004-08-23
12:20:51.000000000 -0400
> @@ -24,11 +24,10 @@
>  #include "AxisUtils.h"
>  #define __TRC(X) AxisUtils::Convert(X)
>
> -#ifndef AIX
> -map < const AxisXMLString, XSDTYPE >
> -    TypeMapping::m_sTypeMap;
> -#else
> +#if (defined(AIX) || (defined(_MSC_VER) && _MSC_VER >= 1300) ||
defined(__sun))
>  map < AxisXMLString, XSDTYPE > TypeMapping::m_sTypeMap;
> +#else
> +map < const AxisXMLString, XSDTYPE > TypeMapping::m_sTypeMap;
>  #endif
>  volatile bool TypeMapping::m_bInit = false;
>
>


----------------------------------------------------------------------------
----


> --- original/axis-c-src-1-2-linux/include/axis/server/TypeMapping.h
2004-07-09 03:22:03.000000000 -0400
> +++ solaris/axis-c-src-1-2-linux/include/axis/server/TypeMapping.h
2004-08-20 11:15:58.000000000 -0400
> @@ -59,7 +59,7 @@
>      static XSDTYPE map(const AxisXMLCh* sType);
>      static void initialize();
>
> -#if (defined(AIX) || (defined(_MSC_VER) && _MSC_VER >= 1300))
> +#if (defined(AIX) || (defined(_MSC_VER) && _MSC_VER >= 1300) ||
defined(__sun))
>      static std::map<AxisXMLString, XSDTYPE> m_sTypeMap;
>  #else
>      static std::map<const AxisXMLString, XSDTYPE> m_sTypeMap;
>


----------------------------------------------------------------------------
----


> --- original/axis-c-src-1-2-linux/include/axis/server/HandlerChain.h
2004-07-09 03:22:03.000000000 -0400
> +++ solaris/axis-c-src-1-2-linux/include/axis/server/HandlerChain.h
2004-08-24 10:09:46.000000000 -0400
> @@ -19,6 +19,7 @@
>  #define _HANDLERCHAIN_H____OF_AXIS_INCLUDED_
>
>  #include "Handler.h"
> +#include <vector>
>
>  /*
>   *  @class HandlerChain
> @@ -48,8 +49,13 @@
>      /* this is never called */
>
>  private:
> -    list<ChainItem> m_HandlerList;
> -    list<ChainItem>::iterator m_itCurrHandler;
> +//    list<ChainItem> m_HandlerList;
> +//    list<ChainItem>::iterator m_itCurrHandler;
> +    // On Solaris platform when autoinstantiation is done
> +    // list doesn't support (ChainItem==const ChainItem),
> +    // switched to vector to avoid this problem.
> +    std::vector<ChainItem> m_HandlerList;
> +    std::vector<ChainItem>::iterator m_itCurrHandler;
>  };
>
>  #endif
>


----------------------------------------------------------------------------
----


> /*
>  * The Apache Software License, Version 1.1
>  *
>  * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
>  * reserved.
>  *
>  * Redistribution and use in source and binary forms, with or without
>  * modification, are permitted provided that the following conditions
>  * are met:
>  *
>  * 1. Redistributions of source code must retain the above copyright
>  *    notice, this list of conditions and the following disclaimer.
>  *
>  * 2. Redistributions in binary form must reproduce the above
copyright
>  *    notice, this list of conditions and the following disclaimer in
>  *    the documentation and/or other materials provided with the
>  *    distribution.
>  *
>  * 3. The end-user documentation included with the redistribution,
>  *    if any, must include the following acknowledgment:
>  *       "This product includes software developed by the
>  *        Apache Software Foundation (http://www.apache.org/)."
>  *    Alternately, this acknowledgment may appear in the software
itself,
>  *    if and wherever such third-party acknowledgments normally
appear.
>  *
>  * 4. The names "Xerces" and "Apache Software Foundation" must
>  *    not be used to endorse or promote products derived from this
>  *    software without prior written permission. For written
>  *    permission, please contact apache\@apache.org.
>  *
>  * 5. Products derived from this software may not be called "Apache",
>  *    nor may "Apache" appear in their name, without prior written
>  *    permission of the Apache Software Foundation.
>  *
>  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>  * SUCH DAMAGE.
>  *
====================================================================
>  *
>  * This software consists of voluntary contributions made by many
>  * individuals on behalf of the Apache Software Foundation, and was
>  * originally based on software copyright (c) 1999, International
>  * Business Machines, Inc., http://www.ibm.com .  For more information
>  * on the Apache Software Foundation, please see
>  * <http://www.apache.org/>.
>  */
>
> /*
>  * $Log: LinuxDefs.hpp,v $
>  * Revision 1.3  2002/11/19 18:19:41  tng
>  * [Bug 13487] Linux runs on many non-i386 platforms.
>  *
>  * Revision 1.2  2002/10/29 18:58:14  tng
>  * Support for Linux/390 which is big endian
>  *
>  * Revision 1.1.1.1  2002/02/01 22:22:24  peiyongz
>  * sane_include
>  *
>  * Revision 1.3  2000/03/02 19:55:24  roddey
>  * This checkin includes many changes done while waiting for the
>  * 1.1.0 code to be finished. I can't list them all here, but a list
is
>  * available elsewhere.
>  *
>  * Revision 1.2  2000/02/06 07:48:28  rahulj
>  * Year 2K copyright swat.
>  *
>  * Revision 1.1.1.1  1999/11/09 01:07:00  twl
>  * Initial checkin
>  *
>  * Revision 1.2  1999/11/08 20:45:30  rahul
>  * Swat for adding in Product name and CVS comment log variable.
>  *
>  */
>
>
>
//
-------------------------------------------------------------------------
--
> //  Detect endian mode
>
//
-------------------------------------------------------------------------
--
>
> #define __LITTLE_ENDIAN 1234
> #define __BIG_ENDIAN    4321
> #define __PDP_ENDIAN    3412
>
>
> #if __BYTE_ORDER == __LITTLE_ENDIAN
> # define __LONG_LONG_PAIR(HI, LO) LO, HI
> #elif __BYTE_ORDER == __BIG_ENDIAN
> # define __LONG_LONG_PAIR(HI, LO) HI, LO
> #endif
>
>
> #ifdef __BYTE_ORDER
>     #if __BYTE_ORDER == __LITTLE_ENDIAN
>         #define ENDIANMODE_LITTLE
>     #else
>         #if __BYTE_ORDER == __BIG_ENDIAN
>             #define ENDIANMODE_BIG
>         #else
>             #error: unknown byte order!
>         #endif
>     #endif
> #endif /* __BYTE_ORDER */
>
> typedef void* FileHandle;
>
> #ifndef LINUX
> #define LINUX
> #endif
>


Re: Axis C++ Solaris port

Posted by Valentine Kouznetsov <vk...@yahoo.com>.
Hi Adrian,
yes you're completely right env gives you full access
to environment.

About avoiding accessing environment. The
build.properties files contains hardcoded path
like:

dir.xmlParser = /home/axisdev/expat-1.95.7

and reason I would like to use environment is
tell ant where my expat is. Plus other stuff. For
instance, in java build it assume JAVA_HOME,
CLASSPATH, etc. all of those may be already setup on
user system. If users will use ant, they will need to
go through every property files and modify it
appropriately. From my point of view, using
environment variable is better.
Valentin.


--- Adrian Dick <ad...@uk.ibm.com> wrote:

> 
> 
> 
> 
> Hi,
> 
> If I'm right in understanding, this allows ANT
> properties to directly refer
> to system environment variables, which I can see as
> being very useful.
> However, it was my intention when developing these
> script to avoid, as far
> as possible, any external environment setup.
> 
> While the script itself doesn't refer to these
> environment variables, I'm
> wary that these could be included in the build
> property files in CVS, and
> overtime causing others to believe they MUST use it
> in this way.
> 
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
> 
> 
> 
>                                                     
>                       
>              Valentine                              
>                       
>              Kouznetsov                             
>                       
>              <vkuznet@yahoo.co                      
>                    To 
>              m>                        Apache AXIS C
> Developers List       
>                                       
> <ax...@ws.apache.org>          
>              09-09-04 17:55                         
>                    cc 
>                                                     
>                       
>                                                     
>               Subject 
>              Please respond to         Re: Axis C++
> Solaris port           
>               "Apache AXIS C                        
>                       
>              Developers List"                       
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
> 
> 
> 
> 
> Adrian,
> You forgot to include in build.xml the following
> lines:
> 
> <!-- Import the environment -->
> <property name="env" value="env" environment="env"/>
> 
> 
> they should go right behind
> </description>
> 
> The rest is fine and I was able to recompile my C++
> code.
> Valentin.
> 
> 
> --- Adrian Dick <ad...@uk.ibm.com> wrote:
> 
> >
> >
> >
> >
> > Hi,
> >
> > I've put in your changes.  Please can you test
> this.
> > Thanks,
> > Adrian
> >
> > _______________________________________
> > Adrian Dick (adrian.dick@uk.ibm.com)
> >
> >
> >
> >
> >
> >              Valentine
> >
> >              Kouznetsov
> >
> >              <vkuznet@yahoo.co
> >                    To
> >              m>                        Apache AXIS
> C
> > Developers List
> >
> > <ax...@ws.apache.org>
> >              09-09-04 17:00
> >                    cc
> >
> >
> >
> >               Subject
> >              Please respond to         Re: Axis
> C++
> > Solaris port
> >               "Apache AXIS C
> >
> >              Developers List"
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi,
> > I made some changes to build.xml and created new
> > build.SunOS.properties. In case of Solaris the
> > system
> > can be identified either as Solaris or SunOS and I
> > still need to check couple of things. But it works
> > and
> > I was able to compile C++ code. I still need to
> test
> > it. One comment, if you add (as I did)
> > <property name="env" value="env"
> environment="env"/>
> > to build.xml
> > then you can use environment variables instead of
> > hard coded path, see examples in
> > build.SunOS.properties.
> > Could you please add these changes to CVS.
> > Valentin.
> >
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > New and Improved Yahoo! Mail - 100MB free storage!
> > http://promotions.yahoo.com/new_mail <project
> > name="AxisC"
> > default="production" basedir=".">
> >              <description>
> > This ANT script compiles and packages the Apache
> > AxisC runtime binaries and
> > WSDL2Ws tooling.
> >
> > 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:
> >              [ant install dir]/lib
> > This is available from:
> > http://ant-contrib.sourceforge.net/
> > {Note: you will require the cpptasks download, not
> > ant-contrib}
> >
> > It is intended that the default target be used,
> > which compiles and links
> > all code,
> > generates documentation and packages ready for
> > distribution.
> >
> > Associated with this build script are property
> files
> > for each platform, the
> > script
> > will automatically determine the correct one to be
> > used;
> >              - build.Win32.properties
> >              - build.Linux.properties
> >              - build.AIX.properties
> > Please use these to configure directories to suit
> > the needs of your system.
> >
> 
=== message truncated ===



		
_______________________________
Do you Yahoo!?
Shop for Back-to-School deals on Yahoo! Shopping.
http://shopping.yahoo.com/backtoschool

Re: Axis C++ Solaris port

Posted by Adrian Dick <ad...@uk.ibm.com>.



Hi,

If I'm right in understanding, this allows ANT properties to directly refer
to system environment variables, which I can see as being very useful.
However, it was my intention when developing these script to avoid, as far
as possible, any external environment setup.

While the script itself doesn't refer to these environment variables, I'm
wary that these could be included in the build property files in CVS, and
overtime causing others to believe they MUST use it in this way.

Regards,
Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)



                                                                           
             Valentine                                                     
             Kouznetsov                                                    
             <vkuznet@yahoo.co                                          To 
             m>                        Apache AXIS C Developers List       
                                       <ax...@ws.apache.org>          
             09-09-04 17:55                                             cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis C++ Solaris port           
              "Apache AXIS C                                               
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           




Adrian,
You forgot to include in build.xml the following
lines:

<!-- Import the environment -->
<property name="env" value="env" environment="env"/>


they should go right behind
</description>

The rest is fine and I was able to recompile my C++
code.
Valentin.


--- Adrian Dick <ad...@uk.ibm.com> wrote:

>
>
>
>
> Hi,
>
> I've put in your changes.  Please can you test this.
> Thanks,
> Adrian
>
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
>
>
>
>
>
>              Valentine
>
>              Kouznetsov
>
>              <vkuznet@yahoo.co
>                    To
>              m>                        Apache AXIS C
> Developers List
>
> <ax...@ws.apache.org>
>              09-09-04 17:00
>                    cc
>
>
>
>               Subject
>              Please respond to         Re: Axis C++
> Solaris port
>               "Apache AXIS C
>
>              Developers List"
>
>
>
>
>
>
>
>
>
>
>
>
>
> Hi,
> I made some changes to build.xml and created new
> build.SunOS.properties. In case of Solaris the
> system
> can be identified either as Solaris or SunOS and I
> still need to check couple of things. But it works
> and
> I was able to compile C++ code. I still need to test
> it. One comment, if you add (as I did)
> <property name="env" value="env" environment="env"/>
> to build.xml
> then you can use environment variables instead of
> hard coded path, see examples in
> build.SunOS.properties.
> Could you please add these changes to CVS.
> Valentin.
>
>
>
>
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - 100MB free storage!
> http://promotions.yahoo.com/new_mail <project
> name="AxisC"
> default="production" basedir=".">
>              <description>
> This ANT script compiles and packages the Apache
> AxisC runtime binaries and
> WSDL2Ws tooling.
>
> 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:
>              [ant install dir]/lib
> This is available from:
> http://ant-contrib.sourceforge.net/
> {Note: you will require the cpptasks download, not
> ant-contrib}
>
> It is intended that the default target be used,
> which compiles and links
> all code,
> generates documentation and packages ready for
> distribution.
>
> Associated with this build script are property files
> for each platform, the
> script
> will automatically determine the correct one to be
> used;
>              - build.Win32.properties
>              - build.Linux.properties
>              - build.AIX.properties
> Please use these to configure directories to suit
> the needs of your system.
>
> Notes:
> * The documentation target requires doxygen be
> installed and available on
> the system path
>   This is available from: http://www.doxygen.org
> * The following compilers will be required;
>              - Windows = Microsoft Visual C++ 6.0
>              - Linux   = gcc
>              - AIX     = Visual Age
>              - Solaris = CC/cc
>              </description>
>     <!-- Import the environment -->
>     <property name="env" value="env"
> environment="env"/>
>
>              <!--   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"/>
>
>              <!--   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.objects">
value="${basedir}/build/axis"/>     <property> name="dir.bin">
value="${basedir}/build/bin"/>      -->
>
>              <!-- Compiler Definitions -->
>                          <!-- Definition of cc> compile for Solaris -->
>                          <compiler id="SolarisCC"
> name="CC" if="solaris">
>                                      <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="/Od"/>
>                                      <includepath
> path="${dir.include}"/>
>                                      <defineset>
>
> <define name="WIN32"/>
>
> <define name="NDEBUG"/>
>
> <define name="_WINDOWS"/>
>
> <define name="_MBCS"/>
>
=== message truncated ===





__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail



Re: Axis C++ Solaris port

Posted by Valentine Kouznetsov <vk...@yahoo.com>.
Adrian,
You forgot to include in build.xml the following
lines:

<!-- Import the environment -->
<property name="env" value="env" environment="env"/>


they should go right behind 
</description>

The rest is fine and I was able to recompile my C++
code. 
Valentin.


--- Adrian Dick <ad...@uk.ibm.com> wrote:

> 
> 
> 
> 
> Hi,
> 
> I've put in your changes.  Please can you test this.
> Thanks,
> Adrian
> 
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
> 
> 
> 
>                                                     
>                       
>              Valentine                              
>                       
>              Kouznetsov                             
>                       
>              <vkuznet@yahoo.co                      
>                    To 
>              m>                        Apache AXIS C
> Developers List       
>                                       
> <ax...@ws.apache.org>          
>              09-09-04 17:00                         
>                    cc 
>                                                     
>                       
>                                                     
>               Subject 
>              Please respond to         Re: Axis C++
> Solaris port           
>               "Apache AXIS C                        
>                       
>              Developers List"                       
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
> 
> 
> 
> 
> Hi,
> I made some changes to build.xml and created new
> build.SunOS.properties. In case of Solaris the
> system
> can be identified either as Solaris or SunOS and I
> still need to check couple of things. But it works
> and
> I was able to compile C++ code. I still need to test
> it. One comment, if you add (as I did)
> <property name="env" value="env" environment="env"/>
> to build.xml
> then you can use environment variables instead of
> hard coded path, see examples in
> build.SunOS.properties.
> Could you please add these changes to CVS.
> Valentin.
> 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - 100MB free storage!
> http://promotions.yahoo.com/new_mail <project
> name="AxisC"
> default="production" basedir=".">
>              <description>
> This ANT script compiles and packages the Apache
> AxisC runtime binaries and
> WSDL2Ws tooling.
> 
> 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:
>              [ant install dir]/lib
> This is available from:
> http://ant-contrib.sourceforge.net/
> {Note: you will require the cpptasks download, not
> ant-contrib}
> 
> It is intended that the default target be used,
> which compiles and links
> all code,
> generates documentation and packages ready for
> distribution.
> 
> Associated with this build script are property files
> for each platform, the
> script
> will automatically determine the correct one to be
> used;
>              - build.Win32.properties
>              - build.Linux.properties
>              - build.AIX.properties
> Please use these to configure directories to suit
> the needs of your system.
> 
> Notes:
> * The documentation target requires doxygen be
> installed and available on
> the system path
>   This is available from: http://www.doxygen.org
> * The following compilers will be required;
>              - Windows = Microsoft Visual C++ 6.0
>              - Linux   = gcc
>              - AIX     = Visual Age
>              - Solaris = CC/cc
>              </description>
>     <!-- Import the environment -->
>     <property name="env" value="env"
> environment="env"/>
> 
>              <!--   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"/>
> 
>              <!--   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.objects"
> value="${basedir}/build/axis"/>     <property
> name="dir.bin"
> value="${basedir}/build/bin"/>      -->
> 
>              <!-- Compiler Definitions -->
>                          <!-- Definition of cc
> compile for Solaris -->
>                          <compiler id="SolarisCC"
> name="CC" if="solaris">
>                                      <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="/Od"/>
>                                      <includepath
> path="${dir.include}"/>
>                                      <defineset>
>                                                 
> <define name="WIN32"/>
>                                                 
> <define name="NDEBUG"/>
>                                                 
> <define name="_WINDOWS"/>
>                                                 
> <define name="_MBCS"/>
> 
=== message truncated ===



	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 

Re: Axis C++ Solaris port

Posted by Adrian Dick <ad...@uk.ibm.com>.



Hi,

I've put in your changes.  Please can you test this.
Thanks,
Adrian

_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)



                                                                           
             Valentine                                                     
             Kouznetsov                                                    
             <vkuznet@yahoo.co                                          To 
             m>                        Apache AXIS C Developers List       
                                       <ax...@ws.apache.org>          
             09-09-04 17:00                                             cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis C++ Solaris port           
              "Apache AXIS C                                               
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           




Hi,
I made some changes to build.xml and created new
build.SunOS.properties. In case of Solaris the system
can be identified either as Solaris or SunOS and I
still need to check couple of things. But it works and
I was able to compile C++ code. I still need to test
it. One comment, if you add (as I did)
<property name="env" value="env" environment="env"/>
to build.xml
then you can use environment variables instead of
hard coded path, see examples in
build.SunOS.properties.
Could you please add these changes to CVS.
Valentin.




__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail <project name="AxisC"
default="production" basedir=".">
             <description>
This ANT script compiles and packages the Apache AxisC runtime binaries and
WSDL2Ws tooling.

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:
             [ant install dir]/lib
This is available from: http://ant-contrib.sourceforge.net/
{Note: you will require the cpptasks download, not ant-contrib}

It is intended that the default target be used, which compiles and links
all code,
generates documentation and packages ready for distribution.

Associated with this build script are property files for each platform, the
script
will automatically determine the correct one to be used;
             - build.Win32.properties
             - build.Linux.properties
             - build.AIX.properties
Please use these to configure directories to suit the needs of your system.

Notes:
* The documentation target requires doxygen be installed and available on
the system path
  This is available from: http://www.doxygen.org
* The following compilers will be required;
             - Windows = Microsoft Visual C++ 6.0
             - Linux   = gcc
             - AIX     = Visual Age
             - Solaris = CC/cc
             </description>
    <!-- Import the environment -->
    <property name="env" value="env" environment="env"/>

             <!--   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"/>

             <!--   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.objects"
value="${basedir}/build/axis"/>     <property name="dir.bin"
value="${basedir}/build/bin"/>      -->

             <!-- Compiler Definitions -->
                         <!-- Definition of cc compile for Solaris -->
                         <compiler id="SolarisCC" name="CC" if="solaris">
                                     <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="/Od"/>
                                     <includepath path="${dir.include}"/>
                                     <defineset>
                                                 <define name="WIN32"/>
                                                 <define name="NDEBUG"/>
                                                 <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="-Wall"/>
                                     <compilerarg value="-Wshadow"/>
                                     <compilerarg value="-g"/>
                                     <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"/>
                                     <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="-Qoption"/>
                                     <linkerarg value="ld"/>
                                     <linkerarg value="-zmuldefs"/>
                         </linker>

                         <!-- Definition of Visual C++ linker -->
                         <linker id="VisualC++Linker" name="msvc"
if="windows">
                                     <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"/>
                                     <libset libs="stdc++"/>
                         </linker>

                         <!-- Definition of AIX linker -->
                         <linker id="AIXLinker" name="xlC" libtool="false"
if="aix">
                                     <!-- debug is on for all -->
                                     <linkerarg value="-g"/>
                                     <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="-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>

             <!--   Compile the Axis Client Library     -->
             <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"/>
                                     </defineset>
                                     <!-- Linkers -->
                                     <linker refid="SolarisLinker"/>
                                     <linker refid="LinuxLinker"/>
                                     <linker refid="AIXLinker"/>
                                     <linker refid="VisualC++Linker"/>
                                     <!-- Files to be compiled -->
                                     <fileset dir="${dir.src}">
                                                 <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>
             </target>

             <!--   Compile the Axis Transport Library        -->
             <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>
             </target>

             <!--   Compile the Axis XML Parser Library       -->
             <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>
             </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.0.0.0"/>
                         </copy>
                         <!-- Create symbolic links to Client library -->
                         <symlink
link="${dir.package.lib}/lib${clientLibraryName}.so.0"
                          resource="lib${clientLibraryName}.so.0.0.0"
overwrite="true"/>
                         <!-- Create symbolic links to Transport library
-->
                         <symlink
link="${dir.package.lib}/lib${transportLibraryName}.so.0"
                          resource="lib${transportLibraryName}.so.0.0.0"
overwrite="true"/>
                         <!-- Create symbolic links to XML Parser library
-->
                         <symlink
link="${dir.package.lib}/lib${xmlParserLibraryName}.so.0"
                          resource="lib${xmlParserLibraryName}.so.0.0.0"
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.0.0.0"
overwrite="true"/>
                         <!-- Create symbolic link to Transport library -->
                         <symlink
link="${dir.package.lib}/lib${transportLibraryName}.a"
                          resource="lib${transportLibraryName}.so.0.0.0"
overwrite="true"/>
                         <!-- Create symbolic link to XML Parser library
-->
                         <symlink
link="${dir.package.lib}/lib${xmlParserLibraryName}.a"
                          resource="lib${xmlParserLibraryName}.so.0.0.0"
overwrite="true"/>
             </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>

             <!--   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/**"/>
                                     <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>

             <!--   Package all artifacts ready for distribution    -->

             <target name="package" depends="packageBins,
packageIncludeFiles, packageWSDL2Ws, packageDocumentation"
              description="Package all artifacts ready for distribution"/>

             <!--   Validate all artifacts produced for Windows platform
  -->
             <target name="validateWindows" depends="initialize"
if="windows">
                         <condition property="missingArtifact">
                                     <not>
                                                 <and>
                                                             <!-- DLLs -->
                                                             <available
file="${dir.package.bin}/${clientLibraryName}.dll"/>
                                                             <available
file="${dir.package.bin}/${transportLibraryName}.dll"/>
                                                             <available
file="${dir.package.bin}/${xmlParserLibraryName}.dll"/>
                                                             <available
file="${dir.package.lib}/${clientLibraryName}.lib"/>
                                                 </and>
                                     </not>
                         </condition>
                         <fail message="Not all artifacts have been
produced for windows" if="missingArtifact"/>
             </target>

             <!--   Validate all artifacts produced for Unix platform
-->
             <target name="validateUnix" depends="initialize"
unless="windows">
                         <condition property="missingArtifact">
                                     <not>
                                                 <and>
                                                             <!-- Shared
Libraries -->
                                                             <available
file="${dir.package.lib}/lib${clientLibraryName}.so.0"/>
                                                             <available
file="${dir.package.lib}/lib${clientLibraryName}.so.0.0.0"/>
                                                             <available
file="${dir.package.lib}/lib${transportLibraryName}.so.0"/>
                                                             <available
file="${dir.package.lib}/lib${transportLibraryName}.so.0.0.0"/>
                                                             <available
file="${dir.package.lib}/lib${xmlParserLibraryName}.so.0"/>
                                                             <available
file="${dir.package.lib}/lib${xmlParserLibraryName}.so.0.0.0"/>
                                                 </and>
                                     </not>
                         </condition>
                         <fail message="Not all artifacts have been
produced for unix" if="missingArtifact"/>
             </target>

             <target name="validateAIX" depends="validateUnix" if="aix">
                         <condition property="missingArtifact">
                                     <not>
                                                 <and>
                                                             <available
file="${dir.package.lib}/lib${clientLibraryName}.a"/>
                                                             <available
file="${dir.package.lib}/lib${transportLibraryName}.a"/>
                                                             <available
file="${dir.package.lib}/lib${xmlParserLibraryName}.a"/>
                                                 </and>
                                     </not>
                         </condition>
                         <fail message="Not all artifacts have been
produced for AIX" if="missingArtifact"/>
             </target>

             <!--   Validate all artifacts produced     -->
             <target name="validate" depends="validateWindows,
validateUnix, validateAIX">
                         <condition property="missingArtifact">
                                     <not>
                                                 <and>
                                                             <!-- WSDL2Ws
Tool -->
                                                             <available
file="${dir.package.WSDL2Ws}/wsdl2ws.jar"/>
                                                             <!-- Header
Files -->
                                                             <available
file="${dir.package.include}/axis" type="dir"/>
                                                             <!--
Documentation -->
                                                             <available
file="${dir.package.docs}" type="dir"/>
                                                 </and>
                                     </not>
                         </condition>
                         <fail message="Not all artifacts have been
produced" if="missingArtifact"/>
             </target>

             <!--   Build and package all artifacts ready for distribution
  -->
             <target name="production" depends="compile, documentation,
package, validate"
              description="Build and package all artifacts ready for
distribution"/>

             <!--   Remove all generated artifaces      -->
             <target name="clean" depends="initialize" description="Remove
all generated artifacts">
                         <!-- Delete compiled C/C++ code -->
                         <delete dir="${dir.bin}"/>
                         <delete dir="${dir.objects}"/>
                         <!-- Delete compiled WSDL2Ws java classes -->
                         <delete dir="${dir.classes}"/>
                         <!-- 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>
#####################
# Parser Properties #
#####################

# 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}

#######################################
# Properties for compiling C/C++ code #
#######################################

# Directory in which to place compiled libraries
dir.bin = ${basedir}/deploy/lib

# 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

####################################
# Properties for compiling WSDL2Ws #
####################################

# Location of Axis JARs
dir.axisJARs = ${env.AXISJAVA_LIB}

# Directory in which to place compiled Java classes
dir.classes = ${basedir}/lib/axis

############################
# Properties for packaging #
############################
# Base directory for packaging - not used directly within build.xml, just
used to simplify this property file
dir.package = ${basedir}/deploy

# Directory in which to place DLLs - Only used for Windows platform
dir.package.bin = ${dir.package}/bin

# Directory in which to place library files
dir.package.lib = ${dir.package}/lib

# Directory in which to place header files
dir.package.include = ${dir.package}/include

# Directory in which to place WSDL2Ws JAR files
dir.package.WSDL2Ws = ${dir.classes}

# Directory in which to place Documentation
dir.package.docs = ${dir.package}/docs

############################################
# Properties for building and running test #
############################################

# 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

# 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:
#                        executableSuffix = .exe
#                        librarySuffix = .dll
#                        libraryPrefix =
#            For unix:
#                        executableSuffix =
#                        librarySuffix = .so
#                        libraryPrefix = lib
#            For AIX (as Unix, except):
#                        librarySuffix = .a
executableSuffix =
librarySuffix = .so
libraryPrefix = lib

# 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}

# May want to uncomment for testing so the build output is used
#dir.include = ${dir.package.include}

# If only a single language is required then set it here.
# Valid values are cpp or c. Default if unset is both.
target.lang = cpp

# AXISCPP_DEPLOY directory
axiscpp_deploy = ${dir.test.generated}

# Details of server to be used for testing clients
testHost = localhost
testPort = 9080
monitorPort = 13260




Re: Axis C++ Solaris port

Posted by Valentine Kouznetsov <vk...@yahoo.com>.
Hi,
I made some changes to build.xml and created new
build.SunOS.properties. In case of Solaris the system
can be identified either as Solaris or SunOS and I
still need to check couple of things. But it works and
I was able to compile C++ code. I still need to test
it. One comment, if you add (as I did)
<property name="env" value="env" environment="env"/>
to build.xml
then you can use environment variables instead of
hard coded path, see examples in
build.SunOS.properties.
Could you please add these changes to CVS.
Valentin.


	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 

Re: Axis C++ Solaris port

Posted by Samisa Abeysinghe <sa...@yahoo.com>.
--- damitha@opensource.lk wrote:

> Can we keep the same build.xml  and diferent property files for different
> platforms

Yes.

Samisa...

> thanks
> damitha
> >
> >
> >
> >
> > Hi,
> >
> > I have just this week created an ANT script in CVS, which supports
> > Windows,
> > Linux and AIX.   This can be found in CVS at ws-axis/c/build.xml
> >
> > I am still producing documentation on use and extension of this script,
> > though there is some initial documentation at the top of the build.xml
> > script.
> >
> > In short summary, you will need to carry out the following:
> >    Create additional compiler and linker definitions for the solaris
> >    platform - with all the required flags that you have determined.
> >    Add references to these in the <cc> tasks of compileAxisClient,
> >    compileAxisTransport and compileAxisXMLParser targets.
> >    Update the pre-init and intialize targets to be able to detect the
> >    solaris platform
> >    Create a build.solaris.properties file - use build.Linux.properties as
> > a
> >    template.
> > There are examples of all of these for Windows, Linux and AIX in the
> > script.
> >
> > Additionally, there is now also ws-axis/c/test.xml which generates,
> > compiles, and runs all the auto_build tests.  It would make sense to carry
> > out the above activities on this script also (both scripts use the same
> > property files)
> >
> > Thanks,
> >
> > Adrian
> > _______________________________________
> > Adrian Dick (adrian.dick@uk.ibm.com)
> >
> >
> >
> >
> >              Valentine
> >              Kouznetsov
> >              <vkuznet@yahoo.co                                          To
> >              m>                        Apache AXIS C Developers List
> >                                        <ax...@ws.apache.org>
> >              08-09-04 17:22                                             cc
> >
> >                                                                    Subject
> >              Please respond to         Re: Axis C++ Solaris port
> >               "Apache AXIS C
> >              Developers List"
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi Andrian,
> > if you can create a first draft of ant "makefile"
> > I can try on Solaris. I had little experience with ant
> > when dealing with Java and Axis.
> > Valentine
> >
> > --- Adrian Dick <ad...@uk.ibm.com> wrote:
> >
> >>
> >>
> >>
> >>
> >> Hi,
> >>
> >> It would be advantageous to include the Solaris
> >> compile and link flags into
> >> the ant build script.  We found this got us round a
> >> number of difficulties
> >> with libtool, etc when porting to AIX.
> >>
> >> I'm willing to assist with this, but I don't have
> >> access to a solaris
> >> machine.
> >>
> >> Regards,
> >> Adrian
> >> _______________________________________
> >> Adrian Dick (adrian.dick@uk.ibm.com)
> >> WebSphere MQ and ESB Development
> >> Tel: +44-(0)-1962-819212
> >> Notes: Adrian Dick/UK/IBM@IBMGB
> >>
> >>
> >>
> >>
> >>              Valentine
> >>
> >>              Kouznetsov
> >>
> >>              <vkuznet@yahoo.co
> >>                    To
> >>              m>                        Apache AXIS C
> >> Developers List
> >>
> >> <ax...@ws.apache.org>
> >>              08-09-04 15:14
> >>                    cc
> >>
> >>
> >>
> >>               Subject
> >>              Please respond to         Re: Axis C++
> >> Solaris port
> >>               "Apache AXIS C
> >>
> >>              Developers List"
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> Hi Damitha,
> >> I'm not sure if option --with-solaris would be
> >> valuable. May be as a temporary solution. I had so
> >> many problems with
> >> libtool/aclocal/autoheader/automake
> >> tools. By default the didn't produce desired
> >> Makefiles. Configure fail on the tests and I was
> >> forced to tweake it as well.
> >> My next task is to fix this problem.
> >> Regarding SolarisDefs.hpp, yes it's only happens if
> >> xerces is enable. But I think we need it since users
> >> may be willing to compile Axis/Xerces on Solaris.
> >> Even
> >> I didn't use it I compile it.
> >> Valentin.
> >>
> >> --- damitha kumarage <da...@opensource.lk> wrote:
> >>
> >> > Hi Valentine
> >> >
> >> > > Dear Axis developers,
> >> > > I successfully ported Axis to Solaris and
> >> verified
> >> > > that my client code is working properly similar
> >> to
> >> > > Linux. I've spent some time to figure out
> >> > appropriate
> >> > > options for Solaris platform which will allow
> >> Axis
> >> > to
> >> > > compile. I used Solaris 2.8, with native CC/cc
> >> > C++/c
> >> > > compilers. The compiler options was choosen to
> >> > allow
> >> > > global instantiation of templates.
> >> > >
> >> > > Here they are:
> >> > > CXXFLAGS=" -KPIC -xildoff -pta -instances=global
> >> "
> >> > > CFLAGS="-DENABLE_AXIS_EXCEPTION
> >> > -DENABLE_AXISTRACE"
> >> > > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> >> > -DENABLE_AXISTRACE"
> >> > > LDFLAGS = "-Qoption ld -zmuldefs"
> >> > > and need to be setup in configure.ac
> >> >
> >> > Is it OK if i add a comiler option to support
> >> > different platforms.
> >> > eg: configure --with-solaris etc
> >> >
> >> > >
> >> > > I used libtool-1.5.8, autoconf-2.59,
> >> > automake-1.9.1
> >> > >
> >> > > All patches done wrt axis-c-src-1-2-linux (sorry
> >> I
> >> > > just don't have time to test development
> >> release).
> >> > > I also created SolarisDefs.hpp file similar to
> >> > > LinuxDefs.hpp. I just copied content of endian.h
> >> > and
> >> > > LinuxDefs.hpp into SolarisDefs.hpp and it works
> >> > (on
> >> > > Solaris there is no endian.h).
> >> > > Finally, I was need to rebuild libaxis_expat.so
> >> > and
> >> > > add there StartElement.o, Event.o, Element.o.
> >> >
> 
=== message truncated ===



		
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail

Re: Axis C++ Solaris port

Posted by da...@opensource.lk.
Can we keep the same build.xml  and diferent property files for different
platforms
thanks
damitha
>
>
>
>
> Hi,
>
> I have just this week created an ANT script in CVS, which supports
> Windows,
> Linux and AIX.   This can be found in CVS at ws-axis/c/build.xml
>
> I am still producing documentation on use and extension of this script,
> though there is some initial documentation at the top of the build.xml
> script.
>
> In short summary, you will need to carry out the following:
>    Create additional compiler and linker definitions for the solaris
>    platform - with all the required flags that you have determined.
>    Add references to these in the <cc> tasks of compileAxisClient,
>    compileAxisTransport and compileAxisXMLParser targets.
>    Update the pre-init and intialize targets to be able to detect the
>    solaris platform
>    Create a build.solaris.properties file - use build.Linux.properties as
> a
>    template.
> There are examples of all of these for Windows, Linux and AIX in the
> script.
>
> Additionally, there is now also ws-axis/c/test.xml which generates,
> compiles, and runs all the auto_build tests.  It would make sense to carry
> out the above activities on this script also (both scripts use the same
> property files)
>
> Thanks,
>
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
>
>
>
>
>              Valentine
>              Kouznetsov
>              <vkuznet@yahoo.co                                          To
>              m>                        Apache AXIS C Developers List
>                                        <ax...@ws.apache.org>
>              08-09-04 17:22                                             cc
>
>                                                                    Subject
>              Please respond to         Re: Axis C++ Solaris port
>               "Apache AXIS C
>              Developers List"
>
>
>
>
>
>
>
>
> Hi Andrian,
> if you can create a first draft of ant "makefile"
> I can try on Solaris. I had little experience with ant
> when dealing with Java and Axis.
> Valentine
>
> --- Adrian Dick <ad...@uk.ibm.com> wrote:
>
>>
>>
>>
>>
>> Hi,
>>
>> It would be advantageous to include the Solaris
>> compile and link flags into
>> the ant build script.  We found this got us round a
>> number of difficulties
>> with libtool, etc when porting to AIX.
>>
>> I'm willing to assist with this, but I don't have
>> access to a solaris
>> machine.
>>
>> Regards,
>> Adrian
>> _______________________________________
>> Adrian Dick (adrian.dick@uk.ibm.com)
>> WebSphere MQ and ESB Development
>> Tel: +44-(0)-1962-819212
>> Notes: Adrian Dick/UK/IBM@IBMGB
>>
>>
>>
>>
>>              Valentine
>>
>>              Kouznetsov
>>
>>              <vkuznet@yahoo.co
>>                    To
>>              m>                        Apache AXIS C
>> Developers List
>>
>> <ax...@ws.apache.org>
>>              08-09-04 15:14
>>                    cc
>>
>>
>>
>>               Subject
>>              Please respond to         Re: Axis C++
>> Solaris port
>>               "Apache AXIS C
>>
>>              Developers List"
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Hi Damitha,
>> I'm not sure if option --with-solaris would be
>> valuable. May be as a temporary solution. I had so
>> many problems with
>> libtool/aclocal/autoheader/automake
>> tools. By default the didn't produce desired
>> Makefiles. Configure fail on the tests and I was
>> forced to tweake it as well.
>> My next task is to fix this problem.
>> Regarding SolarisDefs.hpp, yes it's only happens if
>> xerces is enable. But I think we need it since users
>> may be willing to compile Axis/Xerces on Solaris.
>> Even
>> I didn't use it I compile it.
>> Valentin.
>>
>> --- damitha kumarage <da...@opensource.lk> wrote:
>>
>> > Hi Valentine
>> >
>> > > Dear Axis developers,
>> > > I successfully ported Axis to Solaris and
>> verified
>> > > that my client code is working properly similar
>> to
>> > > Linux. I've spent some time to figure out
>> > appropriate
>> > > options for Solaris platform which will allow
>> Axis
>> > to
>> > > compile. I used Solaris 2.8, with native CC/cc
>> > C++/c
>> > > compilers. The compiler options was choosen to
>> > allow
>> > > global instantiation of templates.
>> > >
>> > > Here they are:
>> > > CXXFLAGS=" -KPIC -xildoff -pta -instances=global
>> "
>> > > CFLAGS="-DENABLE_AXIS_EXCEPTION
>> > -DENABLE_AXISTRACE"
>> > > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
>> > -DENABLE_AXISTRACE"
>> > > LDFLAGS = "-Qoption ld -zmuldefs"
>> > > and need to be setup in configure.ac
>> >
>> > Is it OK if i add a comiler option to support
>> > different platforms.
>> > eg: configure --with-solaris etc
>> >
>> > >
>> > > I used libtool-1.5.8, autoconf-2.59,
>> > automake-1.9.1
>> > >
>> > > All patches done wrt axis-c-src-1-2-linux (sorry
>> I
>> > > just don't have time to test development
>> release).
>> > > I also created SolarisDefs.hpp file similar to
>> > > LinuxDefs.hpp. I just copied content of endian.h
>> > and
>> > > LinuxDefs.hpp into SolarisDefs.hpp and it works
>> > (on
>> > > Solaris there is no endian.h).
>> > > Finally, I was need to rebuild libaxis_expat.so
>> > and
>> > > add there StartElement.o, Event.o, Element.o.
>> >
>> > LinuxDefs.hpp is related to xercesc. so I guess
>> > SolarisDefs.hpp is
>> > not needed if you use expat
>> >
>> >  It was
>> > > necessary to plug Axis into our 700+ package
>> > framework
>> > > (which is based on shared libraries). I did it
>> > > manually and need to verify if changes would be
>> > > necessary for Axis Makefile.am.
>> > >
>> > > I hope you will accept my changes and include
>> them
>> > in
>> > > CVS tree as well as in forthcoming release. I'll
>> > be
>> > > happy to test Axis in a future on Solaris when
>> new
>> > > release will come.
>> > >
>> > > Valentin.
>> > > P.S. The way we use Axis is to access Web
>> Service
>> > > through our framework and legacy C++
>> application.
>> > No
>> > > tests done on the server side.
>> > >
>> > >
>> > >
>> > > __________________________________
>> > > Do you Yahoo!?
>> > > Read only the mail you want - Yahoo! Mail
>> > SpamGuard.
>> > > http://promotions.yahoo.com/new_mail
>> >
>> >
>> >
>>
> ----------------------------------------------------------------------------
>
>>
>> > ----
>> >
>> >
>> > > ---
>> >
>>
> original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
>> > 2004-07-09
>> > 03:22:04.000000000 -0400
>> > > +++
>> >
>> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
>> > 2004-08-20
>> > 13:03:08.000000000 -0400
>> > > @@ -18,7 +18,7 @@
>> > >   * @author Damitha Kumarage
>> > (damitha@opensource.lk,
>> > damitha@jkcsworld.com)
>> > >   *
>> > >   */
>> > > -
>> > > +#include <math.h>
>> > >  #include <stdio.h>
>> > >  #include <axis/server/AxisTime.h>
>> > >  #include "AxisUtils.h"
>> > > @@ -250,18 +250,18 @@
>> > >              m_TM.tm_year -= 1900;
>> > >              m_TM.tm_mon--;
>> > >              m_TM.tm_isdst = -1;
>> > > -#if !defined(WIN32) && !defined(AIX)
>> > > +#if !defined(WIN32) && !defined(AIX) &&
>> > !defined(__sun)
>> > >              m_TM.tm_zone = NULL;
>>
> === message truncated ===
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - 50x more storage than other providers!
> http://promotions.yahoo.com/new_mail
>
>
>
>

Re: Axis C++ Solaris port

Posted by Adrian Dick <ad...@uk.ibm.com>.



Hi,

I have just this week created an ANT script in CVS, which supports Windows,
Linux and AIX.   This can be found in CVS at ws-axis/c/build.xml

I am still producing documentation on use and extension of this script,
though there is some initial documentation at the top of the build.xml
script.

In short summary, you will need to carry out the following:
   Create additional compiler and linker definitions for the solaris
   platform - with all the required flags that you have determined.
   Add references to these in the <cc> tasks of compileAxisClient,
   compileAxisTransport and compileAxisXMLParser targets.
   Update the pre-init and intialize targets to be able to detect the
   solaris platform
   Create a build.solaris.properties file - use build.Linux.properties as a
   template.
There are examples of all of these for Windows, Linux and AIX in the
script.

Additionally, there is now also ws-axis/c/test.xml which generates,
compiles, and runs all the auto_build tests.  It would make sense to carry
out the above activities on this script also (both scripts use the same
property files)

Thanks,

Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)



                                                                           
             Valentine                                                     
             Kouznetsov                                                    
             <vkuznet@yahoo.co                                          To 
             m>                        Apache AXIS C Developers List       
                                       <ax...@ws.apache.org>          
             08-09-04 17:22                                             cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis C++ Solaris port           
              "Apache AXIS C                                               
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           




Hi Andrian,
if you can create a first draft of ant "makefile"
I can try on Solaris. I had little experience with ant
when dealing with Java and Axis.
Valentine

--- Adrian Dick <ad...@uk.ibm.com> wrote:

>
>
>
>
> Hi,
>
> It would be advantageous to include the Solaris
> compile and link flags into
> the ant build script.  We found this got us round a
> number of difficulties
> with libtool, etc when porting to AIX.
>
> I'm willing to assist with this, but I don't have
> access to a solaris
> machine.
>
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
> WebSphere MQ and ESB Development
> Tel: +44-(0)-1962-819212
> Notes: Adrian Dick/UK/IBM@IBMGB
>
>
>
>
>              Valentine
>
>              Kouznetsov
>
>              <vkuznet@yahoo.co
>                    To
>              m>                        Apache AXIS C
> Developers List
>
> <ax...@ws.apache.org>
>              08-09-04 15:14
>                    cc
>
>
>
>               Subject
>              Please respond to         Re: Axis C++
> Solaris port
>               "Apache AXIS C
>
>              Developers List"
>
>
>
>
>
>
>
>
>
>
>
>
>
> Hi Damitha,
> I'm not sure if option --with-solaris would be
> valuable. May be as a temporary solution. I had so
> many problems with
> libtool/aclocal/autoheader/automake
> tools. By default the didn't produce desired
> Makefiles. Configure fail on the tests and I was
> forced to tweake it as well.
> My next task is to fix this problem.
> Regarding SolarisDefs.hpp, yes it's only happens if
> xerces is enable. But I think we need it since users
> may be willing to compile Axis/Xerces on Solaris.
> Even
> I didn't use it I compile it.
> Valentin.
>
> --- damitha kumarage <da...@opensource.lk> wrote:
>
> > Hi Valentine
> >
> > > Dear Axis developers,
> > > I successfully ported Axis to Solaris and
> verified
> > > that my client code is working properly similar
> to
> > > Linux. I've spent some time to figure out
> > appropriate
> > > options for Solaris platform which will allow
> Axis
> > to
> > > compile. I used Solaris 2.8, with native CC/cc
> > C++/c
> > > compilers. The compiler options was choosen to
> > allow
> > > global instantiation of templates.
> > >
> > > Here they are:
> > > CXXFLAGS=" -KPIC -xildoff -pta -instances=global
> "
> > > CFLAGS="-DENABLE_AXIS_EXCEPTION
> > -DENABLE_AXISTRACE"
> > > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> > -DENABLE_AXISTRACE"
> > > LDFLAGS = "-Qoption ld -zmuldefs"
> > > and need to be setup in configure.ac
> >
> > Is it OK if i add a comiler option to support
> > different platforms.
> > eg: configure --with-solaris etc
> >
> > >
> > > I used libtool-1.5.8, autoconf-2.59,
> > automake-1.9.1
> > >
> > > All patches done wrt axis-c-src-1-2-linux (sorry
> I
> > > just don't have time to test development
> release).
> > > I also created SolarisDefs.hpp file similar to
> > > LinuxDefs.hpp. I just copied content of endian.h
> > and
> > > LinuxDefs.hpp into SolarisDefs.hpp and it works
> > (on
> > > Solaris there is no endian.h).
> > > Finally, I was need to rebuild libaxis_expat.so
> > and
> > > add there StartElement.o, Event.o, Element.o.
> >
> > LinuxDefs.hpp is related to xercesc. so I guess
> > SolarisDefs.hpp is
> > not needed if you use expat
> >
> >  It was
> > > necessary to plug Axis into our 700+ package
> > framework
> > > (which is based on shared libraries). I did it
> > > manually and need to verify if changes would be
> > > necessary for Axis Makefile.am.
> > >
> > > I hope you will accept my changes and include
> them
> > in
> > > CVS tree as well as in forthcoming release. I'll
> > be
> > > happy to test Axis in a future on Solaris when
> new
> > > release will come.
> > >
> > > Valentin.
> > > P.S. The way we use Axis is to access Web
> Service
> > > through our framework and legacy C++
> application.
> > No
> > > tests done on the server side.
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Read only the mail you want - Yahoo! Mail
> > SpamGuard.
> > > http://promotions.yahoo.com/new_mail
> >
> >
> >
>
----------------------------------------------------------------------------

>
> > ----
> >
> >
> > > ---
> >
>
original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> > 2004-07-09
> > 03:22:04.000000000 -0400
> > > +++
> >
> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> > 2004-08-20
> > 13:03:08.000000000 -0400
> > > @@ -18,7 +18,7 @@
> > >   * @author Damitha Kumarage
> > (damitha@opensource.lk,
> > damitha@jkcsworld.com)
> > >   *
> > >   */
> > > -
> > > +#include <math.h>
> > >  #include <stdio.h>
> > >  #include <axis/server/AxisTime.h>
> > >  #include "AxisUtils.h"
> > > @@ -250,18 +250,18 @@
> > >              m_TM.tm_year -= 1900;
> > >              m_TM.tm_mon--;
> > >              m_TM.tm_isdst = -1;
> > > -#if !defined(WIN32) && !defined(AIX)
> > > +#if !defined(WIN32) && !defined(AIX) &&
> > !defined(__sun)
> > >              m_TM.tm_zone = NULL;
>
=== message truncated ===




__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail



Re: Axis C++ Solaris port

Posted by Valentine Kouznetsov <vk...@yahoo.com>.
Hi Andrian,
if you can create a first draft of ant "makefile"
I can try on Solaris. I had little experience with ant
when dealing with Java and Axis. 
Valentine

--- Adrian Dick <ad...@uk.ibm.com> wrote:

> 
> 
> 
> 
> Hi,
> 
> It would be advantageous to include the Solaris
> compile and link flags into
> the ant build script.  We found this got us round a
> number of difficulties
> with libtool, etc when porting to AIX.
> 
> I'm willing to assist with this, but I don't have
> access to a solaris
> machine.
> 
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
> WebSphere MQ and ESB Development
> Tel: +44-(0)-1962-819212
> Notes: Adrian Dick/UK/IBM@IBMGB
> 
> 
>                                                     
>                       
>              Valentine                              
>                       
>              Kouznetsov                             
>                       
>              <vkuznet@yahoo.co                      
>                    To 
>              m>                        Apache AXIS C
> Developers List       
>                                       
> <ax...@ws.apache.org>          
>              08-09-04 15:14                         
>                    cc 
>                                                     
>                       
>                                                     
>               Subject 
>              Please respond to         Re: Axis C++
> Solaris port           
>               "Apache AXIS C                        
>                       
>              Developers List"                       
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
>                                                     
>                       
> 
> 
> 
> 
> Hi Damitha,
> I'm not sure if option --with-solaris would be
> valuable. May be as a temporary solution. I had so
> many problems with
> libtool/aclocal/autoheader/automake
> tools. By default the didn't produce desired
> Makefiles. Configure fail on the tests and I was
> forced to tweake it as well.
> My next task is to fix this problem.
> Regarding SolarisDefs.hpp, yes it's only happens if
> xerces is enable. But I think we need it since users
> may be willing to compile Axis/Xerces on Solaris.
> Even
> I didn't use it I compile it.
> Valentin.
> 
> --- damitha kumarage <da...@opensource.lk> wrote:
> 
> > Hi Valentine
> >
> > > Dear Axis developers,
> > > I successfully ported Axis to Solaris and
> verified
> > > that my client code is working properly similar
> to
> > > Linux. I've spent some time to figure out
> > appropriate
> > > options for Solaris platform which will allow
> Axis
> > to
> > > compile. I used Solaris 2.8, with native CC/cc
> > C++/c
> > > compilers. The compiler options was choosen to
> > allow
> > > global instantiation of templates.
> > >
> > > Here they are:
> > > CXXFLAGS=" -KPIC -xildoff -pta -instances=global
> "
> > > CFLAGS="-DENABLE_AXIS_EXCEPTION
> > -DENABLE_AXISTRACE"
> > > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> > -DENABLE_AXISTRACE"
> > > LDFLAGS = "-Qoption ld -zmuldefs"
> > > and need to be setup in configure.ac
> >
> > Is it OK if i add a comiler option to support
> > different platforms.
> > eg: configure --with-solaris etc
> >
> > >
> > > I used libtool-1.5.8, autoconf-2.59,
> > automake-1.9.1
> > >
> > > All patches done wrt axis-c-src-1-2-linux (sorry
> I
> > > just don't have time to test development
> release).
> > > I also created SolarisDefs.hpp file similar to
> > > LinuxDefs.hpp. I just copied content of endian.h
> > and
> > > LinuxDefs.hpp into SolarisDefs.hpp and it works
> > (on
> > > Solaris there is no endian.h).
> > > Finally, I was need to rebuild libaxis_expat.so
> > and
> > > add there StartElement.o, Event.o, Element.o.
> >
> > LinuxDefs.hpp is related to xercesc. so I guess
> > SolarisDefs.hpp is
> > not needed if you use expat
> >
> >  It was
> > > necessary to plug Axis into our 700+ package
> > framework
> > > (which is based on shared libraries). I did it
> > > manually and need to verify if changes would be
> > > necessary for Axis Makefile.am.
> > >
> > > I hope you will accept my changes and include
> them
> > in
> > > CVS tree as well as in forthcoming release. I'll
> > be
> > > happy to test Axis in a future on Solaris when
> new
> > > release will come.
> > >
> > > Valentin.
> > > P.S. The way we use Axis is to access Web
> Service
> > > through our framework and legacy C++
> application.
> > No
> > > tests done on the server side.
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Read only the mail you want - Yahoo! Mail
> > SpamGuard.
> > > http://promotions.yahoo.com/new_mail
> >
> >
> >
>
----------------------------------------------------------------------------
> 
> > ----
> >
> >
> > > ---
> >
>
original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> > 2004-07-09
> > 03:22:04.000000000 -0400
> > > +++
> >
> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> > 2004-08-20
> > 13:03:08.000000000 -0400
> > > @@ -18,7 +18,7 @@
> > >   * @author Damitha Kumarage
> > (damitha@opensource.lk,
> > damitha@jkcsworld.com)
> > >   *
> > >   */
> > > -
> > > +#include <math.h>
> > >  #include <stdio.h>
> > >  #include <axis/server/AxisTime.h>
> > >  #include "AxisUtils.h"
> > > @@ -250,18 +250,18 @@
> > >              m_TM.tm_year -= 1900;
> > >              m_TM.tm_mon--;
> > >              m_TM.tm_isdst = -1;
> > > -#if !defined(WIN32) && !defined(AIX)
> > > +#if !defined(WIN32) && !defined(AIX) &&
> > !defined(__sun)
> > >              m_TM.tm_zone = NULL;
> 
=== message truncated ===



		
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail

Re: Axis C++ Solaris port

Posted by Adrian Dick <ad...@uk.ibm.com>.



Hi,

It would be advantageous to include the Solaris compile and link flags into
the ant build script.  We found this got us round a number of difficulties
with libtool, etc when porting to AIX.

I'm willing to assist with this, but I don't have access to a solaris
machine.

Regards,
Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)
WebSphere MQ and ESB Development
Tel: +44-(0)-1962-819212
Notes: Adrian Dick/UK/IBM@IBMGB


                                                                           
             Valentine                                                     
             Kouznetsov                                                    
             <vkuznet@yahoo.co                                          To 
             m>                        Apache AXIS C Developers List       
                                       <ax...@ws.apache.org>          
             08-09-04 15:14                                             cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis C++ Solaris port           
              "Apache AXIS C                                               
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           




Hi Damitha,
I'm not sure if option --with-solaris would be
valuable. May be as a temporary solution. I had so
many problems with libtool/aclocal/autoheader/automake
tools. By default the didn't produce desired
Makefiles. Configure fail on the tests and I was
forced to tweake it as well.
My next task is to fix this problem.
Regarding SolarisDefs.hpp, yes it's only happens if
xerces is enable. But I think we need it since users
may be willing to compile Axis/Xerces on Solaris. Even
I didn't use it I compile it.
Valentin.

--- damitha kumarage <da...@opensource.lk> wrote:

> Hi Valentine
>
> > Dear Axis developers,
> > I successfully ported Axis to Solaris and verified
> > that my client code is working properly similar to
> > Linux. I've spent some time to figure out
> appropriate
> > options for Solaris platform which will allow Axis
> to
> > compile. I used Solaris 2.8, with native CC/cc
> C++/c
> > compilers. The compiler options was choosen to
> allow
> > global instantiation of templates.
> >
> > Here they are:
> > CXXFLAGS=" -KPIC -xildoff -pta -instances=global "
> > CFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > LDFLAGS = "-Qoption ld -zmuldefs"
> > and need to be setup in configure.ac
>
> Is it OK if i add a comiler option to support
> different platforms.
> eg: configure --with-solaris etc
>
> >
> > I used libtool-1.5.8, autoconf-2.59,
> automake-1.9.1
> >
> > All patches done wrt axis-c-src-1-2-linux (sorry I
> > just don't have time to test development release).
> > I also created SolarisDefs.hpp file similar to
> > LinuxDefs.hpp. I just copied content of endian.h
> and
> > LinuxDefs.hpp into SolarisDefs.hpp and it works
> (on
> > Solaris there is no endian.h).
> > Finally, I was need to rebuild libaxis_expat.so
> and
> > add there StartElement.o, Event.o, Element.o.
>
> LinuxDefs.hpp is related to xercesc. so I guess
> SolarisDefs.hpp is
> not needed if you use expat
>
>  It was
> > necessary to plug Axis into our 700+ package
> framework
> > (which is based on shared libraries). I did it
> > manually and need to verify if changes would be
> > necessary for Axis Makefile.am.
> >
> > I hope you will accept my changes and include them
> in
> > CVS tree as well as in forthcoming release. I'll
> be
> > happy to test Axis in a future on Solaris when new
> > release will come.
> >
> > Valentin.
> > P.S. The way we use Axis is to access Web Service
> > through our framework and legacy C++ application.
> No
> > tests done on the server side.
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Read only the mail you want - Yahoo! Mail
> SpamGuard.
> > http://promotions.yahoo.com/new_mail
>
>
>
----------------------------------------------------------------------------

> ----
>
>
> > ---
>
original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-07-09
> 03:22:04.000000000 -0400
> > +++
> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-08-20
> 13:03:08.000000000 -0400
> > @@ -18,7 +18,7 @@
> >   * @author Damitha Kumarage
> (damitha@opensource.lk,
> damitha@jkcsworld.com)
> >   *
> >   */
> > -
> > +#include <math.h>
> >  #include <stdio.h>
> >  #include <axis/server/AxisTime.h>
> >  #include "AxisUtils.h"
> > @@ -250,18 +250,18 @@
> >              m_TM.tm_year -= 1900;
> >              m_TM.tm_mon--;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp2 = strpbrk (m_sValue.c_str (),
> "T");
> > +            cTemp2 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> "T"));
> >              cTemp3 = strrchr (cTemp2, ':');
> >              cTemp3[0] = '\0';
> >              intLen = strlen (cTemp2);
> >              cTemp3[0] = ':';
> >
> >              /*if the timezone is represented
> adding 'Z' at the end */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t temp = mktime (&m_TM);
> >                  if (temp == -1)
> > @@ -296,7 +296,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -329,14 +329,14 @@
> >              m_TM.tm_min = 0;
> >              m_TM.tm_sec = 0;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp3 = strpbrk (m_sValue.c_str (),
> ":");
> > +            cTemp3 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> ":"));
> >
> >              /* if the timezone is represented
> adding 'Z' at the end
> */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> > @@ -346,9 +346,9 @@
> >              }
> >              else if (cTemp3 != NULL)
> >              {
> > -                cUtc = strrchr (m_sValue.c_str
> (), '+');
> > +                cUtc = const_cast<char*>(strrchr
> (m_sValue.c_str (),
> '+'));
> >                  if (cUtc == NULL)
> > -                    cUtc = strrchr
> (m_sValue.c_str (), '-');
> > +                    cUtc =
> const_cast<char*>(strrchr (m_sValue.c_str
> (),
> '-'));
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> >                      return AXIS_FAIL;
> > @@ -368,7 +368,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -399,7 +399,7 @@
>
=== message truncated ===




__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now.
http://messenger.yahoo.com



Re: Axis C++ Solaris port

Posted by John Hawkins <HA...@uk.ibm.com>.



You might want to consider using the Ant scripts as an easier build option?
btw: I'm going to nominate you for commiiter - thanks for your work !

John Hawkins




                                                                           
             Valentine                                                     
             Kouznetsov                                                    
             <vkuznet@yahoo.co                                          To 
             m>                        Apache AXIS C Developers List       
                                       <ax...@ws.apache.org>          
             08/09/2004 15:14                                           cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis C++ Solaris port           
              "Apache AXIS C                                               
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           




Hi Damitha,
I'm not sure if option --with-solaris would be
valuable. May be as a temporary solution. I had so
many problems with libtool/aclocal/autoheader/automake
tools. By default the didn't produce desired
Makefiles. Configure fail on the tests and I was
forced to tweake it as well.
My next task is to fix this problem.
Regarding SolarisDefs.hpp, yes it's only happens if
xerces is enable. But I think we need it since users
may be willing to compile Axis/Xerces on Solaris. Even
I didn't use it I compile it.
Valentin.

--- damitha kumarage <da...@opensource.lk> wrote:

> Hi Valentine
>
> > Dear Axis developers,
> > I successfully ported Axis to Solaris and verified
> > that my client code is working properly similar to
> > Linux. I've spent some time to figure out
> appropriate
> > options for Solaris platform which will allow Axis
> to
> > compile. I used Solaris 2.8, with native CC/cc
> C++/c
> > compilers. The compiler options was choosen to
> allow
> > global instantiation of templates.
> >
> > Here they are:
> > CXXFLAGS=" -KPIC -xildoff -pta -instances=global "
> > CFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > LDFLAGS = "-Qoption ld -zmuldefs"
> > and need to be setup in configure.ac
>
> Is it OK if i add a comiler option to support
> different platforms.
> eg: configure --with-solaris etc
>
> >
> > I used libtool-1.5.8, autoconf-2.59,
> automake-1.9.1
> >
> > All patches done wrt axis-c-src-1-2-linux (sorry I
> > just don't have time to test development release).
> > I also created SolarisDefs.hpp file similar to
> > LinuxDefs.hpp. I just copied content of endian.h
> and
> > LinuxDefs.hpp into SolarisDefs.hpp and it works
> (on
> > Solaris there is no endian.h).
> > Finally, I was need to rebuild libaxis_expat.so
> and
> > add there StartElement.o, Event.o, Element.o.
>
> LinuxDefs.hpp is related to xercesc. so I guess
> SolarisDefs.hpp is
> not needed if you use expat
>
>  It was
> > necessary to plug Axis into our 700+ package
> framework
> > (which is based on shared libraries). I did it
> > manually and need to verify if changes would be
> > necessary for Axis Makefile.am.
> >
> > I hope you will accept my changes and include them
> in
> > CVS tree as well as in forthcoming release. I'll
> be
> > happy to test Axis in a future on Solaris when new
> > release will come.
> >
> > Valentin.
> > P.S. The way we use Axis is to access Web Service
> > through our framework and legacy C++ application.
> No
> > tests done on the server side.
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Read only the mail you want - Yahoo! Mail
> SpamGuard.
> > http://promotions.yahoo.com/new_mail
>
>
>
----------------------------------------------------------------------------

> ----
>
>
> > ---
>
original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-07-09
> 03:22:04.000000000 -0400
> > +++
> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-08-20
> 13:03:08.000000000 -0400
> > @@ -18,7 +18,7 @@
> >   * @author Damitha Kumarage
> (damitha@opensource.lk,
> damitha@jkcsworld.com)
> >   *
> >   */
> > -
> > +#include <math.h>
> >  #include <stdio.h>
> >  #include <axis/server/AxisTime.h>
> >  #include "AxisUtils.h"
> > @@ -250,18 +250,18 @@
> >              m_TM.tm_year -= 1900;
> >              m_TM.tm_mon--;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp2 = strpbrk (m_sValue.c_str (),
> "T");
> > +            cTemp2 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> "T"));
> >              cTemp3 = strrchr (cTemp2, ':');
> >              cTemp3[0] = '\0';
> >              intLen = strlen (cTemp2);
> >              cTemp3[0] = ':';
> >
> >              /*if the timezone is represented
> adding 'Z' at the end */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t temp = mktime (&m_TM);
> >                  if (temp == -1)
> > @@ -296,7 +296,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -329,14 +329,14 @@
> >              m_TM.tm_min = 0;
> >              m_TM.tm_sec = 0;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp3 = strpbrk (m_sValue.c_str (),
> ":");
> > +            cTemp3 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> ":"));
> >
> >              /* if the timezone is represented
> adding 'Z' at the end
> */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> > @@ -346,9 +346,9 @@
> >              }
> >              else if (cTemp3 != NULL)
> >              {
> > -                cUtc = strrchr (m_sValue.c_str
> (), '+');
> > +                cUtc = const_cast<char*>(strrchr
> (m_sValue.c_str (),
> '+'));
> >                  if (cUtc == NULL)
> > -                    cUtc = strrchr
> (m_sValue.c_str (), '-');
> > +                    cUtc =
> const_cast<char*>(strrchr (m_sValue.c_str
> (),
> '-'));
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> >                      return AXIS_FAIL;
> > @@ -368,7 +368,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -399,7 +399,7 @@
>
=== message truncated ===




__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now.
http://messenger.yahoo.com



Re: Axis C++ Solaris port

Posted by Valentine Kouznetsov <vk...@yahoo.com>.
Hi Damitha,
I'm not sure if option --with-solaris would be
valuable. May be as a temporary solution. I had so
many problems with libtool/aclocal/autoheader/automake
tools. By default the didn't produce desired
Makefiles. Configure fail on the tests and I was
forced to tweake it as well.
My next task is to fix this problem.
Regarding SolarisDefs.hpp, yes it's only happens if
xerces is enable. But I think we need it since users
may be willing to compile Axis/Xerces on Solaris. Even
I didn't use it I compile it.
Valentin.

--- damitha kumarage <da...@opensource.lk> wrote:

> Hi Valentine
> 
> > Dear Axis developers,
> > I successfully ported Axis to Solaris and verified
> > that my client code is working properly similar to
> > Linux. I've spent some time to figure out
> appropriate
> > options for Solaris platform which will allow Axis
> to
> > compile. I used Solaris 2.8, with native CC/cc
> C++/c
> > compilers. The compiler options was choosen to
> allow
> > global instantiation of templates.
> >
> > Here they are:
> > CXXFLAGS=" -KPIC -xildoff -pta -instances=global "
> > CFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > CPPFLAGS="-DENABLE_AXIS_EXCEPTION
> -DENABLE_AXISTRACE"
> > LDFLAGS = "-Qoption ld -zmuldefs"
> > and need to be setup in configure.ac
> 
> Is it OK if i add a comiler option to support
> different platforms.
> eg: configure --with-solaris etc
> 
> >
> > I used libtool-1.5.8, autoconf-2.59,
> automake-1.9.1
> >
> > All patches done wrt axis-c-src-1-2-linux (sorry I
> > just don't have time to test development release).
> > I also created SolarisDefs.hpp file similar to
> > LinuxDefs.hpp. I just copied content of endian.h
> and
> > LinuxDefs.hpp into SolarisDefs.hpp and it works
> (on
> > Solaris there is no endian.h).
> > Finally, I was need to rebuild libaxis_expat.so
> and
> > add there StartElement.o, Event.o, Element.o.
> 
> LinuxDefs.hpp is related to xercesc. so I guess
> SolarisDefs.hpp is
> not needed if you use expat
> 
>  It was
> > necessary to plug Axis into our 700+ package
> framework
> > (which is based on shared libraries). I did it
> > manually and need to verify if changes would be
> > necessary for Axis Makefile.am.
> >
> > I hope you will accept my changes and include them
> in
> > CVS tree as well as in forthcoming release. I'll
> be
> > happy to test Axis in a future on Solaris when new
> > release will come.
> >
> > Valentin.
> > P.S. The way we use Axis is to access Web Service
> > through our framework and legacy C++ application.
> No
> > tests done on the server side.
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Read only the mail you want - Yahoo! Mail
> SpamGuard.
> > http://promotions.yahoo.com/new_mail
> 
> 
>
----------------------------------------------------------------------------
> ----
> 
> 
> > ---
>
original/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-07-09
> 03:22:04.000000000 -0400
> > +++
> solaris/axis-c-src-1-2-linux/src/common/AxisTime.cpp
> 2004-08-20
> 13:03:08.000000000 -0400
> > @@ -18,7 +18,7 @@
> >   * @author Damitha Kumarage
> (damitha@opensource.lk,
> damitha@jkcsworld.com)
> >   *
> >   */
> > -
> > +#include <math.h>
> >  #include <stdio.h>
> >  #include <axis/server/AxisTime.h>
> >  #include "AxisUtils.h"
> > @@ -250,18 +250,18 @@
> >              m_TM.tm_year -= 1900;
> >              m_TM.tm_mon--;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp2 = strpbrk (m_sValue.c_str (),
> "T");
> > +            cTemp2 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> "T"));
> >              cTemp3 = strrchr (cTemp2, ':');
> >              cTemp3[0] = '\0';
> >              intLen = strlen (cTemp2);
> >              cTemp3[0] = ':';
> >
> >              /*if the timezone is represented
> adding 'Z' at the end */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t temp = mktime (&m_TM);
> >                  if (temp == -1)
> > @@ -296,7 +296,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -329,14 +329,14 @@
> >              m_TM.tm_min = 0;
> >              m_TM.tm_sec = 0;
> >              m_TM.tm_isdst = -1;
> > -#if !defined(WIN32) && !defined(AIX)
> > +#if !defined(WIN32) && !defined(AIX) &&
> !defined(__sun)
> >              m_TM.tm_zone = NULL;
> >              m_TM.tm_gmtoff = -1;
> >  #endif
> > -            cTemp3 = strpbrk (m_sValue.c_str (),
> ":");
> > +            cTemp3 = const_cast<char*>(strpbrk
> (m_sValue.c_str (),
> ":"));
> >
> >              /* if the timezone is represented
> adding 'Z' at the end
> */
> > -            if ((cTemp = strpbrk (m_sValue.c_str
> (), "Z")) != NULL)
> > +            if ((cTemp =
> const_cast<char*>(strpbrk (m_sValue.c_str
> (),
> "Z"))) != NULL)
> >              {
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> > @@ -346,9 +346,9 @@
> >              }
> >              else if (cTemp3 != NULL)
> >              {
> > -                cUtc = strrchr (m_sValue.c_str
> (), '+');
> > +                cUtc = const_cast<char*>(strrchr
> (m_sValue.c_str (),
> '+'));
> >                  if (cUtc == NULL)
> > -                    cUtc = strrchr
> (m_sValue.c_str (), '-');
> > +                    cUtc =
> const_cast<char*>(strrchr (m_sValue.c_str
> (),
> '-'));
> >                  time_t timeInSecs = mktime
> (&m_TM);
> >                  if (timeInSecs == -1)
> >                      return AXIS_FAIL;
> > @@ -368,7 +368,7 @@
> >                  time_t t = mktime (&m_TM);
> >                  if (t == -1)
> >                      return AXIS_FAIL;
> > -                t = abs (t - d);
> > +                t = fabs (t - d);
> >                  pTm = gmtime (&t);
> >                  memcpy (&m_TMUTC, pTm, sizeof
> (tm));
> >              }
> > @@ -399,7 +399,7 @@
> 
=== message truncated ===



		
__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now. 
http://messenger.yahoo.com