mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 14:47:18 +08:00
03-06-16 Benjamin Kosnik <bkoz@redhat.com>
* Makefile.am (check-abi): Move... (new-abi-baseline): Move... * testsuite/Makefile.am: ...here. (new-abi-baseline): Conditionalize. (check-abi): Conditionalize. (check-abi-verbose): New. * Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * configure.in: Consolidate testsuite configure bits. * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same. * configure: Regenerate. * aclocal.m4: Regenerate. * testsuite/abi_check.cc: Add --check-verbose. Only output detailed information if --check-verbose. From-SVN: r68067
This commit is contained in:
parent
5b0e2409f7
commit
c4c064e771
@ -1,3 +1,20 @@
|
||||
2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* Makefile.am (check-abi): Move...
|
||||
(new-abi-baseline): Move...
|
||||
* testsuite/Makefile.am: ...here.
|
||||
(new-abi-baseline): Conditionalize.
|
||||
(check-abi): Conditionalize.
|
||||
(check-abi-verbose): New.
|
||||
* Makefile.in: Regenerate.
|
||||
* testsuite/Makefile.in: Regenerate.
|
||||
* configure.in: Consolidate testsuite configure bits.
|
||||
* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
|
||||
* configure: Regenerate.
|
||||
* aclocal.m4: Regenerate.
|
||||
* testsuite/abi_check.cc: Add --check-verbose.
|
||||
Only output detailed information if --check-verbose.
|
||||
|
||||
2003-06-16 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* testsuite/abi_check.cc: Create summary report.
|
||||
|
@ -46,26 +46,6 @@ check-script-install: $(top_builddir)/mkcheck
|
||||
cd testsuite; \
|
||||
@glibcpp_builddir@/mkcheck 1)
|
||||
|
||||
# Use 'new-abi-baseline' to create an initial symbol file. Then run
|
||||
# 'check-abi' to test for changes against that file.
|
||||
baseline_file = @baseline_file@
|
||||
check-abi: $(top_builddir)/testsuite/abi_check
|
||||
-@(cd testsuite; \
|
||||
@glibcpp_srcdir@/config/abi/extract_symvers \
|
||||
../src/.libs/libstdc++.so \
|
||||
./current_symbols.txt && \
|
||||
./abi_check --check ./current_symbols.txt ${baseline_file})
|
||||
|
||||
new-abi-baseline:
|
||||
-@(output=${baseline_file}; \
|
||||
if test -f $${output}; then \
|
||||
output=$${output}.new; \
|
||||
t=`echo $${output} | sed 's=.*config/abi/=='`; \
|
||||
echo "Baseline file already exists, writing to $${t} instead."; \
|
||||
fi; \
|
||||
@glibcpp_srcdir@/config/abi/extract_symvers \
|
||||
src/.libs/libstdc++.so $${output})
|
||||
|
||||
# These rules are messy, but are hella worth it.
|
||||
doxygen:
|
||||
-(srcdir=`cd ${top_srcdir}; ${PWD}`; \
|
||||
|
@ -121,6 +121,7 @@ USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARN_FLAGS = @WARN_FLAGS@
|
||||
WERROR = @WERROR@
|
||||
baseline_file = @baseline_file@
|
||||
check_msgfmt = @check_msgfmt@
|
||||
enable_shared = @enable_shared@
|
||||
enable_static = @enable_static@
|
||||
@ -150,10 +151,6 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
|
||||
|
||||
PWD = $${PWDCMD-pwd}
|
||||
|
||||
# Use 'new-abi-baseline' to create an initial symbol file. Then run
|
||||
# 'check-abi' to test for changes against that file.
|
||||
baseline_file = @baseline_file@
|
||||
|
||||
# Multilib support.
|
||||
MAKEOVERRIDES =
|
||||
|
||||
@ -496,22 +493,6 @@ check-script-install: $(top_builddir)/mkcheck
|
||||
-(chmod + $(top_builddir)/mkcheck; \
|
||||
cd testsuite; \
|
||||
@glibcpp_builddir@/mkcheck 1)
|
||||
check-abi: $(top_builddir)/testsuite/abi_check
|
||||
-@(cd testsuite; \
|
||||
@glibcpp_srcdir@/config/abi/extract_symvers \
|
||||
../src/.libs/libstdc++.so \
|
||||
./current_symbols.txt && \
|
||||
./abi_check --check ./current_symbols.txt ${baseline_file})
|
||||
|
||||
new-abi-baseline:
|
||||
-@(output=${baseline_file}; \
|
||||
if test -f $${output}; then \
|
||||
output=$${output}.new; \
|
||||
t=`echo $${output} | sed 's=.*config/abi/=='`; \
|
||||
echo "Baseline file already exists, writing to $${t} instead."; \
|
||||
fi; \
|
||||
@glibcpp_srcdir@/config/abi/extract_symvers \
|
||||
src/.libs/libstdc++.so $${output})
|
||||
|
||||
# These rules are messy, but are hella worth it.
|
||||
doxygen:
|
||||
|
@ -209,7 +209,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE, [
|
||||
#glibcpp_pch_comp=no
|
||||
#enable_cheaders=c
|
||||
#c_compatibility=no
|
||||
enable_abi_check=no
|
||||
#enable_abi_check=no
|
||||
#enable_symvers=no
|
||||
|
||||
# Find platform-specific directories containing configuration info. In
|
||||
@ -2049,20 +2049,33 @@ dnl the testsuite_hooks.h header.
|
||||
dnl
|
||||
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
||||
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
||||
GLIBCPP_CHECK_SETRLIMIT
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
||||
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
|
||||
# Do checks for memory limit functions.
|
||||
GLIBCPP_CHECK_SETRLIMIT
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
||||
fi
|
||||
|
||||
# Export file names for ABI checking.
|
||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||
AC_SUBST(baseline_file)
|
||||
|
||||
dnl XXX move to configure.host?
|
||||
case "$target" in
|
||||
*-*-cygwin* ) enable_abi_check=no ;;
|
||||
* ) enable_abi_check=yes ;;
|
||||
esac
|
||||
# Determine if checking the ABI is desirable.
|
||||
if test x$enable_symvers = xno; then
|
||||
enable_abi_check=no
|
||||
else
|
||||
case "$host" in
|
||||
*-*-cygwin*)
|
||||
enable_abi_check=no ;;
|
||||
*)
|
||||
enable_abi_check=yes ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes)
|
||||
AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes)
|
||||
])
|
||||
|
||||
|
||||
|
31
libstdc++-v3/aclocal.m4
vendored
31
libstdc++-v3/aclocal.m4
vendored
@ -221,7 +221,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE, [
|
||||
#glibcpp_pch_comp=no
|
||||
#enable_cheaders=c
|
||||
#c_compatibility=no
|
||||
enable_abi_check=no
|
||||
#enable_abi_check=no
|
||||
#enable_symvers=no
|
||||
|
||||
# Find platform-specific directories containing configuration info. In
|
||||
@ -2061,20 +2061,33 @@ dnl the testsuite_hooks.h header.
|
||||
dnl
|
||||
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
||||
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
||||
GLIBCPP_CHECK_SETRLIMIT
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
||||
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
|
||||
# Do checks for memory limit functions.
|
||||
GLIBCPP_CHECK_SETRLIMIT
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
||||
fi
|
||||
|
||||
# Export file names for ABI checking.
|
||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||
AC_SUBST(baseline_file)
|
||||
|
||||
dnl XXX move to configure.host?
|
||||
case "$target" in
|
||||
*-*-cygwin* ) enable_abi_check=no ;;
|
||||
* ) enable_abi_check=yes ;;
|
||||
esac
|
||||
# Determine if checking the ABI is desirable.
|
||||
if test x$enable_symvers = xno; then
|
||||
enable_abi_check=no
|
||||
else
|
||||
case "$host" in
|
||||
*-*-cygwin*)
|
||||
enable_abi_check=no ;;
|
||||
*)
|
||||
enable_abi_check=yes ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes)
|
||||
AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes)
|
||||
])
|
||||
|
||||
|
||||
|
720
libstdc++-v3/configure
vendored
720
libstdc++-v3/configure
vendored
@ -1504,7 +1504,7 @@ ac_exeext=$EXEEXT
|
||||
#glibcpp_pch_comp=no
|
||||
#enable_cheaders=c
|
||||
#c_compatibility=no
|
||||
enable_abi_check=no
|
||||
#enable_abi_check=no
|
||||
#enable_symvers=no
|
||||
|
||||
# Find platform-specific directories containing configuration info. In
|
||||
@ -23161,328 +23161,9 @@ EOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Establish limits on memory usage during 'make check'
|
||||
|
||||
|
||||
setrlimit_have_headers=yes
|
||||
for ac_hdr in unistd.h sys/time.h sys/resource.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:23174: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23179 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:23184: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_$ac_safe=yes"
|
||||
else
|
||||
echo "$ac_err" >&5
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_$ac_safe=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_hdr 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
setrlimit_have_headers=no
|
||||
fi
|
||||
done
|
||||
|
||||
# If don't have the headers, then we can't run the tests now, and we
|
||||
# won't be seeing any of these during testsuite compilation.
|
||||
if test $setrlimit_have_headers = yes; then
|
||||
# Can't do these in a loop, else the resulting syntax is wrong.
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23217 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_DATA ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_DATA $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23244 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_RSS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_RSS $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23271 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_VMEM ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_VMEM $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23298 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_AS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23308: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_AS $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
# Check for rlimit, setrlimit.
|
||||
if eval "test \"`echo '$''{'ac_setrlimit'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23330 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
struct rlimit r; setrlimit(0, &r);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23340: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_setrlimit=yes
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
ac_setrlimit=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6
|
||||
echo "configure:23356: checking for testsuite memory limit support" >&5
|
||||
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
|
||||
ac_mem_limits=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define _GLIBCPP_MEM_LIMITS 1
|
||||
EOF
|
||||
|
||||
else
|
||||
ac_mem_limits=no
|
||||
fi
|
||||
echo "$ac_t""$ac_mem_limits" 1>&6
|
||||
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
|
||||
echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6
|
||||
echo "configure:23372: checking for setenv declaration" >&5
|
||||
if test x${glibcpp_cv_func_setenv_use+set} != xset; then
|
||||
if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
|
||||
ac_ext=C
|
||||
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cxx_cross
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23387 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
int main() {
|
||||
setenv(0, 0, 0);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_cv_func_setenv_use=yes
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_cv_func_setenv_use=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
echo "$ac_t""$glibcpp_cv_func_setenv_use" 1>&6
|
||||
if test x$glibcpp_cv_func_setenv_use = x"yes"; then
|
||||
for ac_func in setenv
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:23420: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23425 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
#include <assert.h>
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char $ac_func();
|
||||
|
||||
int main() {
|
||||
|
||||
/* The GNU C library defines this for functions which it implements
|
||||
to always fail with ENOSYS. Some functions are actually named
|
||||
something starting with __ and the normal name is an alias. */
|
||||
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
|
||||
choke me
|
||||
#else
|
||||
$ac_func();
|
||||
#endif
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
|
||||
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_func 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Export file names for ABI checking.
|
||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||
|
||||
|
||||
case "$target" in
|
||||
*-*-cygwin* ) enable_abi_check=no ;;
|
||||
* ) enable_abi_check=yes ;;
|
||||
esac
|
||||
|
||||
fi
|
||||
|
||||
# This depends on the possibly-skipped linker test above.
|
||||
# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no.
|
||||
# Check whether --enable-symvers or --disable-symvers was given.
|
||||
if test "${enable_symvers+set}" = set; then
|
||||
enableval="$enable_symvers"
|
||||
@ -23509,18 +23190,18 @@ fi
|
||||
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
|
||||
if test $enable_symvers != no; then
|
||||
echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
|
||||
echo "configure:23513: checking for shared libgcc" >&5
|
||||
echo "configure:23194: checking for shared libgcc" >&5
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=' -lgcc_s'
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23517 "configure"
|
||||
#line 23198 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return 0
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:23205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
glibcpp_shared_libgcc=yes
|
||||
else
|
||||
@ -23555,14 +23236,14 @@ if test $enable_symvers = yes ; then
|
||||
echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23559 "configure"
|
||||
#line 23240 "configure"
|
||||
#include "confdefs.h"
|
||||
int foo;
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23566: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:23247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
enable_symvers=gnu
|
||||
else
|
||||
@ -23608,10 +23289,359 @@ else
|
||||
GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
|
||||
fi
|
||||
echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
|
||||
echo "configure:23612: checking versioning on shared library symbols" >&5
|
||||
echo "configure:23293: checking versioning on shared library symbols" >&5
|
||||
echo "$ac_t""$enable_symvers" 1>&6
|
||||
|
||||
|
||||
# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING.
|
||||
|
||||
|
||||
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
|
||||
# Do checks for memory limit functions.
|
||||
|
||||
setrlimit_have_headers=yes
|
||||
for ac_hdr in unistd.h sys/time.h sys/resource.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:23308: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23313 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:23318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_$ac_safe=yes"
|
||||
else
|
||||
echo "$ac_err" >&5
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_$ac_safe=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_hdr 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
setrlimit_have_headers=no
|
||||
fi
|
||||
done
|
||||
|
||||
# If don't have the headers, then we can't run the tests now, and we
|
||||
# won't be seeing any of these during testsuite compilation.
|
||||
if test $setrlimit_have_headers = yes; then
|
||||
# Can't do these in a loop, else the resulting syntax is wrong.
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23351 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_DATA ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_DATA $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23378 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_RSS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_RSS $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23405 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_VMEM ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_VMEM $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23432 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
int f = RLIMIT_AS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=1
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_mresult=0
|
||||
fi
|
||||
rm -f conftest*
|
||||
cat >> confdefs.h <<EOF
|
||||
#define HAVE_MEMLIMIT_AS $glibcpp_mresult
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
# Check for rlimit, setrlimit.
|
||||
if eval "test \"`echo '$''{'ac_setrlimit'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23464 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
int main() {
|
||||
struct rlimit r; setrlimit(0, &r);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_setrlimit=yes
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
ac_setrlimit=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6
|
||||
echo "configure:23490: checking for testsuite memory limit support" >&5
|
||||
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
|
||||
ac_mem_limits=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define _GLIBCPP_MEM_LIMITS 1
|
||||
EOF
|
||||
|
||||
else
|
||||
ac_mem_limits=no
|
||||
fi
|
||||
echo "$ac_t""$ac_mem_limits" 1>&6
|
||||
|
||||
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
|
||||
echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6
|
||||
echo "configure:23506: checking for setenv declaration" >&5
|
||||
if test x${glibcpp_cv_func_setenv_use+set} != xset; then
|
||||
if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
|
||||
ac_ext=C
|
||||
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cxx_cross
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23521 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
int main() {
|
||||
setenv(0, 0, 0);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcpp_cv_func_setenv_use=yes
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
glibcpp_cv_func_setenv_use=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
echo "$ac_t""$glibcpp_cv_func_setenv_use" 1>&6
|
||||
if test x$glibcpp_cv_func_setenv_use = x"yes"; then
|
||||
for ac_func in setenv
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:23554: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23559 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
#include <assert.h>
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
char $ac_func();
|
||||
|
||||
int main() {
|
||||
|
||||
/* The GNU C library defines this for functions which it implements
|
||||
to always fail with ENOSYS. Some functions are actually named
|
||||
something starting with __ and the normal name is an alias. */
|
||||
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
|
||||
choke me
|
||||
#else
|
||||
$ac_func();
|
||||
#endif
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=no"
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
|
||||
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_func 1
|
||||
EOF
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Export file names for ABI checking.
|
||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||
|
||||
|
||||
# Determine if checking the ABI is desirable.
|
||||
if test x$enable_symvers = xno; then
|
||||
enable_abi_check=no
|
||||
else
|
||||
case "$host" in
|
||||
*-*-cygwin*)
|
||||
enable_abi_check=no ;;
|
||||
*)
|
||||
enable_abi_check=yes ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test "$enable_wchar_t" = yes; then
|
||||
GLIBCPP_TEST_WCHAR_T_TRUE=
|
||||
GLIBCPP_TEST_WCHAR_T_FALSE='#'
|
||||
else
|
||||
GLIBCPP_TEST_WCHAR_T_TRUE='#'
|
||||
GLIBCPP_TEST_WCHAR_T_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
if test "$enable_abi_check" = yes; then
|
||||
GLIBCPP_TEST_ABI_TRUE=
|
||||
GLIBCPP_TEST_ABI_FALSE='#'
|
||||
else
|
||||
GLIBCPP_TEST_ABI_TRUE='#'
|
||||
GLIBCPP_TEST_ABI_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
# Propagate the target-specific source directories through the build chain.
|
||||
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
||||
# uses it, and it only gets used in this file.)
|
||||
@ -23620,7 +23650,7 @@ ATOMICITY_INC_SRCDIR=config/${ATOMICITYH}
|
||||
|
||||
|
||||
|
||||
# Set up cross-compile flags and all AM_CONDITIONALs.
|
||||
# Determine cross-compile flags and all AM_CONDITIONALs.
|
||||
|
||||
|
||||
|
||||
@ -23640,24 +23670,6 @@ else
|
||||
GLIBCPP_BUILD_LIBMATH_TRUE='#'
|
||||
GLIBCPP_BUILD_LIBMATH_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
if test "$enable_wchar_t" = yes; then
|
||||
GLIBCPP_TEST_WCHAR_T_TRUE=
|
||||
GLIBCPP_TEST_WCHAR_T_FALSE='#'
|
||||
else
|
||||
GLIBCPP_TEST_WCHAR_T_TRUE='#'
|
||||
GLIBCPP_TEST_WCHAR_T_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
if test "$enable_abi_check" = yes; then
|
||||
GLIBCPP_BUILD_ABI_CHECK_TRUE=
|
||||
GLIBCPP_BUILD_ABI_CHECK_FALSE='#'
|
||||
else
|
||||
GLIBCPP_BUILD_ABI_CHECK_TRUE='#'
|
||||
GLIBCPP_BUILD_ABI_CHECK_FALSE=
|
||||
fi
|
||||
|
||||
cat > confcache <<\EOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@ -23723,7 +23735,7 @@ glibcpp_prefixdir=${prefix}
|
||||
|
||||
# Process the option --with-gxx-include-dir=<path to include-files directory>
|
||||
echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
|
||||
echo "configure:23727: checking for --with-gxx-include-dir" >&5
|
||||
echo "configure:23739: checking for --with-gxx-include-dir" >&5
|
||||
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
|
||||
if test "${with_gxx_include_dir+set}" = set; then
|
||||
withval="$with_gxx_include_dir"
|
||||
@ -23747,7 +23759,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
|
||||
|
||||
# Process the option "--enable-version-specific-runtime-libs"
|
||||
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
|
||||
echo "configure:23751: checking for --enable-version-specific-runtime-libs" >&5
|
||||
echo "configure:23763: checking for --enable-version-specific-runtime-libs" >&5
|
||||
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
|
||||
if test "${enable_version_specific_runtime_libs+set}" = set; then
|
||||
enableval="$enable_version_specific_runtime_libs"
|
||||
@ -23798,7 +23810,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for install location""... $ac_c" 1>&6
|
||||
echo "configure:23802: checking for install location" >&5
|
||||
echo "configure:23814: checking for install location" >&5
|
||||
echo "$ac_t""$gxx_include_dir" 1>&6
|
||||
|
||||
|
||||
@ -24080,10 +24092,14 @@ s%@SECTION_LDFLAGS@%$SECTION_LDFLAGS%g
|
||||
s%@OPT_LDFLAGS@%$OPT_LDFLAGS%g
|
||||
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
|
||||
s%@WERROR@%$WERROR%g
|
||||
s%@baseline_file@%$baseline_file%g
|
||||
s%@SYMVER_MAP@%$SYMVER_MAP%g
|
||||
s%@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE%g
|
||||
s%@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE%g
|
||||
s%@baseline_file@%$baseline_file%g
|
||||
s%@GLIBCPP_TEST_WCHAR_T_TRUE@%$GLIBCPP_TEST_WCHAR_T_TRUE%g
|
||||
s%@GLIBCPP_TEST_WCHAR_T_FALSE@%$GLIBCPP_TEST_WCHAR_T_FALSE%g
|
||||
s%@GLIBCPP_TEST_ABI_TRUE@%$GLIBCPP_TEST_ABI_TRUE%g
|
||||
s%@GLIBCPP_TEST_ABI_FALSE@%$GLIBCPP_TEST_ABI_FALSE%g
|
||||
s%@OS_INC_SRCDIR@%$OS_INC_SRCDIR%g
|
||||
s%@ATOMICITY_INC_SRCDIR@%$ATOMICITY_INC_SRCDIR%g
|
||||
s%@GLIBCPP_IS_CROSS_COMPILING@%$GLIBCPP_IS_CROSS_COMPILING%g
|
||||
@ -24091,10 +24107,6 @@ s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
|
||||
s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
|
||||
s%@GLIBCPP_BUILD_LIBMATH_TRUE@%$GLIBCPP_BUILD_LIBMATH_TRUE%g
|
||||
s%@GLIBCPP_BUILD_LIBMATH_FALSE@%$GLIBCPP_BUILD_LIBMATH_FALSE%g
|
||||
s%@GLIBCPP_TEST_WCHAR_T_TRUE@%$GLIBCPP_TEST_WCHAR_T_TRUE%g
|
||||
s%@GLIBCPP_TEST_WCHAR_T_FALSE@%$GLIBCPP_TEST_WCHAR_T_FALSE%g
|
||||
s%@GLIBCPP_BUILD_ABI_CHECK_TRUE@%$GLIBCPP_BUILD_ABI_CHECK_TRUE%g
|
||||
s%@GLIBCPP_BUILD_ABI_CHECK_FALSE@%$GLIBCPP_BUILD_ABI_CHECK_FALSE%g
|
||||
s%@glibcpp_prefixdir@%$glibcpp_prefixdir%g
|
||||
s%@gxx_include_dir@%$gxx_include_dir%g
|
||||
s%@glibcpp_toolexecdir@%$glibcpp_toolexecdir%g
|
||||
|
@ -431,14 +431,14 @@ else
|
||||
])
|
||||
|
||||
AC_FUNC_MMAP
|
||||
|
||||
# Establish limits on memory usage during 'make check'
|
||||
GLIBCPP_CONFIGURE_TESTSUITE
|
||||
fi
|
||||
|
||||
# This depends on the possibly-skipped linker test above.
|
||||
# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no.
|
||||
GLIBCPP_ENABLE_SYMVERS([yes])
|
||||
|
||||
# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING.
|
||||
GLIBCPP_CONFIGURE_TESTSUITE
|
||||
|
||||
# Propagate the target-specific source directories through the build chain.
|
||||
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
||||
# uses it, and it only gets used in this file.)
|
||||
@ -447,15 +447,11 @@ ATOMICITY_INC_SRCDIR=config/${ATOMICITYH}
|
||||
AC_SUBST(OS_INC_SRCDIR)
|
||||
AC_SUBST(ATOMICITY_INC_SRCDIR)
|
||||
|
||||
# Set up cross-compile flags and all AM_CONDITIONALs.
|
||||
# Determine cross-compile flags and all AM_CONDITIONALs.
|
||||
AC_SUBST(GLIBCPP_IS_CROSS_COMPILING)
|
||||
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
|
||||
dnl from GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT:
|
||||
AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes)
|
||||
dnl from GLIBCPP_CHECK_WCHAR_T_SUPPORT:
|
||||
AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes)
|
||||
dnl from GLIBCPP_CONFIGURE_TESTSUITE:
|
||||
AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, test "$enable_abi_check" = yes)
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
|
@ -54,23 +54,67 @@ noinst_LIBRARIES = libv3test.a
|
||||
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
||||
|
||||
## Build support utilities.
|
||||
## Only build this as native, as need to find startup files and libc to link.
|
||||
if GLIBCPP_BUILD_ABI_CHECK
|
||||
if GLIBCPP_TEST_ABI
|
||||
noinst_PROGRAMS = abi_check
|
||||
else
|
||||
noinst_PROGRAMS =
|
||||
endif
|
||||
abi_check_SOURCES = abi_check.cc
|
||||
|
||||
all-local: stamp_wchar
|
||||
|
||||
# Enable wchar_t tests if capable.
|
||||
if GLIBCPP_TEST_WCHAR_T
|
||||
all-local: stamp_wchar
|
||||
else
|
||||
all-local:
|
||||
endif
|
||||
|
||||
stamp_wchar:
|
||||
touch testsuite_wchar_t
|
||||
else
|
||||
stamp_wchar:
|
||||
endif
|
||||
|
||||
# Override this so local rules are possible.
|
||||
check-am:
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
|
||||
check-local: check-abi
|
||||
|
||||
baseline_file = @baseline_file@
|
||||
extract_symvers = @glibcpp_srcdir@/config/abi/extract_symvers
|
||||
|
||||
current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so
|
||||
-@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt)
|
||||
|
||||
baseline_symbols:
|
||||
-@(output=${baseline_file}; \
|
||||
if test ! -f $${output}; then \
|
||||
echo "Baseline file doesn't exist."; \
|
||||
echo "Try 'make new-abi-baseline' to create it."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
touch baseline_symbols)
|
||||
|
||||
new-abi-baseline:
|
||||
-@(output=${baseline_file}; \
|
||||
if test -f $${output}; then \
|
||||
output=$${output}.new; \
|
||||
t=`echo $${output} | sed 's=.*config/abi/=='`; \
|
||||
echo "Baseline file already exists, writing to $${t} instead."; \
|
||||
fi; \
|
||||
${extract_symvers} ../src/.libs/libstdc++.so $${output})
|
||||
|
||||
if GLIBCPP_TEST_ABI
|
||||
# Use 'new-abi-baseline' to create an initial symbol file. Then run
|
||||
# 'check-abi' to test for changes against that file.
|
||||
check-abi: abi_check baseline_symbols current_symbols.txt
|
||||
-@(./abi_check --check ./current_symbols.txt ${baseline_file})
|
||||
|
||||
check-abi-verbose: abi_check baseline_symbols current_symbols.txt
|
||||
-@(./abi_check --check-verbose ./current_symbols.txt ${baseline_file})
|
||||
else
|
||||
check-abi:
|
||||
check-abi-verbose:
|
||||
endif
|
||||
|
||||
|
||||
# By adding these files here, automake will remove them for 'make clean'
|
||||
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
||||
|
@ -120,7 +120,6 @@ USE_NLS = @USE_NLS@
|
||||
VERSION = @VERSION@
|
||||
WARN_FLAGS = @WARN_FLAGS@
|
||||
WERROR = @WERROR@
|
||||
baseline_file = @baseline_file@
|
||||
check_msgfmt = @check_msgfmt@
|
||||
enable_shared = @enable_shared@
|
||||
enable_static = @enable_static@
|
||||
@ -173,10 +172,13 @@ INCLUDES = \
|
||||
|
||||
noinst_LIBRARIES = libv3test.a
|
||||
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
||||
@GLIBCPP_BUILD_ABI_CHECK_TRUE@noinst_PROGRAMS = @GLIBCPP_BUILD_ABI_CHECK_TRUE@abi_check
|
||||
@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
|
||||
@GLIBCPP_TEST_ABI_TRUE@noinst_PROGRAMS = @GLIBCPP_TEST_ABI_TRUE@abi_check
|
||||
@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
|
||||
abi_check_SOURCES = abi_check.cc
|
||||
|
||||
baseline_file = @baseline_file@
|
||||
extract_symvers = @glibcpp_srcdir@/config/abi/extract_symvers
|
||||
|
||||
# By adding these files here, automake will remove them for 'make clean'
|
||||
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
||||
testsuite_* site.exp abi_check
|
||||
@ -194,7 +196,7 @@ LIBS = @LIBS@
|
||||
libv3test_a_LIBADD =
|
||||
libv3test_a_OBJECTS = testsuite_hooks.$(OBJEXT) \
|
||||
testsuite_allocator.$(OBJEXT)
|
||||
@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
|
||||
@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
|
||||
PROGRAMS = $(noinst_PROGRAMS)
|
||||
|
||||
abi_check_OBJECTS = abi_check.$(OBJEXT)
|
||||
@ -386,7 +388,7 @@ info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am:
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
@ -456,19 +458,58 @@ clean-libtool maintainer-clean-libtool mostlyclean-noinstPROGRAMS \
|
||||
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
|
||||
maintainer-clean-noinstPROGRAMS tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir check-DEJAGNU info-am info \
|
||||
dvi-am dvi check check-am installcheck-am installcheck install-info-am \
|
||||
install-info install-exec-am install-exec install-data-am install-data \
|
||||
install-am install uninstall-am uninstall all-local all-redirect all-am \
|
||||
all installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
dvi-am dvi check-local check check-am installcheck-am installcheck \
|
||||
install-info-am install-info install-exec-am install-exec \
|
||||
install-data-am install-data install-am install uninstall-am uninstall \
|
||||
all-local all-redirect all-am all installdirs mostlyclean-generic \
|
||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
all-local: stamp_wchar
|
||||
|
||||
# Enable wchar_t tests if capable.
|
||||
@GLIBCPP_TEST_WCHAR_T_TRUE@all-local: stamp_wchar
|
||||
@GLIBCPP_TEST_WCHAR_T_FALSE@all-local:
|
||||
@GLIBCPP_TEST_WCHAR_T_TRUE@stamp_wchar:
|
||||
@GLIBCPP_TEST_WCHAR_T_TRUE@ touch testsuite_wchar_t
|
||||
@GLIBCPP_TEST_WCHAR_T_FALSE@stamp_wchar:
|
||||
|
||||
stamp_wchar:
|
||||
touch testsuite_wchar_t
|
||||
# Override this so local rules are possible.
|
||||
check-am:
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
|
||||
check-local: check-abi
|
||||
|
||||
current_symbols.txt: ${extract_symvers} ../src/.libs/libstdc++.so
|
||||
-@(${extract_symvers} ../src/.libs/libstdc++.so current_symbols.txt)
|
||||
|
||||
baseline_symbols:
|
||||
-@(output=${baseline_file}; \
|
||||
if test ! -f $${output}; then \
|
||||
echo "Baseline file doesn't exist."; \
|
||||
echo "Try 'make new-abi-baseline' to create it."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
touch baseline_symbols)
|
||||
|
||||
new-abi-baseline:
|
||||
-@(output=${baseline_file}; \
|
||||
if test -f $${output}; then \
|
||||
output=$${output}.new; \
|
||||
t=`echo $${output} | sed 's=.*config/abi/=='`; \
|
||||
echo "Baseline file already exists, writing to $${t} instead."; \
|
||||
fi; \
|
||||
${extract_symvers} ../src/.libs/libstdc++.so $${output})
|
||||
|
||||
# Use 'new-abi-baseline' to create an initial symbol file. Then run
|
||||
# 'check-abi' to test for changes against that file.
|
||||
@GLIBCPP_TEST_ABI_TRUE@check-abi: abi_check baseline_symbols current_symbols.txt
|
||||
@GLIBCPP_TEST_ABI_TRUE@ -@(./abi_check --check ./current_symbols.txt ${baseline_file})
|
||||
|
||||
@GLIBCPP_TEST_ABI_TRUE@check-abi-verbose: abi_check baseline_symbols current_symbols.txt
|
||||
@GLIBCPP_TEST_ABI_TRUE@ -@(./abi_check --check-verbose ./current_symbols.txt ${baseline_file})
|
||||
@GLIBCPP_TEST_ABI_FALSE@check-abi:
|
||||
@GLIBCPP_TEST_ABI_FALSE@check-abi-verbose:
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
@ -313,17 +313,20 @@ main(int argc, char** argv)
|
||||
using namespace std;
|
||||
|
||||
// Get arguments. (Heading towards getopt_long, I can feel it.)
|
||||
string argv1;
|
||||
if (argc < 4 || (string("--help") == (argv1 = argv[1])))
|
||||
bool verbose = false;
|
||||
string argv1 = argc > 1 ? argv[1] : "";
|
||||
if (argv1 == "--help" || argc < 4)
|
||||
{
|
||||
cerr << "Usage: abi_check --check cur baseline\n"
|
||||
" --help\n\n"
|
||||
"Where CUR is a file containing the current results from\n"
|
||||
cerr << "usage: abi_check --check current baseline\n"
|
||||
" --check-verbose current baseline\n"
|
||||
" --help\n\n"
|
||||
"Where CURRENT is a file containing the current results from\n"
|
||||
"extract_symvers, and BASELINE is one from config/abi.\n"
|
||||
<< endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
else if (argv1 == "--check-verbose")
|
||||
verbose = true;
|
||||
|
||||
// Quick sanity/setup check for arguments.
|
||||
const char* test_file = argv[2];
|
||||
@ -412,21 +415,21 @@ main(int argc, char** argv)
|
||||
}
|
||||
|
||||
// Report results.
|
||||
if (added_names.size())
|
||||
if (verbose && added_names.size())
|
||||
{
|
||||
cout << added_names.size() << " added symbols " << endl;
|
||||
for (size_t j = 0; j < added_names.size() ; ++j)
|
||||
report_symbol_info(test_symbols[added_names[j]], j + 1);
|
||||
}
|
||||
|
||||
if (missing_names.size())
|
||||
if (verbose && missing_names.size())
|
||||
{
|
||||
cout << missing_names.size() << " missing symbols " << endl;
|
||||
for (size_t j = 0; j < missing_names.size() ; ++j)
|
||||
report_symbol_info(baseline_symbols[missing_names[j]], j + 1);
|
||||
}
|
||||
|
||||
if (incompatible.size ())
|
||||
if (verbose && incompatible.size())
|
||||
{
|
||||
cout << incompatible.size() << " incompatible symbols " << endl;
|
||||
for (size_t j = 0; j < incompatible.size() ; ++j)
|
||||
@ -441,11 +444,13 @@ main(int argc, char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
cout << "\n\t\t=== libstdc++-v3 check-abi Summary for " << baseline_file
|
||||
<< " ===" << endl << endl;
|
||||
cout << "\n\t\t=== libstdc++-v3 check-abi Summary ===" << endl;
|
||||
cout << endl;
|
||||
cout << "# of added symbols:\t\t " << added_names.size() << endl;
|
||||
cout << "# of missing symbols:\t\t " << missing_names.size() << endl;
|
||||
cout << "# of incompatible symbols:\t " << incompatible.size() << endl;
|
||||
cout << endl;
|
||||
cout << "using: " << baseline_file << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user