mirror of
https://github.com/AdaCore/aws.git
synced 2026-02-12 12:29:46 -08:00
217 lines
7.1 KiB
Plaintext
217 lines
7.1 KiB
Plaintext
|
|
# This makefile includes all default values used to configure AWS. You can
|
|
# update variables here or set the corresponding variable on the command
|
|
# line. You should not have do change the main makefile.
|
|
#
|
|
# IMPORTANT: each time you change the definitions here make sure you run
|
|
# $ make setup
|
|
|
|
##############################################################################
|
|
# TARGET platform
|
|
#
|
|
# TARGET is the name for gprbuild --target option
|
|
#
|
|
TARGET = $(shell gcc -dumpmachine)
|
|
|
|
##############################################################################
|
|
# AWS will be installed under $(prefix). Update this variable to point to
|
|
# the install directory. By default, it is set to the current GNAT root
|
|
# directory to have AWS project files automatically available.
|
|
#
|
|
|
|
ifeq ($(TARGET), $(shell gcc -dumpmachine))
|
|
prefix = $(dir $(shell which gnatls))..
|
|
else
|
|
prefix = $(dir $(shell which $(TARGET)-gnatls))..
|
|
endif
|
|
|
|
##############################################################################
|
|
# Set to true if the AWS shared runtime must be built. If ENABLE_SHARED is
|
|
# set to false only the static version is built. The default value is true if
|
|
# the platform supports shared libraries.
|
|
#
|
|
# Note that all dependents libraries (like XML/Ada) must have been compiled
|
|
# and installed as shared libraries if this option is set.
|
|
#
|
|
# ENABLE_SHARED = [true|false]
|
|
#
|
|
ENABLE_SHARED=$(shell $(GNAT) make -c -q -p \
|
|
-XTARGET=$(TARGET) -XPRJ_TARGET=$(PRJ_TARGET) \
|
|
-Pconfig/setup/test_shared 2>/dev/null && echo "true")
|
|
|
|
##############################################################################
|
|
# Specify the default library type to setup for the installed AWS project.
|
|
#
|
|
# DEFAULT_LIBRARY_TYPE = [static|relocatable]
|
|
#
|
|
DEFAULT_LIBRARY_TYPE = static
|
|
|
|
##############################################################################
|
|
# XMLADA optional, needed if you want to build SOAP's AWS support. Set XMLADA
|
|
# to true to activate XML/Ada support, you must also set ADA_PROJECT_PATH
|
|
# to point to the XML/Ada project files if not installed in the standard
|
|
# location.
|
|
#
|
|
# XMLADA = [true/false]
|
|
#
|
|
ifeq ($(shell gnat ls -Pxmlada 2>&1 | grep 'project file .* not found'),)
|
|
XMLADA = true
|
|
else
|
|
XMLADA = false
|
|
endif
|
|
|
|
##############################################################################
|
|
# LAL optional, needed if you want to build ada2wsdl tool. This tool can be
|
|
# used to create a WSDL document from an Ada spec. Set LAL to true to
|
|
# activate LAL support. You must also set ADA_PROJECT_PATH to point to the
|
|
# LAL project files if not installed in the standard location.
|
|
#
|
|
# If you activate LAL you also need to activate XMLADA above.
|
|
#
|
|
# LAL = [true|false]
|
|
#
|
|
ifeq ($(shell gnat ls -Plibadalang 2>&1 | grep 'project file .* not found'),)
|
|
LAL = true
|
|
else
|
|
LAL = false
|
|
endif
|
|
|
|
##############################################################################
|
|
# Zlib mandatory, check if zlib is already installed and recent enought,
|
|
# otherwise compile the one coming with AWS.
|
|
#
|
|
# ZLIB = [true|false]
|
|
#
|
|
ZLIB = $(shell $(GNAT) make -q -p \
|
|
-XTARGET=$(TARGET) -XPRJ_TARGET=$(PRJ_TARGET) \
|
|
-Pconfig/setup/test_zlib 2>/dev/null \
|
|
&& .build/$(TARGET)/setup/zobj/mzlib \
|
|
&& echo "true")
|
|
|
|
##############################################################################
|
|
# NETLIB, optional. "gnat" option works on GNAT 20 version ans later. If you
|
|
# need backward compartibility you can choose either "ipv4" or "ipv6". "ipv4"
|
|
# based on GNAT.Sockets functionality without using new functions. "ipv6"
|
|
# option ipmlementing IPv6 functions without relation to GNAT.Sockets.
|
|
#
|
|
# NETLIB = [gnat|ipv6|ipv4]
|
|
#
|
|
NETLIB = gnat
|
|
|
|
##############################################################################
|
|
# AWS supports SSL (Secure Socket Layer). To build AWS's with SSL support
|
|
# you need to set SOCKET to openssl or gnutls, in this case you must have
|
|
# installed the corresponding SSL library on your computer.
|
|
#
|
|
# SOCKET = [std|openssl|gnutls]
|
|
#
|
|
SOCKET = std
|
|
|
|
##############################################################################
|
|
# AWS supports SSL (Secure Socket Layer). To be able to support SSL optionally
|
|
# at runtime only when appropriate dynamic libraries is available in search
|
|
# path, use this option. This option can be true only when SOCKET option has
|
|
# either "openssl" or "gnutls" value. If this option is true, application
|
|
# linked with AWS can start even if SSL library not found in dynamic library
|
|
# search pathes but runtime exception will be raised in attempt to open secure
|
|
# connection.
|
|
#
|
|
# SSL_DYNAMIC = [true|false]
|
|
#
|
|
SSL_DYNAMIC = false
|
|
|
|
##############################################################################
|
|
# AWS provides a binding to the LDAP API. This binding will use the standard
|
|
# LDAP DLL provided with Windows OS. On GNU/Linux you need to install OpenLDAP
|
|
# if it is not already installed. If LDAP is installed on your system you can
|
|
# set LDAP=true below.
|
|
#
|
|
# LDAP = [true|false]
|
|
#
|
|
LDAP = false
|
|
|
|
##############################################################################
|
|
# To activate the debug mode just uncomment the variable below. This will
|
|
# build AWS with debug information and will output more build information.
|
|
#
|
|
# DEBUG = [true|false]
|
|
#
|
|
DEBUG = true
|
|
|
|
##############################################################################
|
|
# Number of parallel compilations to do.
|
|
#
|
|
PROCESSORS = 0
|
|
|
|
##############################################################################
|
|
# HTTP2 server activated
|
|
#
|
|
SERVER_HTTP2 = $(strip \
|
|
$(shell sed -ns 's/HTTP2_Activated.*:= *\([a-zA-Z]*\);/\1/p' \
|
|
src/core/aws-default.ads | tr '[:upper:]' '[:lower:]'))
|
|
|
|
##############################################################################
|
|
# HTTP2 client activated
|
|
#
|
|
C_HTTP2 = $(shell sed -ns 's/HTTP_Default.* renames *\([a-zA-Z1-9]*\);/\1/p' \
|
|
src/core/aws-client.ads)
|
|
|
|
ifeq ($(strip $(C_HTTP2)),HTTPv1)
|
|
CLIENT_HTTP2=false
|
|
else
|
|
CLIENT_HTTP2=true
|
|
endif
|
|
|
|
##############################################################################
|
|
# Tools used by AWS
|
|
#
|
|
CP = cp -p
|
|
GNAT = gnat
|
|
GPRBUILD = gprbuild
|
|
GPRCLEAN = gprclean
|
|
GPRINSTALL = gprinstall
|
|
GPS = gps
|
|
MKDIR = mkdir -p
|
|
PYTHON = python
|
|
RM = rm
|
|
SED = sed
|
|
|
|
##############################################################################
|
|
# Load current setup if any
|
|
#
|
|
-include makefile.setup
|
|
# user setup
|
|
|
|
##############################################################################
|
|
# Compute PRJ_TARGET which is a simplified set for the TARGET value.
|
|
# It can be UNIX, Darwin, Windows_NT and vxworks.
|
|
#
|
|
ifeq ($(strip $(findstring vxworks, $(TARGET))),vxworks)
|
|
PRJ_TARGET=vxworks
|
|
else
|
|
ifeq ($(strip $(findstring mingw32, $(TARGET))),mingw32)
|
|
PRJ_TARGET=Windows_NT
|
|
else
|
|
ifeq ($(strip $(findstring darwin, $(TARGET))),darwin)
|
|
PRJ_TARGET=Darwin
|
|
else
|
|
ifeq ($(strip $(findstring freebsd, $(TARGET))),freebsd)
|
|
PRJ_TARGET=freebsd
|
|
else
|
|
PRJ_TARGET=UNIX
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
OTHER_LIBRARY_TYPE = \
|
|
$(if $(filter-out static,$(DEFAULT_LIBRARY_TYPE)),static,relocatable)
|
|
|
|
ifeq ($(TARGET), $(shell gcc -dumpmachine))
|
|
IS_CROSS=false
|
|
GCC= gcc
|
|
else
|
|
IS_CROSS=true
|
|
GCC = $(TARGET)-gcc
|
|
endif
|