1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ([2.64])
5AC_INIT([GNU Vtable Verification Runtime Library], 1.0,,[libvtv])
6#AC_INIT(package-unused, version-unused, libvtv)
7AC_CONFIG_SRCDIR([vtv_rts.h])
8
9# -------
10# Options
11# -------
12AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
13AC_ARG_ENABLE(version-specific-runtime-libs,
14[  --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory ],
15[case "$enableval" in
16 yes) version_specific_libs=yes ;;
17 no)  version_specific_libs=no ;;
18 *)   AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
19 esac],
20[version_specific_libs=no])
21AC_MSG_RESULT($version_specific_libs)
22
23# Do not delete or change the following two lines.  For why, see
24# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
25AC_CANONICAL_SYSTEM
26target_alias=${target_alias-$host_alias}
27AC_SUBST(target_alias)
28GCC_LIBSTDCXX_RAW_CXX_FLAGS
29
30# Use same top-level configure hooks in libgcc/libstdc++/libvtv.
31AC_MSG_CHECKING([for --enable-vtable-verify])
32AC_ARG_ENABLE(vtable-verify,
33[  --enable-vtable-verify    Enable vtable verification feature ],
34[case "$enableval" in
35 yes) enable_vtable_verify=yes ;;
36 no)  enable_vtable_verify=no ;;
37 *)   enable_vtable_verify=no;;
38 esac],
39[enable_vtable_verify=no])
40AC_MSG_RESULT($enable_vtable_verify)
41
42# See if supported.
43unset VTV_SUPPORTED
44AC_MSG_CHECKING([for host support for vtable verification])
45. ${srcdir}/configure.tgt
46AC_MSG_RESULT($VTV_SUPPORTED)
47
48# Decide if it's usable.
49use_vtable_verify=no
50if test "x$VTV_SUPPORTED" = "xyes"; then
51  if test "x$enable_vtable_verify" = "xyes"; then
52    use_vtable_verify=yes
53    AC_MSG_NOTICE(using vtable verification)
54  fi
55fi
56AM_CONDITIONAL(ENABLE_VTABLE_VERIFY, test $use_vtable_verify = yes)
57
58AM_INIT_AUTOMAKE(foreign no-dist)
59AM_ENABLE_MULTILIB(, ..)
60AM_MAINTAINER_MODE
61
62LIBVTV_CONFIGURE
63
64# Calculate toolexeclibdir
65# Also toolexecdir, though it's only used in toolexeclibdir
66case ${version_specific_libs} in
67  yes)
68    # Need the gcc compiler version to know where to install libraries
69    # and header files if --enable-version-specific-runtime-libs option
70    # is selected.
71    toolexecdir='$(libdir)/gcc/$(target_alias)'
72    toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
73    ;;
74  no)
75    if test -n "$with_cross_host" &&
76       test x"$with_cross_host" != x"no"; then
77      # Install a library built with a cross compiler in tooldir, not libdir.
78      toolexecdir='$(exec_prefix)/$(target_alias)'
79      toolexeclibdir='$(toolexecdir)/lib'
80    else
81      toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
82      toolexeclibdir='$(libdir)'
83    fi
84    multi_os_directory=`$CC -print-multi-os-directory`
85    case $multi_os_directory in
86      .) ;; # Avoid trailing /.
87      *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
88    esac
89    ;;
90esac
91AC_SUBST(toolexecdir)
92AC_SUBST(toolexeclibdir)
93
94AC_GNU_SOURCE
95AC_CHECK_FUNCS([__secure_getenv])
96
97AC_GNU_SOURCE
98AC_CHECK_FUNCS([secure_getenv])
99
100# Check for programs.
101m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
102m4_define([_AC_ARG_VAR_PRECIOUS],[])
103AC_PROG_CC
104AC_PROG_CXX
105m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
106
107AM_PROG_CC_C_O
108
109AC_SUBST(CFLAGS)
110AC_SUBST(CXXFLAGS)
111
112# Newer automakes demand CCAS and CCASFLAGS.
113: ${CCAS='$(CC)'}
114: ${CCASFLAGS='$(CFLAGS)'}
115AC_SUBST(CCAS)
116AC_SUBST(CCASFLAGS)
117
118AC_CHECK_TOOL(AS, as)
119AC_CHECK_TOOL(AR, ar)
120AC_CHECK_TOOL(RANLIB, ranlib, :)
121
122# Configure libtool
123AC_LIBTOOL_DLOPEN
124AM_PROG_LIBTOOL
125AC_SUBST(enable_shared)
126AC_SUBST(enable_static)
127
128# For libtool versioning info, format is CURRENT:REVISION:AGE
129libtool_VERSION=1:0:0
130AC_SUBST(libtool_VERSION)
131
132XCFLAGS="-D_GNU_SOURCE -Wall -Wextra -fno-exceptions"
133AC_SUBST(XCFLAGS)
134
135if test "${multilib}" = "yes"; then
136  multilib_arg="--enable-multilib"
137else
138  multilib_arg=
139fi
140
141AC_CONFIG_FILES([Makefile])
142
143if test "x$VTV_SUPPORTED" = "xyes"; then
144  AC_CONFIG_FILES(AC_FOREACH([DIR], [testsuite], [DIR/Makefile ]),
145    [cat > vpsed$$ << \_EOF
146s!`test -f '$<' || echo '$(srcdir)/'`!!
147_EOF
148    sed -f vpsed$$ $ac_file > tmp$$
149    mv tmp$$ $ac_file
150    rm vpsed$$
151    echo 'MULTISUBDIR =' >> $ac_file
152    ml_norecursion=yes
153    . ${multi_basedir}/config-ml.in
154    AS_UNSET([ml_norecursion])
155])
156fi
157
158AC_OUTPUT
159