Skip to content

Improve header file encapsulation #16327

Open
@vgvassilev

Description

@vgvassilev

Explain what you would like to see improved and how.

We should move all headers from $ROOTSYS/include to $ROOTSYS/ROOT/{component} and we should automatically generate wrapping headers that #include the relevant ROOT/ header with a deprecation warning.
Eg.

mv ROOTSYS/include/TLish.h ROOTSYS/include/ROOT/core/TLish.h
cat ROOTSYS/include/TLish.h
#warn "This forwarding header will go away in X please include \"ROOT/Base/TLish.h\" "
#include "ROOT/core/TLish.h"

The trampoline header file can be generated by our build system by adding a -DROOT_COMPATIBILITY switch that's on by default for few releases and then off.

ROOT version

master

Installation method

N/A

Operating system

N/A

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions