# The following options are used to enable or disable netatalk features
# They take the form -Dwith-feature=true || false

# The value: argument corresponds to the default setting

option(
    'with-acls',
    type: 'boolean',
    value: true,
    description: 'Enable ACL support',
)
option(
    'with-afpstats',
    type: 'boolean',
    value: true,
    description: 'Enable AFP statistics via D-Bus',
)
option(
    'with-cnid-dbd-backend',
    type: 'boolean',
    value: true,
    description: 'Compile CNID with Database Daemon Data Store',
)
option(
    'with-cnid-last-backend',
    type: 'boolean',
    value: true,
    description: 'Compile LAST CNID scheme',
)
option(
    'with-cnid-mysql-backend',
    type: 'boolean',
    value: true,
    description: 'Compile MySQL CNID scheme',
)
option(
    'with-cracklib',
    type: 'boolean',
    value: true,
    description: 'Enable cracklib support',
)
option(
    'with-debug',
    type: 'boolean',
    value: true,
    description: 'Enable verbose debug code',
)
option(
    'with-debugging',
    type: 'boolean',
    value: false,
    description: 'Enable SIGALARM timers and DSI tickles (eg for debugging with gdb/dbx/...)',
)
option(
    'with-dtrace',
    type: 'boolean',
    value: true,
    description: 'Enable dtrace probes',
)
option(
    'with-embedded-ssl',
    type: 'boolean',
    value: true,
    description: 'Enable embedded SSL library',
)
option(
    'with-gssapi',
    type: 'boolean',
    value: true,
    description: 'Enable GSSAPI support',
)
option(
    'with-init-hooks',
    type: 'boolean',
    value: true,
    description: 'Enable install hooks for the configured init system',
)
option(
    'with-install-hooks',
    type: 'boolean',
    value: true,
    description: 'Enable OS specific install hooks',
)
option(
    'with-kerberos',
    type: 'boolean',
    value: true,
    description: 'Enable Kerberos V API support',
)
option(
    'with-krbV-uam',
    type: 'boolean',
    value: true,
    description: 'Enable build of Kerberos V UAM module',
)
option(
    'with-largefile',
    type: 'boolean',
    value: true,
    description: 'Enable support for large files',
)
option(
    'with-ldap',
    type: 'boolean',
    value: true,
    description: 'Enable LDAP support'
)
option(
    'with-ldsoconf',
    type: 'boolean',
    value: false,
    description: 'Enable custom library search path for the run-time linker',
)
option(
    'with-libiconv',
    type: 'boolean',
    value: true,
    description: 'Enable iconv support',
)
option(
    'with-manual',
    type: 'boolean',
    value: false,
    description: 'Compile Netatalk documentation',
)
option(
    'with-overwrite',
    type: 'boolean',
    value: false,
    description: 'Overwrite configuration files during installation',
)
option(
    'with-pam',
    type: 'boolean',
    value: true,
    description: 'Enable PAM support',
)
option(
    'with-pgp-uam',
    type: 'boolean',
    value: false,
    description: 'Enable build of PGP UAM module',
)
option(
    'with-quota',
    type: 'boolean',
    value: true,
    description: 'Enable quota support',
)
option(
    'with-rpath',
    type: 'boolean',
    value: true,
    description: 'Enable RPATH/RUNPATH',
)
option(
    'with-sendfile',
    type: 'boolean',
    value: true,
    description: 'Enable sendfile syscall',
)
option(
    'with-shadow',
    type: 'boolean',
    value: true,
    description: 'Enable shadow password support',
)
option(
    'with-shell-check',
    type: 'boolean',
    value: true,
    description: 'Enable checking for a valid shell',
)
option(
    'with-spotlight',
    type: 'boolean',
    value: true,
    description: 'Enable Spotlight support',
)
option(
    'with-ssl-override',
    type: 'boolean',
    value: false,
    description: 'Force built-in WolfSSL as SSL provider',
)
option(
    'with-tcp-wrappers',
    type: 'boolean',
    value: true,
    description: 'Enable TCP wrappers support',
)
option(
    'with-tests',
    type: 'boolean',
    value: false,
    description: 'Compile tests',
)
option(
    'with-zeroconf',
    type: 'boolean',
    value: true,
    description: 'Enable Zeroconf support',
)

