# Copyright (c) 2019 Antmicro Ltd
# SPDX-License-Identifier: Apache-2.0

config CIVETWEB
	bool "Civetweb Support"
	# The CONFIG_NET_TCP_ISN_RFC6528 option would pull in mbedtls,
	# and there are include file issues if CONFIG_POSIX_API is set.
	# Because Civetweb sets the POSIX API option in the samples,
	# make sure that we do not try to use Civetweb if the TCP ISN
	# option is set.
	depends on !NET_TCP_ISN_RFC6528
	help
	  This option enables the civetweb HTTP API.
