[ 
https://issues.apache.org/jira/browse/TS-4560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15336314#comment-15336314
 ] 

ASF subversion and git services commented on TS-4560:
-----------------------------------------------------

Commit 57fa22195a259aa61725cf2ddea71879e28c489d in trafficserver's branch 
refs/heads/master from [~jpe...@apache.org]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=57fa221 ]

TS-4560: Fix C++ API shared_ptr detection.

Since ink_autoconf.h is not installed, we can't use it to figure
out which shared_ptr implementation to use. Further, Traffic Server
might not have been built with the same toolchain that 3rd party
plugins are using.

Since shared_ptr is used in the C++ API headers, both Traffic Server
and the plugins need to agree on which implementation to use. The
best (but not perfect) solution is to hardcode it into the header
file during the Traffic Server build. This means that both parties
are consistent and any remaining problems could be attributed to
C++ standard library compatibility.


> C++ API should not depend on ink_autoconf.h
> -------------------------------------------
>
>                 Key: TS-4560
>                 URL: https://issues.apache.org/jira/browse/TS-4560
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: CPP API
>            Reporter: James Peach
>            Assignee: James Peach
>
> {{atscppapi/shared_ptr.h}} includes {{ink_autoconf.h}}. {{ink_autoconf.h}} is 
> not installed (and must not be installed). This makes it impossible for 
> people to consume the C++ API.
> It is totally reasonable IMHO to expect to be able to build plugins with a 
> different toolchain than Traffic Server was built with. Consider installing 
> {{devtoolset-3}} and building plugins against a distribution package, or 
> building plugins with clang. 



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

Reply via email to