axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lilantha Darshana" <>
Subject RE: [Axis C++] re-arranging the include files
Date Thu, 23 Oct 2003 09:07:42 GMT
1) You can have a group stub creation and compilation together and have a copy
of the include file available (when you build the code) in that group. So that
those include files can be used to compile a web service.

2) If you take PLE - (Product line engineering) architecture - its better if 
you can divide your components into three different categories:

          a). Foundation level components
          b). Application general
          c). Application specific.

So the libs can be packaged according to the above categories for an example
common-lib might fall into category (a)
soap-lib might fall into category (b)
and engine-lib might fall into category (c).

But for the end user/developer having a single lib might help. Anyway if it is
a static lib is does not matter whether it is a large lib or not because the link
editing will take only necessary stuff from your whole lib.

3) Suggestion is: If you do not use threading in your code you do not need separate 
libs in binary distribution. But, code MUST be thread safe. So that it can be used 
within a treading or non-threading context.


-----Original Message-----
From: Susantha 
Sent: Wednesday, October 22, 2003 10:18 AM
Subject: Re: [Axis C++] re-arranging the include files

Yes. This approach is better.

Few Questions:

1. For compiling a client application needs some (say 10) include files
whereas to compile a web service needs only few. So how do we group those
include files ?.

2. To build a client application we need compiled Axis libraries. At the
moment we have separate libs for each sub project (common.lib, engine.lib,
soap.lib etc. Other option is to provide a one big lib say Axis.lib. Note
that we do not want any Axis libraries to build a web service.

3. Do we need to provide both single threaded library and the multi-threaded
library in binary distribution ?.



----- Original Message -----
From: "Lilantha Darshana" <>
To: <>
Sent: Tuesday, October 21, 2003 12:39 PM
Subject: RE: [Axis C++] re-arranging the include files

I guess better way to do it, is to keep headers and its impl. together,
and when you create your libs then export only necessary header files into
the <lib export>/include where only the public API are found. other header
files are not required to be copied to that location.

To make correct header file resolution just have -I <header location> pass
the compiler and have your definition in *.cpp to pick it as
<header-name.h> rather than providing a qualified folder name to pick it up.
just "header-name.h" if it is in the same folder.

<axis/common/packet.h>  kind of #includes needs if you pass the include
as axis root (-I <axis-root>) to your compiler.


-----Original Message-----
From: Susantha
Sent: Monday, October 20, 2003 1:04 PM
Subject: Re: [Axis C++] re-arranging the include files

----- Original Message -----
From: <>
To: <>
Sent: Monday, October 20, 2003 11:46 AM
Subject: Re: [Axis C++] re-arranging the include files

> Hi Susantha,
> >
> > 1. Following folder structure will be created,
> >
> > ws-axis/c/include/axis
> >                                |-- client
> >                                |-- common
> >                                |-- engine
> >                                |-- server
> >                                |-- soap
> >                                |-- wcg
> >                                |-- wsdd
> >                                |-- xml
> >
> > 2. All include files will be moved from src/... folders to respective
> > new folder in the above structure. 3. All relative include directives
> > "common/packet.h" in .c and .cpp files will be changed to standard
> > includes <axis/common/packet.h>. 4. All Visual C++ project files and
> > makefiles will be updated.
> >
> I think include files should not be removed from the current place.Only a
> copy should be created in the new structure. I think this is what you
> meant.
I think there is no point in having those include files in 2 places. If we
do that we have to keep
upto date versions of all files which is troublesome.

So I meant to remove from the /c/src/... folders and put them to
/c/include/axis/... folders.

> damitha

View raw message