Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README/ReleaseNotes/v642/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,14 @@ The `TMVA_SOFIE_GNN` tutorials have been migrated to this workflow and produce i

## Build System

### Optimization of ROOT header files

In ROOT 6.22, many (but not all) unused includes were removed from ROOT header files. The remaining unused includes are now removed in ROOT 6.42.
For instance, `#include "TBuffer.h"` was removed from `TKey.h`. This change may cause errors during compilation of ROOT-based code if one was implicitly relying on this transitive include on downstream code using TBuffer without actually including `TBuffer.h`. Another example: `TStyle.h` no longer includes internally `TArrayI.h`.
To fix it in downstream code, provide the missing includes if you were using those classes from transitive includes without explicitly including them.
This improves compile times and reduces code inter-dependency; see https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md for a good overview of the motivation.
The macro `R__LESS_INCLUDES` no longer has an effect since it's the new default behavior.

### Moving from builtin dependencies to system-provided packages

* The general direction of the ROOT project is to become more and more reliant on system packages. It is *recommended* to make the packages required by ROOT available on the system, e.g. via a package manager, and not with the builtin mechanism. This allows for timely updates and reduces the size of the installed binaries.
Expand Down
5 changes: 0 additions & 5 deletions cmake/modules/RootConfiguration.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -388,11 +388,6 @@ if(dataframe)
else()
set(hasdataframe undef)
endif()
if(dev)
set(use_less_includes define)
else()
set(use_less_includes undef)
endif()
if(root7)
set(hasroot7 define)
else()
Expand Down
1 change: 0 additions & 1 deletion config/RConfigure.in
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
#@hascurl@ R__HAS_CURL /**/
#@hasdataframe@ R__HAS_DATAFRAME /**/
#@hasroot7@ R__HAS_ROOT7 /**/
#@use_less_includes@ R__LESS_INCLUDES /**/
#define R__HARDWARE_INTERFERENCE_SIZE @hardwareinterferencesize@ /*Determined at CMake configure to be stable across all TUs*/

#@usezlibng@ R__HAS_ZLIB_NG /**/
Expand Down
7 changes: 0 additions & 7 deletions core/base/inc/Rtypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,6 @@
#include "RtypesCore.h"
// #include "DllImport.h" // included via RtypesCore.h, not used here

#ifndef R__LESS_INCLUDES
#include <cstdio>
#include "strtok.h" // provides R__STRTOK_R with <cstring> include
#include "strlcpy.h" // part of string.h on systems that have it
#include <type_traits>
#endif

#include <typeinfo>
#include <atomic>

Expand Down
7 changes: 0 additions & 7 deletions core/base/inc/TDirectory.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,7 @@
#include "TUUID.h"
#include <atomic>

#ifdef R__LESS_INCLUDES
class TList;
#else
#include "TList.h"
#include "TBuffer.h"
// #include "TDatime.h"
#endif

class TBrowser;
class TKey;
class TFile;
Expand Down
7 changes: 0 additions & 7 deletions core/base/inc/TFileInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,9 @@
#include "TNamed.h"
#include "TList.h"

#ifdef R__LESS_INCLUDES
class TUrl;
class TUUID;
class TMD5;
#else
#include "TUrl.h"
#include "TUUID.h"
#include "TMD5.h"
#endif

class TFileInfoMeta;


Expand Down
7 changes: 1 addition & 6 deletions core/base/inc/TProcessID.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,10 @@

#include "TNamed.h"

#ifdef R__LESS_INCLUDES
class TObjArray;
#else
#include "TObjArray.h"
#endif

#include <atomic>
#include <type_traits>

class TObjArray;
class TExMap;

