Please report new issues athttps://github.com/DOCGroup
Speaking of breaking the code into multiple smaller files, and letting the linker choose whether to link it in or not. In my own CIAO application, I instructed the IDL compiler to suppress the generation of any and typecode support. That saved around 100k in the resulting executable size. I noticed that the IDL compiler has a -GA option, which instead of suppressing any and typecode support, it will generate them in a different cpp/h file *A.cpp/h. So here is my thought. The TAO core already comes out of the box compiled with -GA option. CIAO does not, which means I can't even compile my application with the -GA option because it will look for the corresponding *A.h headers in the CIAO core. If I compile all of CIAO and my application with -GA option and let the linker choose whether it needs this stuff or not, that will probably yield a smaller executable size, right? I was going to try to test this, but I have no idea how to do a whole-sale option change of options (that is, I don't know how to force TAO/CIAO to build all projects with the -GA option). Thanks, Abdul
Yes, that is true. The thing you can try is to add -GA to idlflags in TAO/CIAO/ciao/CCM_Core.mpc, regenerate the makefiles and rebuild. I will try this also when I am ready with my current refactoring. Johnny
Hi, I think the -GA will not out of the box. When an idl file is generated with - GA any other file that includes this idl file should include the A.h file also. This is done based on the pidl extension and the fact that the pidl file is under TAO/tao. Probably it will be some more work to use this for CIAO. Johnny
Hi Jeff, Can you please help out Johnny here? Thanks, Doug
Possible this could be doable using the following steps: - Let the user include just .idl from CIAO/ciao - All smaller idl files that are located in CIAO/ciao which we want to build with -GA have to be renamed to .pidl. When they have the .pidl extension at the moment another IDL files includes them a A.h include is generated - The include of the pidl file should start with "ciao/". This way the IDL compiler doesn't add a AnyTypeCode prefix
accept
seems tao_idl always preprends tao/ for includes related to .pidl files, that is not correct, have to make something more clever.
to pool
wont fix, this will not be a maintainable solution, lwccm and micro ccm are much more promising