configure.ac 4.5 KB
Newer Older
1
# Configure script for libada.
2
#   Copyright (C) 2003-2018 Free Software Foundation, Inc.
3 4 5
#
# 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
6
# the Free Software Foundation; either version 3 of the License, or
7 8 9 10 11 12 13 14
# (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
15 16
# along with this program; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.
17

18
sinclude(../config/acx.m4)
19
sinclude(../config/multi.m4)
20
sinclude(../config/override.m4)
21
sinclude(../config/picflag.m4)
22
sinclude(../config/unwind_ipinfo.m4)
23

24
AC_INIT
25
AC_PREREQ([2.64])
26

27 28
AC_CONFIG_SRCDIR([Makefile.in])

29 30 31 32
# Determine the host, build, and target systems
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
33
target_alias=${target_alias-$host_alias}
34 35 36 37 38 39 40

# Determine the noncanonical target name, for directory use.
ACX_NONCANONICAL_TARGET

# Determine the target- and build-specific subdirectories
GCC_TOPLEV_SUBDIRS

41
# Command-line options.
42
# Very limited version of AC_MAINTAINER_MODE.
43 44
AC_ARG_ENABLE([maintainer-mode],
  [AC_HELP_STRING([--enable-maintainer-mode],
45
                 [enable make rules and dependencies not useful (and
46
                  sometimes confusing) to the casual installer])],
47 48 49 50 51 52 53 54 55
  [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

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
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.
    toolexecdir='$(libdir)/gcc/$(target_alias)'
    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
    ;;
  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)'
      toolexeclibdir='$(toolexecdir)/lib'
    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)
#TODO: toolexeclibdir is currently disregarded

# 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
97
m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
98 99 100

AC_SUBST(CFLAGS)

101 102 103 104 105
AC_ARG_ENABLE([shared],
[AC_HELP_STRING([--disable-shared],
                [don't provide a shared libgnat])],
[
case $enable_shared in
106 107 108 109 110
  yes | no) ;;
  *)
    enable_shared=no
    IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
    for pkg in $enableval; do
111 112 113 114
      case $pkg in
        ada | libada)
          enable_shared=yes ;;
      esac
115 116 117
    done
    IFS="$ac_save_ifs"
    ;;
118
esac
119
], [enable_shared=yes])
120 121
AC_SUBST([enable_shared])

122 123 124
GCC_PICFLAG
AC_SUBST([PICFLAG])

125 126
# These must be passed down, or are needed by gcc/libgcc.mvars
AC_PROG_AWK
127 128 129
AC_PROG_LN_S

# Determine what to build for 'gnatlib'
130
if test ${enable_shared} = yes; then
131 132
  default_gnatlib_target="gnatlib-shared"
else
133
  default_gnatlib_target="gnatlib-plain"
134 135
fi
AC_SUBST([default_gnatlib_target])
136

137 138 139 140
# Check for _Unwind_GetIPInfo
GCC_CHECK_UNWIND_GETIPINFO
if test x$have_unwind_getipinfo = xyes; then
  have_getipinfo=-DHAVE_GETIPINFO
141 142
else
  have_getipinfo=
143
fi
144
AC_SUBST([have_getipinfo])
145

146 147
# Check for <sys/capability.h>
AC_CHECK_HEADER([sys/capability.h], have_capability=-DHAVE_CAPABILITY, have_capability=)
148
AC_SUBST([have_capability])
149

150 151 152
# Determine what GCC version number to use in filesystem paths.
GCC_BASE_VER

153 154
# Output: create a Makefile.
AC_CONFIG_FILES([Makefile])
155 156

AC_OUTPUT