##############################################################################
# Consistency checks

ifneq ($(DEBUG), true)
ifneq ($(DEBUG), false)
$(error DEBUG variable must be set to true or false)
endif
endif

ifneq ($(NETLIB), gnat)
ifneq ($(NETLIB), ipv4)
ifneq ($(NETLIB), ipv6)
$(error NETLIB variable must be set to gnat, ipv6, or ipv4)
endif
endif
endif

ifeq  ($(ENABLE_SHARED), )
ENABLE_SHARED=false
endif

ifeq  ($(XMLADA), )
XMLADA=false
endif

ifeq  ($(LAL), )
LAL=false
endif

ifneq  ($(ZLIB), true)
ZLIB=false
endif

ifndef THREAD_SANITIZER
THREAD_SANITIZER=false
endif

ifndef SSL_DYNAMIC
SSL_DYNAMIC=false
endif

ifeq ($(PRJ_TARGET), vxworks)
ifeq ($(ENABLE_SHARED), true)
$(error shared libraries not supported on cross platforms)
endif
ifeq ($(LAL), true)
$(error LAL not supported on cross platforms)
endif
ifeq ($(LDAP), true)
$(error LDAP not supported on cross platforms)
endif
endif

ifneq ($(ENABLE_SHARED), true)
ifneq ($(ENABLE_SHARED), false)
$(error ENABLE_SHARED variable must be set to true or false)
endif
endif

ifneq ($(THREAD_SANITIZER), true)
ifneq ($(THREAD_SANITIZER), false)
$(error THREAD_SANITIZER variable must be set to true or false)
endif
endif

ifneq ($(SSL_DYNAMIC), true)
ifneq ($(SSL_DYNAMIC), false)
$(error SSL_DYNAMIC variable must be set to true or false)
endif
endif

ifneq ($(LAL), true)
ifneq ($(LAL), false)
$(error LAL variable must be set to true or false)
endif
endif

ifneq ($(XMLADA), true)
ifneq ($(XMLADA), false)
$(error XMLADA variable must be set to true or false)
endif
endif

ifneq ($(LDAP), true)
ifneq ($(LDAP), false)
$(error LDAP variable must be set to true or false)
endif
endif

ifeq ($(LAL), true)
ifeq ($(XMLADA), false)
$(error LaL is set and requires XMLADA to be installed. \
	You may be missing XMLADA=true)
endif
endif

ifeq ($(SOCKET), std)
ifeq ($(SSL_DYNAMIC), true)
# SSL_DYNAMIC can be true only together with SOCKET in openssl | gnutls
SSL_DYNAMIC = false
ifeq ($(SSL_DYNAMIC), true)
# We are here only when SSL_DYNAMIC=true in make setup command line
$(error SSL_DYNAMIC can be true only together with SOCKET = openssl or gnutls)
endif
endif
else # SOCKET /= std
ifneq ($(SOCKET), openssl)
ifneq ($(SOCKET), gnutls)
$(error SOCKET variable must be set to std, openssl or gnutls)
endif
endif
endif

ifneq ($(INSTALL), )
$(error INSTALL variable is deprecated, please use prefix instead)
endif

ifneq ($(SHARED), )
$(error SHARED variable is deprecated, please use ENABLE_SHARED instead)
endif

ifeq ("$(prefix)", "..")
$(error "Wrong install path : prefix='$(prefix)', \
  Check that GNAT is in the PATH")
else
ifeq ("$(prefix)", "")
$(error "Wrong install path : empty prefix variable")
endif
endif