# The following options are used to find dependencies that are installed in
# unconventional locations.
# They take the form -Dwith-dependency-path=/path/to/dependency
# The dependency directory must include lib and include dirs

option(
    'with-bdb-path',
    type: 'string',
    value: '',
    description: 'Set path to Berkeley DB installation. Must contain lib and include dirs',
)
option(
    'with-cracklib-path',
    type: 'string',
    value: '',
    description: 'Set location of cracklib dictionary',
)
option(
    'with-dbus-daemon-path',
    type: 'string',
    value: '/bin/dbus-daemon',
    description: 'Set path to D-Bus daemon',
)
option(
    'with-dbus-sysconf-path',
    type: 'string',
    value: '',
    description: 'Set path to D-Bus system bus security configuration directory',
)
option(
    'with-docbook-path',
    type: 'string',
    value: '',
    description: 'Set path to Docbook XSL directory',
)
option(
    'with-gssapi-path',
    type: 'string',
    value: '',
    description: 'Set path to GSSAPI for Kerberos V UAM. Must contain lib and include dirs',
)
option(
    'with-init-dir',
    type: 'string',
    value: '',
    description: 'Set path to OS specific init directory',
)
option(
    'with-ldap-path',
    type: 'string',
    value: '',
    description: 'Set path to LDAP library. Must contain lib and include dirs'
)
option(
    'with-libgcrypt-path',
    type: 'string',
    value: '',
    description: 'Set path to libgcrypt installation. Must contain lib and include dirs',
)
option(
    'with-libiconv-path',
    type: 'string',
    value: '',
    description: 'Set path to libiconv installation. Must contain lib and include dirs',
)
option(
    'with-lockfile-path',
    type: 'string',
    value: '',
    description: 'Set path to Netatalk lockfile',
)
option(
    'with-pam-path',
    type: 'string',
    value: '',
    description: 'Set path to PAM installation. Must contain lib and include dirs',
)
option(
    'with-pam-config-path',
    type: 'string',
    value: '',
    description: 'Set path to PAM config directory',
)
option(
    'with-pkgconfdir-path',
    type: 'string',
    value: '',
    description: 'Set path to the package conf dir that overrides sysconfdir',
)
option(
    'with-tracker-install-prefix',
    type: 'string',
    value: '',
    description: 'Set Tracker installation prefix',
)
option(
    'with-tracker-prefix',
    type: 'string',
    value: '',
    description: 'Set Tracker prefix',
)
option(
    'with-uams-path',
    type: 'string',
    value: 'libdir / netatalk',
    description: 'Set path to UAMs',
)

# The following options set the preferred init-style and default CNID backend:

option(
    'with-init-style',
    type: 'combo',
    choices: [
        'none',
        'debian',
        'debian-systemd',
        'debian-sysv',
        'freebsd',
        'gentoo-openrc',
        'gentoo-systemd',
        'macos-launchd',
        'netbsd',
        'openbsd',
        'openrc',
        'redhat-systemd',
        'solaris',
        'suse-systemd',
        'systemd',
    ],
    value: 'none',
    description: 'Use OS specific init config',
)
option(
    'with-cnid-default-backend',
    type: 'combo',
    choices: [
        'dbd',
        'last',
        'mysql',
    ],
    value: 'dbd',
    description: 'Set default DID scheme',
)
option(
    'with-manual-l10n',
    type: 'array',
    choices: [
        'ja',
    ],
    value: [],
    description: 'Choose the localizations of the html manual to build',
)
