summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/root/README.md')
-rw-r--r--var/spack/repos/builtin/packages/root/README.md170
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.