Bug 3160 - ! ACE_TEMPLATES_REQUIRE_SOURCE, Solaris, SunStudio
Summary: ! ACE_TEMPLATES_REQUIRE_SOURCE, Solaris, SunStudio
Status: NEW
Alias: None
Product: ACE
Classification: Unclassified
Component: ACE Core (show other bugs)
Version: 5.6.1
Hardware: All All
: P3 normal
Assignee: DOC Center Support List (internal)
URL:
Depends on: 3159 3158
Blocks:
  Show dependency tree
 
Reported: 2007-11-30 23:21 CST by J.T. Conklin
Modified: 2009-09-10 06:52 CDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description J.T. Conklin 2007-11-30 23:21:38 CST
Currently there are no systems on the ACE/TAO/CIAO scoreboard that do not define ACE_TEMPLATES_REQUIRE_SOURCE.  As a result, this option is rather fragile, since changes are made that should require the addition of an #include work without it because the headers have been implicitly #included through a template *.cpp.

The Solaris/SunStudio platform (at least Solaris 10+ / SunStudio 11+) has a working template repository mechanism, so although the canned config defines ACE_TEMPLATES_REQUIRE_SOURCE, it is not necessary.

I've cleaned up the most recent #include breakage by building with a platform_macros.GNU like:
  include ${ACE_ROOT}/include/makeinclude/platform_sunos5_sunc++.GNU

And with a config.h like:
  #include "ace/config-sunos5.10.h"
  #undef ACE_TEMPLATES_REQUIRE_SOURCE

and dealing with all the fallout.  Now all of ACE, and almost all of TAO (except for the issues outlined in bug #3158 and bug #3159) build and run.

Johnny asked me to file this bug so we can either change the Solaris/SunStudio platform config so it doesn't define ACE_TEMPLATES_REQUIRE_SOURCE, or we put a new config up on the scoreboard similar to the one I describe above to help prevent future breakage for platform configs where ACE_TEMPLATES_REQUIRE_SOURCE is not defined.