Files
aws/makefile.conf

304 lines
8.7 KiB
Plaintext
Raw Permalink Normal View History

# 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
# Is out of tree build
ifneq ($(BLD_DIR), $(SRC_DIR))
GPROOTOPTS = --relocate-build-tree=$(BLD_DIR) --root-dir=$(SRC_DIR)
ISOOT := true
else
ISOOT := false
endif
##############################################################################
# HOST platform
HOST := $(shell gcc -dumpmachine)
##############################################################################
# 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), $(HOST))
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
2010-05-02 13:20:03 +00:00
# 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.
#
2008-05-17 10:52:48 +00:00
# ENABLE_SHARED = [true|false]
#
ENABLE_SHARED=$(shell gprbuild -c -q -p $(GPROOTOPTS) \
-XTARGET=$(TARGET) -XPRJ_TARGET=$(PRJ_TARGET) \
-XTGT_DIR=$(TGT_DIR) \
-P$(SRC_DIR)/config/setup/test_shared 2>/dev/null \
&& echo "true")
##############################################################################
# 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.
2008-01-23 12:38:13 +00:00
#
# 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.
2008-01-23 12:38:13 +00:00
#
# 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 gprbuild -q -p $(GPROOTOPTS) \
-XTARGET=$(TARGET) -XPRJ_TARGET=$(PRJ_TARGET) \
-XTGT_DIR=$(TGT_DIR) \
-Pconfig/setup/test_zlib 2>/dev/null \
&& $(BLD_DIR)/$(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]
2008-01-23 12:38:13 +00:00
#
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.
2008-01-23 12:38:13 +00:00
#
2008-05-17 10:52:48 +00:00
# SOCKET = [std|openssl|gnutls]
#
SOCKET = std
2022-01-21 13:50:54 +06:00
##############################################################################
# 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.
2022-01-21 13:50:54 +06:00
#
# SSL_DYNAMIC = [true|false]
#
SSL_DYNAMIC = false
2003-02-01 10:54:19 +00:00
##############################################################################
2004-04-14 15:54:36 +00:00
# AWS provides a binding to the LDAP API. This binding will use the standard
2003-02-01 10:54:19 +00:00
# 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.
#
2008-05-17 10:52:48 +00:00
# LDAP = [true|false]
2008-01-23 12:38:13 +00:00
#
LDAP = false
2003-02-01 10:54:19 +00:00
##############################################################################
# To activate the debug mode just uncomment the variable below. This will
# build AWS with debug information and will output more build information.
2008-01-23 12:38:13 +00:00
#
2008-05-17 10:52:48 +00:00
# DEBUG = [true|false]
#
2018-10-09 18:10:27 +02:00
DEBUG = true
##############################################################################
# Number of parallel compilations to do.
#
PROCESSORS = 0
##############################################################################
# HTTP2 server activated
#
SERVER_HTTP2 = $(strip \
$(shell sed -n 's/HTTP2_Activated.*:= *\([a-zA-Z]*\);/\1/p' \
$(SRC_DIR)/src/core/aws-default.ads | \
tr '[:upper:]' '[:lower:]'))
##############################################################################
# HTTP2 client activated
#
C_HTTP2 = $(shell sed -n 's/HTTP_Default.* renames *\([a-zA-Z1-9]*\);/\1/p' \
$(SRC_DIR)/src/core/aws-client.ads)
ifeq ($(strip $(C_HTTP2)),HTTPv1)
CLIENT_HTTP2=false
else
CLIENT_HTTP2=true
endif
##############################################################################
# Tools used by AWS
#
2004-04-19 09:23:27 +00:00
CP = cp -p
GNAT = gnat
GPRBUILD = gprbuild
GPRCLEAN = gprclean
GPRINSTALL = gprinstall
GPS = gps
MKDIR = mkdir -p
PYTHON = python
2004-04-19 09:23:27 +00:00
RM = rm
SED = sed
##############################################################################
# Load current setup if any
#
-include $(BLD_DIR)/$(TARGET)/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.
#
EXEEXT =
ifeq ($(strip $(findstring vxworks, $(TARGET))),vxworks)
PRJ_TARGET = vxworks
OS = UNIX
else
ifeq ($(strip $(findstring mingw32, $(TARGET))),mingw32)
PRJ_TARGET = Windows_NT
EXEEXT = .exe
OS = Windows_NT
else
ifeq ($(strip $(findstring darwin, $(TARGET))),darwin)
PRJ_TARGET = Darwin
OS = Darwin
else
ifeq ($(strip $(findstring freebsd, $(TARGET))),freebsd)
PRJ_TARGET = freebsd
else
PRJ_TARGET = UNIX
endif
OS = UNIX
endif
endif
endif
ifeq ($(TARGET), $(shell gcc -dumpmachine))
IS_CROSS=false
GCC= gcc
else
IS_CROSS=true
GCC = $(TARGET)-gcc
endif
# XML/Ada
ifeq (${XMLADA}, true)
PRJ_XMLADA=Installed
GEXT_MODULE := gxmlada_setup
else
PRJ_XMLADA=Disabled
GEXT_MODULE := gxmlada_dummy
endif
ifndef TP_XMLADA
TP_XMLADA=$(PRJ_XMLADA)
endif
# Ldap
ifeq (${LDAP}, true)
PRJ_LDAP=Installed
else
PRJ_LDAP=Disabled
endif
# LAL
ifeq (${LAL}, true)
PRJ_LAL=Installed
GEXT_MODULE := $(GEXT_MODULE) lal_setup
else
PRJ_LAL=Disabled
GEXT_MODULE := $(GEXT_MODULE) lal_dummy
endif
# Sockets
PRJ_SOCKLIB=$(NETLIB)
# Debug
ifeq ($(DEBUG), true)
PRJ_BUILD=Debug
else
PRJ_BUILD=Release
endif
ifeq ($(IS_CROSS), true)
TPREFIX=$(DESTDIR)$(prefix)/$(TARGET)
else
TPREFIX=$(DESTDIR)$(prefix)
endif
# Install directories
I_INC = $(TPREFIX)/include/aws
GPROPTS = -XPRJ_BUILD=$(PRJ_BUILD) -XPRJ_SOCKLIB=$(PRJ_SOCKLIB) \
-XPRJ_LDAP=$(PRJ_LDAP) \
-XPRJ_XMLADA=$(PRJ_XMLADA) -XPRJ_LAL=$(PRJ_LAL) \
-XPROCESSORS=$(PROCESSORS) -XSOCKET=$(SOCKET) \
-XPRJ_TARGET=$(PRJ_TARGET) -XTARGET=$(TARGET) \
-XTHREAD_SANITIZER=$(THREAD_SANITIZER) \
-XSSL_DYNAMIC=$(SSL_DYNAMIC) -XTGT_DIR=$(TGT_DIR) \
$(GPROOTOPTS)
export GPROPTS
GPR_STATIC = -XLIBRARY_TYPE=static -XXMLADA_BUILD=static
GPR_SHARED = -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
# Get PATH separator for the host
ifeq ($(strip $(findstring mingw32, $(HOST))),mingw32)
PSEP = ;
else
PSEP = :
endif