Fix issue with libvtv testsuite being run (and failing)

when GCC was not configured with --enable-vtable-verify.

From-SVN: r202918
This commit is contained in:
Caroline Tice 2013-09-25 11:44:48 -07:00 committed by Caroline Tice
parent 20f114a35a
commit 56fc78353e
5 changed files with 92 additions and 29 deletions

View file

@ -1,3 +1,14 @@
2013-09-25 Caroline Tice <cmtice@google.com>
* Makefile.am: Reinstate ENABLE_VTABLE_VERIFY checks, to make
sure testsuite is not run if libstdc++ and libgcc were not built
with vtable verification.
* Makefile.in: Regenerated.
* configure.ac: Reinstate checks for --enable-vtable-verify flag,
to make sure testsuite is not run if libstdc++ and libgcc were not
built with vtable verification.
* configure: Regenerated.
2013-09-24 Caroline Tice <cmtice@google.com>
* Makefile.am: Change libvtv_includedir to the directory used by

View file

@ -19,7 +19,11 @@
## along with this library; see the file COPYING3. If not see
## <http://www.gnu.org/licenses/>.
SUBDIRS = testsuite
if ENABLE_VTABLE_VERIFY
SUBDIRS = testsuite
else
SUBDIRS=
endif
ACLOCAL_AMFLAGS = -I .. -I ../config
@ -63,8 +67,13 @@ vtv_end.c:
rm -f $@
$(LN_S) $(toplevel_srcdir)/libgcc/vtv_end.c $@
libvtv_la_SOURCES = $(vtv_sources)
libvtv_include_HEADERS = $(vtv_headers)
if ENABLE_VTABLE_VERIFY
libvtv_la_SOURCES = $(vtv_sources)
libvtv_include_HEADERS = $(vtv_headers)
else
libvtv_la_SOURCES =
libvtv_include_HEADERS =
endif
# Least ordering for dependencies mean linking w/o libstdc++ for as
# long as the development of libvtv does not absolutely require it.

View file

@ -40,7 +40,7 @@ subdir = .
DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/../mkinstalldirs $(srcdir)/../depcomp \
$(libvtv_include_HEADERS)
$(am__libvtv_include_HEADERS_DIST)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/depstand.m4 \
@ -86,7 +86,7 @@ LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
libvtv_la_LIBADD =
am__objects_1 = vtv_start.lo vtv_malloc.lo vtv_rts.lo vtv_utils.lo \
vtv_end.lo
am_libvtv_la_OBJECTS = $(am__objects_1)
@ENABLE_VTABLE_VERIFY_TRUE@am_libvtv_la_OBJECTS = $(am__objects_1)
libvtv_la_OBJECTS = $(am_libvtv_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../depcomp
@ -118,6 +118,8 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
am__libvtv_include_HEADERS_DIST = vtv_map.h vtv_malloc.h vtv_fail.h \
vtv_set.h vtv_utils.h vtv_rts.h
HEADERS = $(libvtv_include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
@ -125,7 +127,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DIST_SUBDIRS = testsuite
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
@ -263,7 +265,8 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
toplevel_builddir = @toplevel_builddir@
toplevel_srcdir = @toplevel_srcdir@
SUBDIRS = testsuite
@ENABLE_VTABLE_VERIFY_FALSE@SUBDIRS =
@ENABLE_VTABLE_VERIFY_TRUE@SUBDIRS = testsuite
ACLOCAL_AMFLAGS = -I .. -I ../config
# May be used by toolexeclibdir.
@ -293,8 +296,10 @@ libvtv_includedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
# Link in vtv_start and vtv_end.
BUILT_SOURCES = vtv_start.c vtv_end.c
libvtv_la_SOURCES = $(vtv_sources)
libvtv_include_HEADERS = $(vtv_headers)
@ENABLE_VTABLE_VERIFY_FALSE@libvtv_la_SOURCES =
@ENABLE_VTABLE_VERIFY_TRUE@libvtv_la_SOURCES = $(vtv_sources)
@ENABLE_VTABLE_VERIFY_FALSE@libvtv_include_HEADERS =
@ENABLE_VTABLE_VERIFY_TRUE@libvtv_include_HEADERS = $(vtv_headers)
# Least ordering for dependencies mean linking w/o libstdc++ for as
# long as the development of libvtv does not absolutely require it.
@ -324,9 +329,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ./Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign ./Makefile
$(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \

53
libvtv/configure vendored
View file

@ -684,6 +684,8 @@ am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
ENABLE_VTABLE_VERIFY_FALSE
ENABLE_VTABLE_VERIFY_TRUE
LIBSTDCXX_RAW_CXX_LDFLAGS
LIBSTDCXX_RAW_CXX_CXXFLAGS
target_noncanonical
@ -741,6 +743,7 @@ ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_version_specific_runtime_libs
enable_vtable_verify
enable_multilib
enable_maintainer_mode
enable_dependency_tracking
@ -1382,6 +1385,7 @@ Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory
--enable-vtable-verify Enable vtable verification feature
--enable-multilib build many library versions (default)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
@ -2506,6 +2510,23 @@ esac
# Use same top-level configure hooks in libgcc/libstdc++/libvtv.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-vtable-verify" >&5
$as_echo_n "checking for --enable-vtable-verify... " >&6; }
# Check whether --enable-vtable-verify was given.
if test "${enable_vtable_verify+set}" = set; then :
enableval=$enable_vtable_verify; case "$enableval" in
yes) enable_vtable_verify=yes ;;
no) enable_vtable_verify=no ;;
*) enable_vtable_verify=no;;
esac
else
enable_vtable_verify=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vtable_verify" >&5
$as_echo "$enable_vtable_verify" >&6; }
# See if supported.
unset VTV_SUPPORTED
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for host support for vtable verification" >&5
@ -2517,10 +2538,20 @@ $as_echo "$VTV_SUPPORTED" >&6; }
# Decide if it's usable.
use_vtable_verify=no
if test "x$VTV_SUPPORTED" = "xyes"; then
use_vtable_verify=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: using vtable verification" >&5
if test "x$enable_vtable_verify" = "xyes"; then
use_vtable_verify=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: using vtable verification" >&5
$as_echo "$as_me: using vtable verification" >&6;}
fi
fi
if test $use_vtable_verify = yes; then
ENABLE_VTABLE_VERIFY_TRUE=
ENABLE_VTABLE_VERIFY_FALSE='#'
else
ENABLE_VTABLE_VERIFY_TRUE='#'
ENABLE_VTABLE_VERIFY_FALSE=
fi
am__api_version='1.11'
@ -15475,7 +15506,7 @@ ac_config_files="$ac_config_files Makefile"
if test "x$VTV_SUPPORTED" = "xyes"; then
ac_config_files="$ac_config_files ./Makefile testsuite/Makefile"
ac_config_files="$ac_config_files testsuite/Makefile"
fi
@ -15612,6 +15643,10 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
if test -z "${ENABLE_VTABLE_VERIFY_TRUE}" && test -z "${ENABLE_VTABLE_VERIFY_FALSE}"; then
as_fn_error "conditional \"ENABLE_VTABLE_VERIFY\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
@ -16593,7 +16628,6 @@ do
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"./Makefile") CONFIG_FILES="$CONFIG_FILES ./Makefile" ;;
"testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
@ -17925,17 +17959,6 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
# ### END LIBTOOL TAG CONFIG: CXX
_LT_EOF
;;
"./Makefile":F) cat > vpsed$$ << \_EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!
_EOF
sed -f vpsed$$ $ac_file > tmp$$
mv tmp$$ $ac_file
rm vpsed$$
echo 'MULTISUBDIR =' >> $ac_file
ml_norecursion=yes
. ${multi_basedir}/config-ml.in
{ ml_norecursion=; unset ml_norecursion;}
;;
"testsuite/Makefile":F) cat > vpsed$$ << \_EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!

