mirror of
https://github.com/AdaCore/aws.git
synced 2026-02-12 12:29:46 -08:00
This new implementation is based on LaL and do not use ASIS anymore. The -I options has been removed as not supported anymore. The LaL parser is project based exclusively. Some expected output have been updated as the new implementation does better work with the name-space by avoiding generating some NS that are not used. So the NS prefix may be different. We disable the check on routines ordering in ada2wsdl-parser.adb as some generics make it impossible to follow this rule. Note that this new implementation does far better job as computing the range (range <low> .. <high>) and array indexes. The new parser walk up the tree and do proper computation of the values instead of relying on some simple format checked by regexp. So for example a range like: range 1 + 6 - 4 .. integer'last - 7 Will be properly computed avoiding some restriction on the specs. For S415-009.
185 lines
5.9 KiB
Plaintext
185 lines
5.9 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 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
|
|
|
|
##############################################################################
|
|
# 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
|