2004-02-10 11:44:14 +01:00
|
|
|
# Configure script for libada.
|
2022-01-03 10:42:10 +01:00
|
|
|
# Copyright (C) 2003-2022 Free Software Foundation, Inc.
|
2004-02-10 11:44:14 +01:00
|
|
|
#
|
|
|
|
# This file is free software; you can redistribute it and/or modify it
|
|
|
|
# under the terms of the GNU General Public License as published by
|
2009-04-09 17:00:19 +02:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
2004-02-10 11:44:14 +01:00
|
|
|
# (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful, but
|
|
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
2009-04-09 17:00:19 +02:00
|
|
|
# along with this program; see the file COPYING3. If not see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
2004-02-10 11:44:14 +01:00
|
|
|
|
2008-06-18 01:13:35 +02:00
|
|
|
sinclude(../config/acx.m4)
|
2009-07-13 22:04:33 +02:00
|
|
|
sinclude(../config/multi.m4)
|
2008-06-18 01:13:35 +02:00
|
|
|
sinclude(../config/override.m4)
|
2011-08-22 18:54:02 +02:00
|
|
|
sinclude(../config/picflag.m4)
|
2020-01-24 12:24:25 +01:00
|
|
|
sinclude(../config/toolexeclibdir.m4)
|
2009-10-24 12:58:31 +02:00
|
|
|
sinclude(../config/unwind_ipinfo.m4)
|
2008-06-18 01:13:35 +02:00
|
|
|
|
2004-03-02 15:35:09 +01:00
|
|
|
AC_INIT
|
2004-02-10 11:44:14 +01:00
|
|
|
|
2004-04-15 05:38:59 +02:00
|
|
|
AC_CONFIG_SRCDIR([Makefile.in])
|
|
|
|
|
2006-11-17 11:31:47 +01:00
|
|
|
# Determine the host, build, and target systems
|
|
|
|
AC_CANONICAL_BUILD
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
AC_CANONICAL_TARGET
|
2009-07-13 22:04:33 +02:00
|
|
|
target_alias=${target_alias-$host_alias}
|
2006-11-17 11:31:47 +01:00
|
|
|
|
|
|
|
# Determine the noncanonical target name, for directory use.
|
|
|
|
ACX_NONCANONICAL_TARGET
|
|
|
|
|
|
|
|
# Determine the target- and build-specific subdirectories
|
|
|
|
GCC_TOPLEV_SUBDIRS
|
|
|
|
|
2004-04-15 05:38:59 +02:00
|
|
|
# Command-line options.
|
libada: Respect `--enable-version-specific-runtime-libs'
Respect the `--enable-version-specific-runtime-libs' configuration
option in libada/, so that shared gnatlib libraries will be installed
in non-version-specific $(toolexeclibdir) if requested. In a
cross-compilation environment this helps setting up a consistent
sysroot, which can then be shared between the host and the target
system.
This lets one have `libgnarl-10.so' and `libgnat-10.so' installed in say
/usr/lib and /usr/$(target_alias)/lib for a native and a cross-build
respectively, rather than in /usr/lib/gcc/$(target_alias)/10.0.0/adalib.
Update the settings of $(toolexecdir) and $(toolexeclibdir), unused till
now, to keep the current arrangement in the version-specific case and
make the new option to be enabled by default, unlike with the other
target libraries, so as to keep existing people's build infrastructure
unaffected.
Of course if someone does use `--disable-version-specific-runtime-libs'
already, then the installation location of shared gnatlib libraries will
change, but presumably this is what they do want anyway as the current
situation where the option is ignored in libada/ only is an anomaly
really rather than one that is expected or desired.
gcc/ada/
* gcc-interface/Makefile.in (ADA_RTL_DSO_DIR): New variable.
(install-gnatlib): Use it in place of ADA_RTL_OBJ_DIR for shared
library installation.
libada/
* Makefile.in (toolexecdir, toolexeclibdir): New variables.
(LIBADA_FLAGS_TO_PASS): Add `toolexeclibdir'.
* configure.ac: Add `--enable-version-specific-runtime-libs'.
Update version-specific `toolexecdir' and `toolexeclibdir' from
ADA_RTL_OBJ_DIR from gcc/ada/gcc-interface/Makefile.in.
* configure: Regenerate.
From-SVN: r276424
2019-10-01 21:14:11 +02:00
|
|
|
|
|
|
|
AC_ARG_ENABLE(version-specific-runtime-libs,
|
|
|
|
[AS_HELP_STRING([--enable-version-specific-runtime-libs],
|
|
|
|
[specify that runtime libraries should be
|
|
|
|
installed in a compiler-specific directory])],
|
|
|
|
[case "$enableval" in
|
|
|
|
yes|no)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_ERROR([--enable-version-specific-runtime-libs must be yes or no])
|
|
|
|
;;
|
|
|
|
esac],
|
|
|
|
[enable_version_specific_runtime_libs=yes]
|
|
|
|
)
|
|
|
|
|
2004-02-10 11:44:14 +01:00
|
|
|
# Very limited version of AC_MAINTAINER_MODE.
|
2004-04-15 05:38:59 +02:00
|
|
|
AC_ARG_ENABLE([maintainer-mode],
|
|
|
|
[AC_HELP_STRING([--enable-maintainer-mode],
|
2004-02-10 11:44:14 +01:00
|
|
|
[enable make rules and dependencies not useful (and
|
2004-04-15 05:38:59 +02:00
|
|
|
sometimes confusing) to the casual installer])],
|
2004-02-10 11:44:14 +01:00
|
|
|
[case ${enable_maintainer_mode} in
|
|
|
|
yes) MAINT='' ;;
|
|
|
|
no) MAINT='#' ;;
|
|
|
|
*) AC_MSG_ERROR([--enable-maintainer-mode must be yes or no]) ;;
|
|
|
|
esac
|
|
|
|
maintainer_mode=${enableval}],
|
|
|
|
[MAINT='#'])
|
|
|
|
AC_SUBST([MAINT])dnl
|
|
|
|
|
2020-01-24 12:24:25 +01:00
|
|
|
GCC_WITH_TOOLEXECLIBDIR
|
|
|
|
|
2008-09-21 13:45:23 +02:00
|
|
|
AM_ENABLE_MULTILIB(, ..)
|
|
|
|
# Calculate toolexeclibdir
|
|
|
|
# Also toolexecdir, though it's only used in toolexeclibdir
|
|
|
|
case ${enable_version_specific_runtime_libs} in
|
|
|
|
yes)
|
|
|
|
# Need the gcc compiler version to know where to install libraries
|
|
|
|
# and header files if --enable-version-specific-runtime-libs option
|
|
|
|
# is selected.
|
libada: Respect `--enable-version-specific-runtime-libs'
Respect the `--enable-version-specific-runtime-libs' configuration
option in libada/, so that shared gnatlib libraries will be installed
in non-version-specific $(toolexeclibdir) if requested. In a
cross-compilation environment this helps setting up a consistent
sysroot, which can then be shared between the host and the target
system.
This lets one have `libgnarl-10.so' and `libgnat-10.so' installed in say
/usr/lib and /usr/$(target_alias)/lib for a native and a cross-build
respectively, rather than in /usr/lib/gcc/$(target_alias)/10.0.0/adalib.
Update the settings of $(toolexecdir) and $(toolexeclibdir), unused till
now, to keep the current arrangement in the version-specific case and
make the new option to be enabled by default, unlike with the other
target libraries, so as to keep existing people's build infrastructure
unaffected.
Of course if someone does use `--disable-version-specific-runtime-libs'
already, then the installation location of shared gnatlib libraries will
change, but presumably this is what they do want anyway as the current
situation where the option is ignored in libada/ only is an anomaly
really rather than one that is expected or desired.
gcc/ada/
* gcc-interface/Makefile.in (ADA_RTL_DSO_DIR): New variable.
(install-gnatlib): Use it in place of ADA_RTL_OBJ_DIR for shared
library installation.
libada/
* Makefile.in (toolexecdir, toolexeclibdir): New variables.
(LIBADA_FLAGS_TO_PASS): Add `toolexeclibdir'.
* configure.ac: Add `--enable-version-specific-runtime-libs'.
Update version-specific `toolexecdir' and `toolexeclibdir' from
ADA_RTL_OBJ_DIR from gcc/ada/gcc-interface/Makefile.in.
* configure: Regenerate.
From-SVN: r276424
2019-10-01 21:14:11 +02:00
|
|
|
toolexecdir='$(libdir)/gcc/$(target_noncanonical)'
|
|
|
|
toolexeclibdir='$(toolexecdir)/$(version)$(MULTISUBDIR)/adalib'
|
2008-09-21 13:45:23 +02:00
|
|
|
;;
|
|
|
|
no)
|
|
|
|
if test -n "$with_cross_host" &&
|
|
|
|
test x"$with_cross_host" != x"no"; then
|
|
|
|
# Install a library built with a cross compiler in tooldir, not libdir.
|
|
|
|
toolexecdir='$(exec_prefix)/$(target_alias)'
|
2020-01-24 12:24:25 +01:00
|
|
|
case ${with_toolexeclibdir} in
|
|
|
|
no)
|
|
|
|
toolexeclibdir='$(toolexecdir)/lib'
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
toolexeclibdir=${with_toolexeclibdir}
|
|
|
|
;;
|
|
|
|
esac
|
2008-09-21 13:45:23 +02:00
|
|
|
else
|
|
|
|
toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
|
|
|
|
toolexeclibdir='$(libdir)'
|
|
|
|
fi
|
|
|
|
multi_os_directory=`$CC -print-multi-os-directory`
|
|
|
|
case $multi_os_directory in
|
|
|
|
.) ;; # Avoid trailing /.
|
|
|
|
*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_SUBST(toolexecdir)
|
|
|
|
AC_SUBST(toolexeclibdir)
|
|
|
|
|
|
|
|
# Check the compiler.
|
|
|
|
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
|
|
|
|
# We must force CC to /not/ be precious variables; otherwise
|
|
|
|
# the wrong, non-multilib-adjusted value will be used in multilibs.
|
|
|
|
# As a side effect, we have to subst CFLAGS ourselves.
|
|
|
|
|
|
|
|
m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
|
|
|
|
m4_define([_AC_ARG_VAR_PRECIOUS],[])
|
|
|
|
AC_PROG_CC
|
2009-07-30 21:41:13 +02:00
|
|
|
m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
|
2008-09-21 13:45:23 +02:00
|
|
|
|
|
|
|
AC_SUBST(CFLAGS)
|
|
|
|
|
2004-04-15 05:38:59 +02:00
|
|
|
AC_ARG_ENABLE([shared],
|
|
|
|
[AC_HELP_STRING([--disable-shared],
|
|
|
|
[don't provide a shared libgnat])],
|
|
|
|
[
|
|
|
|
case $enable_shared in
|
2004-02-10 11:44:14 +01:00
|
|
|
yes | no) ;;
|
|
|
|
*)
|
|
|
|
enable_shared=no
|
|
|
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
|
|
|
for pkg in $enableval; do
|
2004-04-15 05:38:59 +02:00
|
|
|
case $pkg in
|
|
|
|
ada | libada)
|
|
|
|
enable_shared=yes ;;
|
|
|
|
esac
|
2004-02-10 11:44:14 +01:00
|
|
|
done
|
|
|
|
IFS="$ac_save_ifs"
|
|
|
|
;;
|
2004-04-15 05:38:59 +02:00
|
|
|
esac
|
2004-02-10 11:44:14 +01:00
|
|
|
], [enable_shared=yes])
|
2004-04-15 05:38:59 +02:00
|
|
|
AC_SUBST([enable_shared])
|
|
|
|
|
2011-08-22 18:54:02 +02:00
|
|
|
GCC_PICFLAG
|
|
|
|
AC_SUBST([PICFLAG])
|
|
|
|
|
2009-08-30 16:26:37 +02:00
|
|
|
# These must be passed down, or are needed by gcc/libgcc.mvars
|
|
|
|
AC_PROG_AWK
|
2004-04-15 05:38:59 +02:00
|
|
|
AC_PROG_LN_S
|
|
|
|
|
|
|
|
# Determine what to build for 'gnatlib'
|
2017-06-01 12:51:15 +02:00
|
|
|
if test ${enable_shared} = yes; then
|
2004-04-15 05:38:59 +02:00
|
|
|
default_gnatlib_target="gnatlib-shared"
|
|
|
|
else
|
2018-12-12 00:04:39 +01:00
|
|
|
default_gnatlib_target="gnatlib"
|
2004-04-15 05:38:59 +02:00
|
|
|
fi
|
|
|
|
AC_SUBST([default_gnatlib_target])
|
2004-04-25 23:29:37 +02:00
|
|
|
|
2009-10-24 12:58:31 +02:00
|
|
|
# Check for _Unwind_GetIPInfo
|
|
|
|
GCC_CHECK_UNWIND_GETIPINFO
|
|
|
|
if test x$have_unwind_getipinfo = xyes; then
|
|
|
|
have_getipinfo=-DHAVE_GETIPINFO
|
2017-06-01 12:51:15 +02:00
|
|
|
else
|
|
|
|
have_getipinfo=
|
2009-10-24 12:58:31 +02:00
|
|
|
fi
|
2017-06-01 12:51:15 +02:00
|
|
|
AC_SUBST([have_getipinfo])
|
2009-10-24 12:58:31 +02:00
|
|
|
|
2017-05-22 09:17:48 +02:00
|
|
|
# Check for <sys/capability.h>
|
|
|
|
AC_CHECK_HEADER([sys/capability.h], have_capability=-DHAVE_CAPABILITY, have_capability=)
|
2017-06-01 12:51:15 +02:00
|
|
|
AC_SUBST([have_capability])
|
2017-05-22 09:17:48 +02:00
|
|
|
|
2017-01-17 10:38:48 +01:00
|
|
|
# Determine what GCC version number to use in filesystem paths.
|
|
|
|
GCC_BASE_VER
|
|
|
|
|
2004-04-15 05:38:59 +02:00
|
|
|
# Output: create a Makefile.
|
|
|
|
AC_CONFIG_FILES([Makefile])
|
2004-02-10 11:44:14 +01:00
|
|
|
|
|
|
|
AC_OUTPUT
|