[Pkg-ace-devel] Re: REACTOR_SEPERATION build of ACE

Marek Brudka mbrudka@aster.pl
Sun, 12 Dec 2004 02:47:01 +0100


Hi,
    Finally I reached the milestone I planned. Could you take a look at 
REACTOR_SEPARATION branch
for ACE_wrappers and MPC, please?. I hope there will be only bug fixes 
int projects related with Qt and Xt.
Moreover, probably the ACE parts of Fl and Tk are also almost finished.  
There is new chapter in
ACE-INSTALL.html on GUI reactors which may help in testing my changes.

    While projects in ACE part are almost finished for all GUI reactors, 
there is a
problem for Tk and Fl reactors in TAO/tao/Strategies. Actually, TAO 
folder builds correctly when setting
tk,x11,gl,fl,ace_tkreactor,tao_tkreactor,ace_flreactor,tao_flreactor 
features as avalaible eg.
in ACE_wrappers/TAO

mwc.pl -features 
tk=1,x11=1,gl=1,fl=1,ace_tkreactor=1,tao_tkreactor=1,ace_flreactor=1,tao_flreactor=1 
TAOACE.mwc
make tk=1 x11=1 gl=1 fl=1 ace_tkreactor=1 tao_tkreactor=1 
ace_flreactor=1 tao_flreactor=1

The same procedure applied in tests and examples directories builds Fl 
and Tk related projects. However it is
imposible now to build TAO::Strategies without these features, what 
obviously cannot be accepted. It also seems
that Fl and Tk support in TAO was unavailable for a long time..

My next plan is to separate Fl and Tk reactors in TAO directories. I 
want to:
1. Create fl(tk)_resource files and tao_fl(tk)reactor projects in 
TAO/tao directory. This part is similiar to solution for qt(xt)_resources.
2. Replace static references to Fl and Tk reactors in 
TAO/tao/Strategies/advanced_resources.cpp by dynamic linking with these 
reactors. In more
details I want to preserve back-compatibility by looking for fl and tk 
resource in tao_Fl(Tk)Reactor shared libraries when AdvancedResourceFactory
wants to use fl or tk reactor. This way one will not need to link 
TAO::Strategies with Fl(Tk) related libraries.
3. Remove ACE_HAS_TK and ACE_HAS_FL macros from everyplace and mutually 
derive Fl(Tk)-related examples and tests in TAO
from tao_fl(tk)reactors.
4. Check if everything is working as planned :-)
5. Create svc.confs and modify examples and tests to use use 
fl(tk)_resource factories. This resembles solution for TAO/tao/QtTests.
6. Check if everything is working once again, this time also for win32 :-))
7. Call for a detailed review and eventually merge branches.

As previously I did not touch yet automake/autoconfigure parts of ACE, 
though I intend to do this.

Marek Brudka