namespace ROOT {
Expand Down
4 changes: 0 additions & 4 deletions core/base/inc/TStyle.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@
#include "TAttAxis.h"
#include "TColor.h"

#ifndef R__LESS_INCLUDES
#include "TArrayI.h"
#endif

class TBrowser;

class TStyle : public TNamed, public TAttLine, public TAttFill, public TAttMarker, public TAttText {
Expand Down
6 changes: 0 additions & 6 deletions core/base/inc/TTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,9 @@

#include "TNamed.h"

#ifdef R__LESS_INCLUDES
class TList;
#else
#include "TList.h"
#endif

class TBrowser;


class TTask : public TNamed {

protected:
Expand Down
6 changes: 0 additions & 6 deletions core/base/inc/TVirtualMonitoring.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,8 @@

#include "TNamed.h"

#ifdef R__LESS_INCLUDES
class TList;
class TMap;
#else
#include "TList.h"
#include "TMap.h"
#endif

class TFile;

class TVirtualMonitoringWriter : public TNamed {
Expand Down
4 changes: 0 additions & 4 deletions core/foundation/inc/RtypesCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@

#include "DllImport.h"

#ifndef R__LESS_INCLUDES
#include <cstddef> // size_t, NULL
#endif

//---- Tag used by rootcling to determine constructor used for I/O.

class TRootIOCtor;
Expand Down
5 changes: 0 additions & 5 deletions core/gui/inc/TContextMenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@

#include "TNamed.h"

#ifdef R__LESS_INCLUDES
class TContextMenuImp;
#else
#include "TContextMenuImp.h"
#endif

class TMethod;
class TFunction;
class TMethodArg;
Expand Down
5 changes: 0 additions & 5 deletions core/gui/inc/TToggle.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,8 @@

#include "TNamed.h"

#ifdef R__LESS_INCLUDES
class TMethodCall;
class TMethod;
#else
#include "TMethodCall.h"
#include "TMethod.h"
#endif

class TToggle: public TNamed {

Expand Down
11 changes: 1 addition & 10 deletions core/meta/inc/TClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,6 @@
#include "TString.h"
#include "TSchemaRule.h"

#ifdef R__LESS_INCLUDES
class TObjArray;
#else
#include "TObjArray.h"
// Not used in this header file; user code should #include this directly.
// #include "TObjString.h"
// #include "ThreadLocalStorage.h"
// #include <set>
#endif

#include <cstddef>
#include <map>
#include <string>
Expand All @@ -42,6 +32,7 @@ class TObjArray;
#include <vector>
#include <atomic>

class TObjArray;
class TBaseClass;
class TBrowser;
class TDataMember;
Expand Down
5 changes: 0 additions & 5 deletions core/meta/inc/TMethodArg.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,7 @@
#include "TDictionary.h"
#include <string>

#ifdef R__LESS_INCLUDES
class TDataMember;
#else
#include "TDataMember.h"
#endif

class TFunction;
class TMethod;

Expand Down
4 changes: 0 additions & 4 deletions core/meta/inc/TProtoClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@
class TClass;
class TList;
class TRealData;
#ifdef R__LESS_INCLUDES
class TDataMember;
#else
#include "TDataMember.h"
#endif

//////////////////////////////////////////////////////////////////////////
// //
Expand Down
5 changes: 0 additions & 5 deletions core/meta/inc/TSchemaRuleSet.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,7 @@
#include "TClassRef.h"
#include <vector>

#ifdef R__LESS_INCLUDES
class TObjArray;
#else
#include "TObjArray.h"
#endif


namespace ROOT {

Expand Down
5 changes: 0 additions & 5 deletions core/thread/inc/TThread.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,7 @@
#include "TTimer.h"
#include <cstdarg>

#ifdef R__LESS_INCLUDES
class TCondition;
#else
#include "TCondition.h"
#endif

class TMutex;
class TThreadImp;

Expand Down
7 changes: 1 addition & 6 deletions geom/geom/inc/TGeoCache.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,8 @@

#include "TGeoNode.h"

#ifdef R__LESS_INCLUDES
struct TGeoStateInfo;
#else
#include "TGeoStateInfo.h"
#endif

// forward declarations
struct TGeoStateInfo;
class TGeoManager;
class TGeoHMatrix;

Expand Down
7 changes: 1 addition & 6 deletions geom/geom/inc/TGeoMaterial.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,9 @@
#include <TAttFill.h>
#include <TList.h>

#ifdef R__LESS_INCLUDES
// forward declarations
class TGeoElement;
class TGeoElementTable;
#else
#include "TGeoElement.h"
#endif

// forward declarations
class TGeoExtension;
class TGDMLMatrix;

Expand Down
4 changes: 0 additions & 4 deletions graf2d/gpad/inc/TControlBar.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,8 @@

#include "TControlBarButton.h"

#ifdef R__LESS_INCLUDES
class TObjArray;
class TControlBarImp;
#else
#include "TControlBarImp.h"
#endif

class TList;

Expand Down
4 changes: 0 additions & 4 deletions graf2d/gpad/inc/TPaveClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@

#include "TPaveLabel.h"

#ifdef R__LESS_INCLUDES
class TClassTree;
#else
#include "TClassTree.h"
#endif

class TPaveClass : public TPaveLabel {

Expand Down
4 changes: 0 additions & 4 deletions graf2d/graf/inc/TGraphPolar.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@

#include "TGraphErrors.h"

#ifdef R__LESS_INCLUDES
class TGraphPolargram;
#else
#include "TGraphPolargram.h"
#endif

class TGraphPolar : public TGraphErrors {

Expand Down
4 changes: 0 additions & 4 deletions hist/hist/inc/THStack.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,9 @@
#include "TNamed.h"
#include "TObjArray.h"

#ifdef R__LESS_INCLUDES
class TH1;
class TList;
class TAxis;
#else
#include "TH1.h"
#endif

#include <limits>

Expand Down
4 changes: 0 additions & 4 deletions hist/hist/inc/TSpline.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,10 @@
#ifndef ROOT_TSpline
#define ROOT_TSpline

#ifdef R__LESS_INCLUDES
#include "TNamed.h"
#include "TAttLine.h"
#include "TAttFill.h"
#include "TAttMarker.h"
#else
#include "TGraph.h"
#endif

class TH1;
class TH1F;
Expand Down
5 changes: 0 additions & 5 deletions io/io/inc/TFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@
#include "ROOT/RConcurrentHashColl.hxx"
#include <optional>

// Not a part of TFile interface; provide a forward declaration instead of #include.
// #ifndef R__LESS_INCLUDES
// #include "TMap.h"
// #endif

#ifdef R__USE_IMT
#include <mutex>
#endif
Expand Down
5 changes: 0 additions & 5 deletions io/io/inc/TFilePrefetch.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,8 @@
#include <condition_variable>
#include <mutex>

#ifdef R__LESS_INCLUDES
class TSemaphore;
class TFPBlock;
#else
#include "TSemaphore.h"
#include "TFPBlock.h"
#endif

class TFilePrefetch : public TObject {

Expand Down
6 changes: 1 addition & 5 deletions io/io/inc/TKey.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,9 @@
#include "TNamed.h"
#include "TDatime.h"
#include "TClass.h"
#ifdef R__LESS_INCLUDES
class TBuffer;
#else
#include "TBuffer.h"
#endif

class TBrowser;
class TBuffer;
class TDirectory;
class TFile;

Expand Down
Loading
Loading