##
##  config.layout -- Pre-defined Installation Path Layouts
##
##  Licensed to the Apache Software Foundation (ASF) under one
##  or more contributor license agreements.  See the NOTICE file
##  distributed with this work for additional information
##  regarding copyright ownership.  The ASF licenses this file
##  to you under the Apache License, Version 2.0 (the
##  "License"); you may not use this file except in compliance
##  with the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
##  Hints:
##  - layouts can be loaded with configure's --enable-layout=ID option
##  - when no --enable-layout option is given, the default layout is
##    `Trafficserver'
##  - a trailing plus character (`+') on paths is replaced with a
##    `/<target>' suffix where <target> is currently hardcoded to
##    'trafficserver'.
##    (This may become a configurable parameter at some point.)
##

#   Classical TrafficServer path layout.
<Layout TrafficServer>
    prefix:        /usr/local
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/bin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec+
    infodir:       ${prefix}/info
    mandir:        ${prefix}/share/man
    sysconfdir:    ${prefix}/etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: ${prefix}/var
    runtimedir:    ${localstatedir}+
    logdir:        ${localstatedir}/log+
    cachedir:      ${localstatedir}+
</Layout>

#   Classical Apache path layout.
<Layout Apache>
    prefix:        /usr/local/trafficserver
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/bin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/modules
    infodir:       ${prefix}/info
    mandir:        ${prefix}/share/man
    sysconfdir:    ${prefix}/conf
    datadir:       ${prefix}/share
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: ${prefix}
    runtimedir:    ${localstatedir}/logs
    logdir:        ${localstatedir}/logs
    cachedir:      ${localstatedir}/cache
</Layout>

#   GNU standards conforming path layout.
#   See FSF's GNU project `make-stds' document for details.
<Layout GNU>
    prefix:        /usr/local
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec+
    infodir:       ${prefix}/info
    mandir:        ${prefix}/share/man
    sysconfdir:    ${prefix}/etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include+
    localstatedir: ${prefix}/var+
    runtimedir:    ${localstatedir}/run
    logdir:        ${localstatedir}/log
    cachedir:      ${localstatedir}/cache
</Layout>

#   Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
    prefix:        /Local/Library/TrafficServer
    exec_prefix:   /usr
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    /System/Library/TrafficServer/Modules
    infodir:       ${exec_prefix}/share/info
    mandir:        ${exec_prefix}/share/man
    sysconfdir:    ${prefix}/Configuration
    datadir:       ${prefix}/Share
    docdir:        ${prefix}/Share/doc+
    installbuilddir: /System/Library/TrafficServer/Build
    includedir:    /System/Library/Frameworks/TrafficServer.framework/Versions/2.0/Headers
    localstatedir: /var
    runtimedir:    ${prefix}/Logs
    logdir:        ${prefix}/Logs
    cachedir:      ${prefix}/TrafficServerCache
</Layout>

#   Darwin/Mac OS Layout
<Layout Darwin>
    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec+
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    datadir:       /Library/TrafficServer
    docdir:        ${prefix}/share/doc+
    sysconfdir:    /etc+
    installbuilddir: ${prefix}/share/trafficserver/build
    includedir:    ${prefix}/include+
    localstatedir: /var+
    runtimedir:    ${localstatedir}/run
    logdir:        ${localstatedir}/log
    cachedir:      ${localstatedir}/cache
</Layout>

#   According to the /opt filesystem conventions
<Layout opt>
    prefix:        /opt/trafficserver
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec
    infodir:       ${prefix}/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc${prefix}
    datadir:       ${prefix}/share
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: /var${prefix}
    runtimedir:    ${localstatedir}/run
    logdir:        ${localstatedir}/logs
    cachedir:      ${localstatedir}/cache
</Layout>


#   Solaris 8 Layout
<Layout Solaris>
    prefix:        /usr/trafficserver
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/bin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec
    infodir:       ${prefix}/info
    mandir:        ${prefix}/man
    sysconfdir:    /etc+
    datadir:       /var+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: ${prefix}
    runtimedir:    /var/run+
    logdir:        ${datadir}/logs
    cachedir:      ${datadir}/cache
</Layout>


# Debian layout
<Layout Debian>
    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib+
    libexecdir:    ${libdir}/modules
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc+
    datadir:       /var/cache+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${prefix}/share/trafficserver/build
    includedir:    ${prefix}/include
    localstatedir: /run
    runtimedir:    /run+
    logdir:        /var/log+
    cachedir: /var/cache+
</Layout>

#   Gentoo Linux TrafficServer path layout.
<Layout Gentoo>
    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib+
    libexecdir:    ${libdir}/plugins
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include+
    localstatedir: /var+
    runtimedir:    /run+
    logdir:        /var/log+
    cachedir:      /var/cache+
</Layout>

#   Fedora/CentOS/RHEL TrafficServer path layout.
<Layout RedHat>
    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib64+
    libexecdir:    ${libdir}/plugins
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include+
    localstatedir: /var+
    runtimedir:    /run+
    logdir:        /var/log+
    cachedir:      /var/cache+
</Layout>

#   OpenBSD path layout.
<Layout OpenBSD>
    prefix:        /usr/local
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec+
    infodir:       ${prefix}/info
    mandir:        ${prefix}/man
    sysconfdir:    /etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: /var+
    runtimedir:    /var/run+
    logdir:        /var/log+
    cachedir:      ${localstatedir}/cache
</Layout>

<Layout Yahoo>
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin64
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec64+
    infodir:       ${prefix}/info
    mandir:        ${prefix}/man
    sysconfdir:    ${prefix}/conf+
    datadir:       ${prefix}/share+
    installbuilddir: ${libdir}/trafficserver/build
    includedir:    ${prefix}/include+
    localstatedir: ${prefix}/var+
    runtimedir:    ${prefix}/var/run+
    logdir:        ${prefix}/logs+
    cachedir:      ${datadir}
</Layout>

<Layout Arch>
    prefix:        /usr
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${libdir}+
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: /run
    runtimedir:    /run+
    logdir:        /var/log+
    cachedir:      /var/lib+
</Layout>

<Layout NixOS>
    prefix:        /opt/trafficserver
    exec_prefix:   ${prefix}
    bindir:        ${exec_prefix}/bin
    sbindir:       ${exec_prefix}/sbin
    libdir:        ${exec_prefix}/lib
    libexecdir:    ${exec_prefix}/libexec
    infodir:       ${prefix}/share/info
    mandir:        ${prefix}/share/man
    sysconfdir:    /etc+
    datadir:       ${prefix}/share+
    docdir:        ${prefix}/share/doc+
    installbuilddir: ${datadir}/build
    includedir:    ${prefix}/include
    localstatedir: /var/lib+
    runtimedir:    /run+
    logdir:        /var/log+
    cachedir:      /var/cache+
</Layout>
