diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/root/README.md')
-rw-r--r-- | var/spack/repos/builtin/packages/root/README.md | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/root/README.md b/var/spack/repos/builtin/packages/root/README.md new file mode 100644 index 0000000000..d808498b34 --- /dev/null +++ b/var/spack/repos/builtin/packages/root/README.md @@ -0,0 +1,170 @@ +# ROOT Recipe Notes + +ROOT has a significant number of build options. Not all of them are supported by this package recipe at this time. Relevant notes on support (or lack thereof) for various options is below. + +## Fixed and unsupported options + +### Missing dependencies + +The following configuration options are unsupported (set to `OFF`) due to missing dependencies: + +#### `alien` + +Requires `libgapiUI` from ALICE. + +#### `dcache` + +DCache support depends on `libdcap` from DESY. + +#### `gfal` + +#### `http` + +ROOT looks for and uses the FastCGI package on the system if found, creating a possible non-portable dependency. There is currently no `fastcgi` recipe, nor any way to unconditionally disable the search for the package. + +#### `monalisa` + +Monitoring with Monalisa depends on `libapmoncpp`. + +#### `odbc` + +#### `oracle` + +#### `pythia8` + +#### `tcmalloc` + +#### `veccore` + +#### `xinetd` + +### Discontinued options + +Support for several options was discontinued in ROOT without prior support in the recipe: + +#### `afdsmgrd` + +#### `afs` + +#### `bonjour` + +#### `castor` + +#### `chirp` + +#### `geocad` + +#### `glite` + +#### `globus` + +#### `hdfs` + +#### `ios` + +#### `krb5` + +#### `ldap` + +#### `rfio` + +#### `ruby` + +#### `sapdb` + +#### `srp` + +### Other fixed or unsupported options + +### `arrow=OFF` + +#### `asimage=ON`, `astiff=ON`, `builtin_afterimage=ON` + +Full control of `asimage` and `astiff` would require a package recipe for libAfterImage or Afterstep. In their absence, we use the provided and internally built version of libAfterImage. + +#### `ccache=OFF` + +Only useful for repeated builds. + +#### `cling=OFF` + +The use of Cling is assumed. + +#### `cxxmodules` + +This option should not be confused with `runtime_cxxmodules`. `cxxmodules` is an optimization that affects only the efficiency of building ROOT. + +#### `exceptions=ON` + +Support for C++ exceptions is assumed. + +#### `explicitlink=ON` + +Use of explicit linking when making shared libraries is assumed. + +#### `fail-on-missing=ON` + +Failure on missing dependencies is assumed (_vs_ automatically setting `builtin_XXX`). + +#### `gnuinstall=OFF` + +GNU-compliant install layout. + +#### `libcxx` + +This option controls use of the libC++ standard C++ library via compiler options. It is set automatically by ROOT's configuration on macOS >=10.7 when a Clang compiler is configured. Due to complexities related to compiler options and the way a compiler might have been configured, configurable support is disabled until (at least) Spack supports the standard library as a virtual dependency. + +#### `pch=ON` + +The use of pre-compiled headers when building is assumed. + +#### `roottest=OFF` + +`roottest` requires access to the network. + +#### `runtime_cxxmodules=OFF` + +This option tells ROOT to generate and use PCMs for its own libraries. This functionality is experimental for ROOT < 6.20, and is currently not supported by the recipe. + +#### `shared=ON` + +The use of shared libraries is assumed. + +#### `soversion=ON` + +The use of versioning for shared libraries is assumed. + +#### `testing` + +The building of ROOT's test suite and its availability for use by CTest is pegged to Spack's determination of whether testing is required for the current installation procedure. + +## Variants and version dependent support for options + +Some configuration options are version dependent---unavailable before or after a specific version. The current accounting for such options in the recipe is far from exhaustive, and a survey of the various options and the versions that support them would be useful. However, accounting for them is somewhat clumsy absent a `when` clause for variants, or similar. + +### Conflicting variants since 6.18 + +#### `memstat` + +#### `qt4` + +Representing the obsolete `qt` and `qtgsi` ROOT build options. + +#### `table` + +### Temporarily conflicting variants + +The `http` variant is currently an unconditional conflict due to the non-portable dependency mentioned above. + +## Permanently removed variants + +The following variants have been removed from the recipe as they have always been ineffective: + +* `avahi` +* `kerberos` +* `ldap` +* `libcxx` +* `odbc` +* `tiff` + +In addition, the `test` variant has been removed as its actions are irrelevant to the installed source---the corresponding `testing` ROOT option is enabled if and only if `self.run_tests` is set. |