
--------------------------------------------------------------------------------
                    _    _ ______                   _____
                   \ \  / (_____ \             _   (____ \
                    \ \/ / _____) ) ___   ___ | |_  _   \ \
                     )  ( (_____ ( / _ \ / _ \|  _)| |   | |
                    / /\ \      | | |_| | |_| | |__| |__/ /
                   /_/  \_\     |_|\___/ \___/ \___)_____/

--------------------------------------------------------------------------------

1. S U P P O R T E D   O P E R A T I N G   S Y S T E M S

   XRootD is supported on the following platforms:

  * RedHat Enterprise Linux 7 or greater and their derivatives (Scientific Linux)
    compiled with gcc
  * MacOSX 10.6 or greater compiled with gcc or clang

2. B U I L D   I N S T R U C T I O N S

2.0 Build dependecies

  XRootD requires at minimum following packages (RHEL distro):

  * gcc-c++ cmake(3) krb5-devel libuuid-devel libxml2-devel openssl-devel systemd-devel zlib-devel
  * devtoolset-7 (only RHEL7)

2.1 Build system

  XRootD uses CMake to handle the build process. It should build fine with
cmake 3.6 or greater. It may be also possible to use version 2.8 but this
is neither recommended nor supported.

2.2 Build parameters

  The build process supports the following parameters:

  * CMAKE_INSTALL_PREFIX - indicates where the XRootD files should be installed,
                           (default: /usr)
  * CMAKE_BUILD_TYPE     - type of the build: Release/Debug/RelWithDebInfo
  * FORCE_32BITS         - Force building 32 bit binaries when on Solaris AMD64
                           (default: FALSE)
  * ENABLE_PERL          - enable the perl bindings if possible (default: TRUE)
  * ENABLE_FUSE          - enable the fuse filesystem driver if possible
                           (default: TRUE)
  * ENABLE_CRYPTO        - enable the OpenSSL cryprography support (including
                           the X509 authentication) if possible (default: TRUE)
  * ENABLE_KRB5          - enable the Kerberos 5 authentication if possible
                           (default: TRUE)
  * ENABLE_READLINE      - enable the lib readline support in the commandline
                           utilities (default: TRUE)
  * OPENSSL_ROOT_DIR     - path to the root of the openssl installation if it
                           cannot be detected in a standard location
  * KERBEROS5_ROOT_DIR   - path to the root of the kerberos installation if it
                           cannot be detected in a standard location
  * READLINE_ROOT_DIR    - path to the root of the readline installation if it
                           cannot be detected in a standard location
  * CMAKE_C_COMPILER     - path to the c compiler that should be used
  * CMAKE_CXX_COMPILER   - path to the c++ compiler that should be used

2.3 Build steps

  * on RHEL7 only: scl enable devtoolset-7 /bin/bash

  * Create an empty build directory:

    mkdir build
    cd build

  * Generate the build system files using cmake, ie:

    cmake /path/to/the/xrootd/source -DCMAKE_INSTALL_PREFIX=/opt/xrootd \
                                     -DENABLE_PERL=FALSE

  * Build the source:

    make

  * Install the source:

    make install

3. P L A T F O R M   N O T E S
  * None.
