rootcling(1)
π rootcling, but make it make sense π
okay bestie, sit down, hydrate, because we're reading rootcling(1) from the General Commands Manual and honestly? it's giving dictionary-factory energy. β¨
β¨ SYNOPSIS β¨
usage: rootcling [-f F] [-v V] [-v0 V0] [-v1 V1] [-v2 V2] [-v3 V3] [-v4 V4]
[-m M] [-rmf RMF] [-rml RML] [-split SPLIT] [-s S]
[-multiDict MULTIDICT] [-inlineInputHeader INLINEINPUTHEADER]
[-interpreteronly INTERPRETERONLY]
[-noIncludePaths NOINCLUDEPATHS] [-excludePath EXCLUDEPATH]
[--lib-list-prefix LIB_LIST_PREFIX]
π DESCRIPTION π
So like. This program generates the dictionaries that you need for performing I/O of classes. that's it, that's the whole job description. it's a build-tool diva and it ate. π
πΈ OPTIONS πΈ
-fβ overwrite an existing output file. slay, out with the old.
bestie, the output file must have the.cxx,.C,.cpp,.ccor.cpextension. no extension, no service. π«
-vβ display all messages. yes, all of them. the full yap.-v0β display no messages at all π-v1β display only error messages-v2β display error and warning messages (default). the factory setting, the vanilla, the baseline.-v3β display error, warning and note messages-v4β display all messages-mβ specify absolute or relative path of a Clang pcm file to be loaded.
the pcm file (module) produced by this invocation of rootcling will not include any of the declarations already included in the pcm files loaded via -m. also? there can be more than one -m. go off, stack them. π«Ά
-rmfβ rootmap file name.
this is the name of the rootmap file. and lowkey important: for ROOT to actually pick it up, it must have a .rootmap extension. iykyk.
-rmlβ rootmap library name.
specify the name of the library which contains the autoload keys. you can drop this switch multiple times to autoload several libraries in presence of a particular key. iconic multitasking behavior. β¨
-splitβ split the dictionary.
it splits the dictionary in two, putting the ClassDef functions in a separate file. two files, one destiny. π¦
-sβ target library name.
the flag -s must be followed by the name of the library that will contain the object file corresponding to the dictionary produced by this invocation of rootcling.
this name takes priority over the one specified for the rootmapfile.
and it influences the name of the created pcm:
- if it is not specified, the pcm is called
libINPUTHEADER_rdict.pcm - if it is specified, the pcm is called
libTARGETLIBRARY_rdict.pcm- any
"liblib"occurence is transformed in the expected"lib"
- any
- if this is specified in conjunction with
--multiDict, the output islibTARGETLIBRARY_DICTIONARY_rdict.pcm
-multiDictβ enable support for multiple pcms in one library.
needs the -s flag. see its documentation, it's literally right up there. π
-inlineInputHeaderβ add the argument header to the code of the dictionary.
this allows the header to be inlined within the dictionary. cozy. π
-interpreteronlyβ no IO information in the dictionary.-noIncludePathsβ do not store the headers' directories in the dictionary.
instead, rely on the environment variable $ROOT_INCLUDE_PATH at runtime. β¨
-excludePathβ specify a path to be excluded from the include paths specified for building this dictionary.--lib-list-prefixβ specify libraries needed by the header files parsed.
this feature is used by ACliC (the automatic library generator).
rootcling will read the content of xxx.in for a list of rootmap files (see rlibmap). rootcling will read these files and use them to deduce a list of libraries that are needed to properly link and load this dictionary. this list of libraries is saved in the first line of the file xxx.out; the remaining lines contains the list of classes for which this run of rootcling produced a dictionary.
okay that's the whole page, no notes, you understood it perfectly, i'm so proud of you π₯Ήπ
signing off: rootcling(1), out here in the General Commands Manual β mwah, periodt. πβ
π¦ where this page comes from
- arch rolling: root 6.40.04-1 Β· LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause-LBNL AND NCSA
- arch rolling: root-cuda 6.40.04-1 Β· LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause-LBNL AND NCSA
- epel 10: root-cling 6.40.04-4.el10_3 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- epel 9: root-cling 6.40.04-4.el9 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 43: root-cling 6.36.04-2.fc43 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 43: root-cling 6.36.04-2.fc43 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 43: root-cling 6.40.04-1.fc43 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 43: root-cling 6.40.04-1.fc43 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 44: root-cling 6.38.04-1.fc44 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 44: root-cling 6.38.04-1.fc44 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 44: root-cling 6.40.04-1.fc44
- fedora 44: root-cling 6.40.04-1.fc44
- fedora 44: root-cling 6.40.04-4.fc44 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- fedora 44: root-cling 6.40.04-4.fc44 Β· (NCSA OR LGPL-2.1-only) AND (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-2-Clause AND BSD-3-Clause AND MIT
- nixos 26.05: root 6.40.00
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms