|
From: Teiniker E. <ego...@tu...> - 2003-10-12 17:40:30
|
Hey Leif!
As you know, the ccmtools-c++-configure and ccmtools-c++-make scripts copy t=
he
*_app.* files into the generated package.
This causes some problems:
*) It's not possible to configure and make the component with a single confi=
x
call.
*) If we use more than the generated *_app.* files, we have to copy these fi=
les
manually into the package directory.
After a discussion with J=F6rg, I realized the facet example with the follow=
ing
directory structure:
facet/
|
+-- Hello.idl
+-- confix.conf
+-- CCM_Local
+-- CCM_Local_CCM_Session_Hello
+-- CCM_Test
|
+-- CCM_Local_CCM_Session_Hello_share
| |
| +-- HelloHome_share.h
| +-- Hello_share.h
| +-- Makefile.py
+-- src
|
+-- HelloEntryPoint.h
+-- HelloHome_app.h
+-- HelloHome_app.cc
+-- Hello_app.h
+-- Hello_app.cc
+-- Makefile.py
There is no explicit package directory, and the application code is stored i=
n
the parallel src directory. The additional CCM_Local_CCM_Session_Hello_share
directory contains a header file for home and the component (this is necessa=
ry
to avoid cyclic includes). The *_share.h files contain a subset of the *_gen=
.*
source code.
Using this directory structure, we can build the whole component in a single
confix call - without any file copy.
Note the HelloEntryPoint.h file, it contains the
extern "C" localComponent::HomeExecutorBase* create_HelloHome();
declartaion. This is the only dependency between the generated and the
application code.
My question to you is, how extensive these changes will be in the
CppLocalGenerator (two more <<<<<SPLIT>>>>> sections in the MHomeDef and
MComponentDef Templates and changes in the writeOutput() method)?
Thus, what I need are the empty *_share.h and *EntryPoint.h files, I can fil=
l
the templates from the example by myself.
:-) Egon
|