1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
## This file is copied from GNATCOLL. Ideally, XML/Ada should
## depend on gnatcoll and let the latter compute once and for all
## whether the system supports shared libraries and whether the
## user wants them, but this is not the case currently.
AC_DEFUN(AM_SO_SUFFIX,
[
case $target_os in
*darwin*) SO_EXT=.dylib ;;
*cygwin*|*mingw*) SO_EXT=.dll ;;
*) SO_EXT=.so ;;
esac
AC_SUBST(SO_EXT)
])
#############################################################
# Checking for build type
#############################################################
AC_DEFUN(CHECK_BUILD_TYPE,
[
AC_ARG_ENABLE(build,
[AC_HELP_STRING(
[--enable-build=<type>],
[Default build type for the library (Debug, Production)])],
BUILD_TYPE=$enableval,
BUILD_TYPE=Production)
AC_SUBST(BUILD_TYPE)
]
)
#############################################################
# Check whether GNAT on that target supports building shared
# libraries
# The following variables is exported by configure:
# @gprbuild@: the gprbuild command to use
# @GNAT_BUILDS_SHARED@: either "yes" or "no"
# @DEFAULT_LIBRARY_TYPE@: either "static" or "relocatable"
# This is only set to "relocatable" if the user explicitly
# added --enable-shared. Otherwise, even if we detect that
# shared libs are available, we will still use static as the
# safe default.
#############################################################
AC_DEFUN(AM_GNAT_BUILDS_SHARED,
[
AC_MSG_CHECKING(whether gnat can build shared libs)
DEFAULT_LIBRARY_TYPE=static
AC_ARG_ENABLE(shared,
[AC_HELP_STRING(
[--disable-shared],
[Disable building of shared libraries])
AC_HELP_STRING(
[--enable-shared],
[Build shared libraries if supported on the target
Make them the installation default])],
[GNAT_BUILDS_SHARED=$enableval
if test $enableval = yes; then
DEFAULT_LIBRARY_TYPE=relocatable
fi],
[GNAT_BUILDS_SHARED=yes])
gprinstall=gprinstall
AC_SUBST(gprinstall)
gprbuild=gprbuild
AC_SUBST(gprbuild)
if test x$GNAT_BUILDS_SHARED = xyes; then
# Create a temporary directory (from "info autoconf")
: ${TMPDIR=/tmp}
{
tmp=`(umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null` \
&& test -n "$tmp" && test -d "$tmp"
} || {
tmp=$TMPDIR/foo$$-$RANDOM
(umask 077 && mkdir -p "$tmp")
} || exit $?
mkdir $tmp/lib
echo "package Foo is end Foo;" > $tmp/foo.ads
cat > $tmp/lib.gpr <<EOF
project Lib is
for Source_Dirs use (".");
for Library_Dir use "lib";
for Library_Name use "lib";
for Library_Kind use "relocatable";
end Lib;
EOF
if test "x$host_alias" != "x$target_alias"; then
$gprbuild --target=$target_alias -c -q -P$tmp/lib 2>/dev/null
else
$gprbuild -c -q -P$tmp/lib 2>/dev/null
fi
if test $? = 0 ; then
GNAT_BUILDS_SHARED=yes
else
GNAT_BUILDS_SHARED=no
fi
rm -rf $tmp
AC_MSG_RESULT($GNAT_BUILDS_SHARED)
else
AC_MSG_RESULT([no (--disabled-shared)])
fi
AC_SUBST(GNAT_BUILDS_SHARED)
AC_SUBST(DEFAULT_LIBRARY_TYPE)
])
|