#
# Automatically generated file; DO NOT EDIT.
# Swupdate Configuration
#
CONFIG_HAVE_DOT_CONFIG=y

#
# Swupdate Settings
#

#
# General Configuration
#
# CONFIG_CURL is not set
# CONFIG_CURL_SSL is not set
# CONFIG_SYSTEMD is not set
CONFIG_SCRIPTS=y
# CONFIG_HW_COMPATIBILITY is not set
CONFIG_SW_VERSIONS_FILE="/etc/sw-versions"

#
# Socket Paths
#
CONFIG_SOCKET_CTRL_PATH="/tmp/sockinstctrl"
CONFIG_SOCKET_PROGRESS_PATH="/tmp/swupdateprog"
CONFIG_SOCKET_REMOTE_HANDLER_DIRECTORY="/tmp/"

#
# MTD support needs libmtd
#

#
# Lua support needs a Lua interpreter
#
# CONFIG_FEATURE_SYSLOG is not set

#
# Build Options
#
CONFIG_CROSS_COMPILE=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""

#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_WERROR is not set
# CONFIG_NOCLEANUP is not set

#
# EFI Boot Guard needs libebgenv and libz
#
CONFIG_BOOTLOADER_NONE=y
# CONFIG_BOOTLOADER_GRUB is not set

#
# U-Boot support needs libubootenv, libz
#
CONFIG_SSL_IMPL_NONE=y

#
# Image downloading support needs libcurl
#

#
# Hash checking needs an SSL implementation
#

#
# Image signature verification needs an SSL implementation
#

#
# Image encryption needs an SSL implementation
#
# CONFIG_SURICATTA is not set
CONFIG_WEBSERVER=y
CONFIG_MONGOOSE=y
CONFIG_MONGOOSEIPV6=y

#
# SSL support needs libcrypto, libssl
#

#
# Parser Features
#
CONFIG_LIBCONFIG=y
CONFIG_PARSERROOT=""

#
# JSON config parser support needs json-c
#
# CONFIG_SETSWDESCRIPTION is not set

#
# Image Handlers
#

#
# ubivol support needs libubi
#
CONFIG_RAW=y
# CONFIG_RDIFFHANDLER is not set
# CONFIG_SHELLSCRIPTHANDLER is not set

#
# archive support needs libarchive
#

#
# remote handler needs zeromq
#

#
# swuforward handler needs json-c and curl
#

#
# SWU forwarder requires libcurl
#

#
# swuforward handler needs json-c and curl
#
# CONFIG_BOOTLOADERHANDLER is not set

#
# Microcontroller handler depends on libgpiod
#
