##
##  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: /var/run
    runtimedir:    /var/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>

#   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>
