CL environment introspection portability layer