View file

@ -27,6 +27,18 @@ target_alias=${target_alias-$host_alias}
AC_SUBST(target_alias)
GCC_LIBSTDCXX_RAW_CXX_FLAGS
# Use same top-level configure hooks in libgcc/libstdc++/libvtv.
AC_MSG_CHECKING([for --enable-vtable-verify])
AC_ARG_ENABLE(vtable-verify,
[ --enable-vtable-verify Enable vtable verification feature ],
[case "$enableval" in
yes) enable_vtable_verify=yes ;;
no) enable_vtable_verify=no ;;
*) enable_vtable_verify=no;;
esac],
[enable_vtable_verify=no])
AC_MSG_RESULT($enable_vtable_verify)
# See if supported.
unset VTV_SUPPORTED
AC_MSG_CHECKING([for host support for vtable verification])
@ -36,9 +48,12 @@ AC_MSG_RESULT($VTV_SUPPORTED)
# Decide if it's usable.
use_vtable_verify=no
if test "x$VTV_SUPPORTED" = "xyes"; then
use_vtable_verify=yes
AC_MSG_NOTICE(using vtable verification)
if test "x$enable_vtable_verify" = "xyes"; then
use_vtable_verify=yes
AC_MSG_NOTICE(using vtable verification)
fi
fi
AM_CONDITIONAL(ENABLE_VTABLE_VERIFY, test $use_vtable_verify = yes)
AM_INIT_AUTOMAKE(foreign no-dist)
AM_ENABLE_MULTILIB(, ..)
@ -126,7 +141,7 @@ fi
AC_CONFIG_FILES([Makefile])
if test "x$VTV_SUPPORTED" = "xyes"; then
AC_CONFIG_FILES(AC_FOREACH([DIR], [. testsuite], [DIR/Makefile ]),
AC_CONFIG_FILES(AC_FOREACH([DIR], [testsuite], [DIR/Makefile ]),
[cat > vpsed$$ << \_EOF
s!`test -f '$<' || echo '$(srcdir)/'`!!
_EOF