You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Oliver Kiddle (JIRA)" <ji...@apache.org> on 2015/12/07 03:39:11 UTC

[jira] [Created] (XALANC-765) Build fails on Solaris with C++11 enabled

Oliver Kiddle created XALANC-765:
------------------------------------

             Summary: Build fails on Solaris with C++11 enabled
                 Key: XALANC-765
                 URL: https://issues.apache.org/jira/browse/XALANC-765
             Project: XalanC
          Issue Type: Bug
          Components: XalanC
    Affects Versions: 1.11, CurrentCVS
         Environment: Solaris
            Reporter: Oliver Kiddle
            Assignee: Steven J. Hathaway


The {{-std=c\+\+11}} option with Solaris Studio 12.4 makes use of GNU libstdc++ 4.8.2 for the STL instead of the legacy Rogue Wave one. SolarisDefinitions.h therefore needs to be changed to check that {{__SUNPRO_CC_COMPAT == 'G'}}
That comes alongside the {{_STLP_CONFIG_H}} (stlport) check to define {{XALAN_HAS_STD_ITERATORS/DISTANCE}}.
This would also apply for the {{-compat=g}} option which can enable the use of libstdc++ (albeit an older version) with C++98.

Note that testing for {{\_\_GLIBCXX\_\_}} does not appear to work. I think that is only defined once an STL header has been included.

The runConfigure script actually makes it quite awkward to build for C++11. I don't want {{-std=c\+\+11}} to be passed to the C compiler but it is needed for the C++ compiler when the C++ compiler is used as a linker driver. Normally with configure, I'd specify {{CXX='CC -std=c++11'}} but runConfigure doesn't cope with the space. I instead resorted to hacking Makefile.incl after configure is run.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xalan.apache.org
For additional commands, e-mail: dev-help@xalan.apache.org