Comment 5 for bug 1595488

Revision history for this message
Alex Rousskov (rousskov) wrote :

The problem is complex, but I suspect you are making it look messier by mixing two different problems together:

1. Modern host applications are gradually losing the ability to use eCAP because their build environment lacks tr1.

2. The same host application may support environments with tr1 and without.

AFAICT, the correct solution to problem #1 is to migrate libecap from tr1 to C++11. This solution requires a library version bump because it changes API and ABI. We may want to piggyback other eCAP API changes on top of this essentially required API change. Host applications and adapters that do not support C++11 will continue to use the to-be-deprecated libecap v1.0.

After #1 is solved, the correct solution to problem #2 is to adjust such host application to use libecap version that matches their current build environment. For example, if Squid v3.5 is being built with C++11, it should use libecap v1.1; otherwise it should continue to use libecap v1.0.

What do you think? Will the above solutions address all the relevant problems that we know about?