[Pkg-ace-devel] Plan for ACE+TAO upload

Thomas Girard thomas.g.girard at free.fr
Sun May 30 18:01:09 UTC 2010


Hello Marek,

Le 30/05/2010 18:18, Marek Brudka a écrit :
>    I committed two auxiliary  revisions:
>      - fixing the problem with 2nd pass mpc generation (mwc.pl was
> patched after 1st pass :) )

So we can remove the second invocation of mpc after build is complete?

>      - moving IDL files into /usr/share/idl folder.

Hmmm... Directly under /usr/share/idl? I'd go for /usr/share/idl/TAO
(we do something like that for omniORB)

>>> 2 After that, teach ACE_DYNAMIC_SERVICE_DIRECTIVE to use
>>> versioned libraries the way we want.
>
> It seems it is more work than I expected, namely it is not enough to
> modify ACE_DLL_Handle::get_dll_names at DLL_Manager.cpp:396. I suppose
> that necessary changes have to be discussed on ace-users first.

What I had in mind was simpler and relied on macro magic only. I don't
think get_dll_names has to be changed if we can propagate the version
of the dll to load to it.

Let's take an example: in
$TAO_ROOT/orbsvcs/orbsvcs/PortableGroup/PortableGroup_ORBInitializer.cpp, we 
see:
> static const ACE_TCHAR pg_poa_factory_directive[] =
> ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_GOA",
>                               "TAO_PortableGroup",
>                               "_make_TAO_PG_Object_Adapter_Factory",
>                               "");

I imagine either something like that:
> TAO_DYNAMIC_SERVICE_DIRECTIVE("TAO_GOA",
>                               "TAO_PortableGroup",
>                               "_make_TAO_PG_Object_Adapter_Factory",
>                               "");
with TAO_DYNAMIC_SERVICE_DIRECTIVE a conditional #defined macro that
knows TAO version and appends it to its second argument so that it
becomes for instance "TAO_PortableGroup" "-1.7.7" and it will work;

or like that:
> ACE_DYNAMIC_SERVICE_DIRECTIVE("TAO_GOA",
>                               TAO_VERSION("TAO_PortableGroup"),
>                               "_make_TAO_PG_Object_Adapter_Factory",
>                               "");
TAO_VERSION being very akin to what I described above.

So far I think the latter is simpler, but I have not tried implementing
any of these.

Do you think it's doable?

Regards,

Thomas



More information about the Pkg-ace-devel mailing list