mirror of git://gcc.gnu.org/git/gcc.git
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>
|
2003-06-16 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* testsuite/abi_check.cc: Create summary report.
|
* testsuite/abi_check.cc: Create summary report.
|
||||||
|
|
|
@ -46,26 +46,6 @@ check-script-install: $(top_builddir)/mkcheck
|
||||||
cd testsuite; \
|
cd testsuite; \
|
||||||
@glibcpp_builddir@/mkcheck 1)
|
@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.
|
# These rules are messy, but are hella worth it.
|
||||||
doxygen:
|
doxygen:
|
||||||
-(srcdir=`cd ${top_srcdir}; ${PWD}`; \
|
-(srcdir=`cd ${top_srcdir}; ${PWD}`; \
|
||||||
|
|
|
@ -121,6 +121,7 @@ USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARN_FLAGS = @WARN_FLAGS@
|
WARN_FLAGS = @WARN_FLAGS@
|
||||||
WERROR = @WERROR@
|
WERROR = @WERROR@
|
||||||
|
baseline_file = @baseline_file@
|
||||||
check_msgfmt = @check_msgfmt@
|
check_msgfmt = @check_msgfmt@
|
||||||
enable_shared = @enable_shared@
|
enable_shared = @enable_shared@
|
||||||
enable_static = @enable_static@
|
enable_static = @enable_static@
|
||||||
|
@ -150,10 +151,6 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
|
||||||
|
|
||||||
PWD = $${PWDCMD-pwd}
|
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.
|
# Multilib support.
|
||||||
MAKEOVERRIDES =
|
MAKEOVERRIDES =
|
||||||
|
|
||||||
|
@ -496,22 +493,6 @@ check-script-install: $(top_builddir)/mkcheck
|
||||||
-(chmod + $(top_builddir)/mkcheck; \
|
-(chmod + $(top_builddir)/mkcheck; \
|
||||||
cd testsuite; \
|
cd testsuite; \
|
||||||
@glibcpp_builddir@/mkcheck 1)
|
@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.
|
# These rules are messy, but are hella worth it.
|
||||||
doxygen:
|
doxygen:
|
||||||
|
|
|
@ -209,7 +209,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE, [
|
||||||
#glibcpp_pch_comp=no
|
#glibcpp_pch_comp=no
|
||||||
#enable_cheaders=c
|
#enable_cheaders=c
|
||||||
#c_compatibility=no
|
#c_compatibility=no
|
||||||
enable_abi_check=no
|
#enable_abi_check=no
|
||||||
#enable_symvers=no
|
#enable_symvers=no
|
||||||
|
|
||||||
# Find platform-specific directories containing configuration info. In
|
# Find platform-specific directories containing configuration info. In
|
||||||
|
@ -2049,20 +2049,33 @@ dnl the testsuite_hooks.h header.
|
||||||
dnl
|
dnl
|
||||||
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
||||||
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
||||||
GLIBCPP_CHECK_SETRLIMIT
|
|
||||||
|
|
||||||
# Look for setenv, so that extended locale tests can be performed.
|
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
|
||||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
# 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.
|
# Export file names for ABI checking.
|
||||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||||
AC_SUBST(baseline_file)
|
AC_SUBST(baseline_file)
|
||||||
|
|
||||||
dnl XXX move to configure.host?
|
# Determine if checking the ABI is desirable.
|
||||||
case "$target" in
|
if test x$enable_symvers = xno; then
|
||||||
*-*-cygwin* ) enable_abi_check=no ;;
|
enable_abi_check=no
|
||||||
* ) enable_abi_check=yes ;;
|
else
|
||||||
esac
|
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)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -221,7 +221,7 @@ AC_DEFUN(GLIBCPP_CONFIGURE, [
|
||||||
#glibcpp_pch_comp=no
|
#glibcpp_pch_comp=no
|
||||||
#enable_cheaders=c
|
#enable_cheaders=c
|
||||||
#c_compatibility=no
|
#c_compatibility=no
|
||||||
enable_abi_check=no
|
#enable_abi_check=no
|
||||||
#enable_symvers=no
|
#enable_symvers=no
|
||||||
|
|
||||||
# Find platform-specific directories containing configuration info. In
|
# Find platform-specific directories containing configuration info. In
|
||||||
|
@ -2061,20 +2061,33 @@ dnl the testsuite_hooks.h header.
|
||||||
dnl
|
dnl
|
||||||
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
dnl GLIBCPP_CONFIGURE_TESTSUITE [no args]
|
||||||
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
|
||||||
GLIBCPP_CHECK_SETRLIMIT
|
|
||||||
|
|
||||||
# Look for setenv, so that extended locale tests can be performed.
|
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then
|
||||||
GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
|
# 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.
|
# Export file names for ABI checking.
|
||||||
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)/baseline_symbols.txt"
|
||||||
AC_SUBST(baseline_file)
|
AC_SUBST(baseline_file)
|
||||||
|
|
||||||
dnl XXX move to configure.host?
|
# Determine if checking the ABI is desirable.
|
||||||
case "$target" in
|
if test x$enable_symvers = xno; then
|
||||||
*-*-cygwin* ) enable_abi_check=no ;;
|
enable_abi_check=no
|
||||||
* ) enable_abi_check=yes ;;
|
else
|
||||||
esac
|
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)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1504,7 +1504,7 @@ ac_exeext=$EXEEXT
|
||||||
#glibcpp_pch_comp=no
|
#glibcpp_pch_comp=no
|
||||||
#enable_cheaders=c
|
#enable_cheaders=c
|
||||||
#c_compatibility=no
|
#c_compatibility=no
|
||||||
enable_abi_check=no
|
#enable_abi_check=no
|
||||||
#enable_symvers=no
|
#enable_symvers=no
|
||||||
|
|
||||||
# Find platform-specific directories containing configuration info. In
|
# Find platform-specific directories containing configuration info. In
|
||||||
|
@ -23161,328 +23161,9 @@ EOF
|
||||||
|
|
||||||
fi
|
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
|
||||||
|
|
||||||
fi
|
# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no.
|
||||||
|
|
||||||
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.
|
|
||||||
# Check whether --enable-symvers or --disable-symvers was given.
|
# Check whether --enable-symvers or --disable-symvers was given.
|
||||||
if test "${enable_symvers+set}" = set; then
|
if test "${enable_symvers+set}" = set; then
|
||||||
enableval="$enable_symvers"
|
enableval="$enable_symvers"
|
||||||
|
@ -23509,18 +23190,18 @@ fi
|
||||||
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
|
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
|
||||||
if test $enable_symvers != no; then
|
if test $enable_symvers != no; then
|
||||||
echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
|
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"
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
CFLAGS=' -lgcc_s'
|
CFLAGS=' -lgcc_s'
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 23517 "configure"
|
#line 23198 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
return 0
|
return 0
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
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*
|
rm -rf conftest*
|
||||||
glibcpp_shared_libgcc=yes
|
glibcpp_shared_libgcc=yes
|
||||||
else
|
else
|
||||||
|
@ -23555,14 +23236,14 @@ if test $enable_symvers = yes ; then
|
||||||
echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
|
echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
|
||||||
|
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 23559 "configure"
|
#line 23240 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
int foo;
|
int foo;
|
||||||
int main() {
|
int main() {
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
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*
|
rm -rf conftest*
|
||||||
enable_symvers=gnu
|
enable_symvers=gnu
|
||||||
else
|
else
|
||||||
|
@ -23608,10 +23289,359 @@ else
|
||||||
GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
|
GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE=
|
||||||
fi
|
fi
|
||||||
echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
|
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
|
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.
|
# Propagate the target-specific source directories through the build chain.
|
||||||
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
||||||
# uses it, and it only gets used in this file.)
|
# 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_TRUE='#'
|
||||||
GLIBCPP_BUILD_LIBMATH_FALSE=
|
GLIBCPP_BUILD_LIBMATH_FALSE=
|
||||||
fi
|
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
|
cat > confcache <<\EOF
|
||||||
# This file is a shell script that caches the results of configure
|
# 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>
|
# 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 $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.
|
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
|
||||||
if test "${with_gxx_include_dir+set}" = set; then
|
if test "${with_gxx_include_dir+set}" = set; then
|
||||||
withval="$with_gxx_include_dir"
|
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"
|
# Process the option "--enable-version-specific-runtime-libs"
|
||||||
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
|
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.
|
# 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
|
if test "${enable_version_specific_runtime_libs+set}" = set; then
|
||||||
enableval="$enable_version_specific_runtime_libs"
|
enableval="$enable_version_specific_runtime_libs"
|
||||||
|
@ -23798,7 +23810,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking for install location""... $ac_c" 1>&6
|
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
|
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%@OPT_LDFLAGS@%$OPT_LDFLAGS%g
|
||||||
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
|
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
|
||||||
s%@WERROR@%$WERROR%g
|
s%@WERROR@%$WERROR%g
|
||||||
s%@baseline_file@%$baseline_file%g
|
|
||||||
s%@SYMVER_MAP@%$SYMVER_MAP%g
|
s%@SYMVER_MAP@%$SYMVER_MAP%g
|
||||||
s%@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE%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%@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%@OS_INC_SRCDIR@%$OS_INC_SRCDIR%g
|
||||||
s%@ATOMICITY_INC_SRCDIR@%$ATOMICITY_INC_SRCDIR%g
|
s%@ATOMICITY_INC_SRCDIR@%$ATOMICITY_INC_SRCDIR%g
|
||||||
s%@GLIBCPP_IS_CROSS_COMPILING@%$GLIBCPP_IS_CROSS_COMPILING%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%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
|
||||||
s%@GLIBCPP_BUILD_LIBMATH_TRUE@%$GLIBCPP_BUILD_LIBMATH_TRUE%g
|
s%@GLIBCPP_BUILD_LIBMATH_TRUE@%$GLIBCPP_BUILD_LIBMATH_TRUE%g
|
||||||
s%@GLIBCPP_BUILD_LIBMATH_FALSE@%$GLIBCPP_BUILD_LIBMATH_FALSE%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%@glibcpp_prefixdir@%$glibcpp_prefixdir%g
|
||||||
s%@gxx_include_dir@%$gxx_include_dir%g
|
s%@gxx_include_dir@%$gxx_include_dir%g
|
||||||
s%@glibcpp_toolexecdir@%$glibcpp_toolexecdir%g
|
s%@glibcpp_toolexecdir@%$glibcpp_toolexecdir%g
|
||||||
|
|
|
@ -431,14 +431,14 @@ else
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
|
|
||||||
# Establish limits on memory usage during 'make check'
|
|
||||||
GLIBCPP_CONFIGURE_TESTSUITE
|
|
||||||
fi
|
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])
|
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.
|
# Propagate the target-specific source directories through the build chain.
|
||||||
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH
|
||||||
# uses it, and it only gets used in this file.)
|
# 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(OS_INC_SRCDIR)
|
||||||
AC_SUBST(ATOMICITY_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)
|
AC_SUBST(GLIBCPP_IS_CROSS_COMPILING)
|
||||||
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
|
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
|
||||||
dnl from GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT:
|
dnl from GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT:
|
||||||
AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes)
|
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
|
AC_CACHE_SAVE
|
||||||
|
|
||||||
|
|
|
@ -54,23 +54,67 @@ noinst_LIBRARIES = libv3test.a
|
||||||
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
||||||
|
|
||||||
## Build support utilities.
|
## Build support utilities.
|
||||||
## Only build this as native, as need to find startup files and libc to link.
|
if GLIBCPP_TEST_ABI
|
||||||
if GLIBCPP_BUILD_ABI_CHECK
|
|
||||||
noinst_PROGRAMS = abi_check
|
noinst_PROGRAMS = abi_check
|
||||||
else
|
else
|
||||||
noinst_PROGRAMS =
|
noinst_PROGRAMS =
|
||||||
endif
|
endif
|
||||||
abi_check_SOURCES = abi_check.cc
|
abi_check_SOURCES = abi_check.cc
|
||||||
|
|
||||||
|
all-local: stamp_wchar
|
||||||
|
|
||||||
# Enable wchar_t tests if capable.
|
# Enable wchar_t tests if capable.
|
||||||
if GLIBCPP_TEST_WCHAR_T
|
if GLIBCPP_TEST_WCHAR_T
|
||||||
all-local: stamp_wchar
|
|
||||||
else
|
|
||||||
all-local:
|
|
||||||
endif
|
|
||||||
|
|
||||||
stamp_wchar:
|
stamp_wchar:
|
||||||
touch testsuite_wchar_t
|
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'
|
# By adding these files here, automake will remove them for 'make clean'
|
||||||
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
||||||
|
|
|
@ -120,7 +120,6 @@ USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
WARN_FLAGS = @WARN_FLAGS@
|
WARN_FLAGS = @WARN_FLAGS@
|
||||||
WERROR = @WERROR@
|
WERROR = @WERROR@
|
||||||
baseline_file = @baseline_file@
|
|
||||||
check_msgfmt = @check_msgfmt@
|
check_msgfmt = @check_msgfmt@
|
||||||
enable_shared = @enable_shared@
|
enable_shared = @enable_shared@
|
||||||
enable_static = @enable_static@
|
enable_static = @enable_static@
|
||||||
|
@ -173,10 +172,13 @@ INCLUDES = \
|
||||||
|
|
||||||
noinst_LIBRARIES = libv3test.a
|
noinst_LIBRARIES = libv3test.a
|
||||||
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
libv3test_a_SOURCES = testsuite_hooks.cc testsuite_allocator.cc
|
||||||
@GLIBCPP_BUILD_ABI_CHECK_TRUE@noinst_PROGRAMS = @GLIBCPP_BUILD_ABI_CHECK_TRUE@abi_check
|
@GLIBCPP_TEST_ABI_TRUE@noinst_PROGRAMS = @GLIBCPP_TEST_ABI_TRUE@abi_check
|
||||||
@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
|
@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
|
||||||
abi_check_SOURCES = abi_check.cc
|
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'
|
# By adding these files here, automake will remove them for 'make clean'
|
||||||
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
CLEANFILES = *.txt *.tst *.exe core* filebuf_* tmp* ostream_* *.log *.sum \
|
||||||
testsuite_* site.exp abi_check
|
testsuite_* site.exp abi_check
|
||||||
|
@ -194,7 +196,7 @@ LIBS = @LIBS@
|
||||||
libv3test_a_LIBADD =
|
libv3test_a_LIBADD =
|
||||||
libv3test_a_OBJECTS = testsuite_hooks.$(OBJEXT) \
|
libv3test_a_OBJECTS = testsuite_hooks.$(OBJEXT) \
|
||||||
testsuite_allocator.$(OBJEXT)
|
testsuite_allocator.$(OBJEXT)
|
||||||
@GLIBCPP_BUILD_ABI_CHECK_FALSE@noinst_PROGRAMS =
|
@GLIBCPP_TEST_ABI_FALSE@noinst_PROGRAMS =
|
||||||
PROGRAMS = $(noinst_PROGRAMS)
|
PROGRAMS = $(noinst_PROGRAMS)
|
||||||
|
|
||||||
abi_check_OBJECTS = abi_check.$(OBJEXT)
|
abi_check_OBJECTS = abi_check.$(OBJEXT)
|
||||||
|
@ -386,7 +388,7 @@ info: info-am
|
||||||
dvi-am:
|
dvi-am:
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
check-am:
|
check-am:
|
||||||
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
|
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local
|
||||||
check: check-am
|
check: check-am
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
installcheck: installcheck-am
|
installcheck: installcheck-am
|
||||||
|
@ -456,19 +458,58 @@ clean-libtool maintainer-clean-libtool mostlyclean-noinstPROGRAMS \
|
||||||
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
|
distclean-noinstPROGRAMS clean-noinstPROGRAMS \
|
||||||
maintainer-clean-noinstPROGRAMS tags mostlyclean-tags distclean-tags \
|
maintainer-clean-noinstPROGRAMS tags mostlyclean-tags distclean-tags \
|
||||||
clean-tags maintainer-clean-tags distdir check-DEJAGNU info-am info \
|
clean-tags maintainer-clean-tags distdir check-DEJAGNU info-am info \
|
||||||
dvi-am dvi check check-am installcheck-am installcheck install-info-am \
|
dvi-am dvi check-local check check-am installcheck-am installcheck \
|
||||||
install-info install-exec-am install-exec install-data-am install-data \
|
install-info-am install-info install-exec-am install-exec \
|
||||||
install-am install uninstall-am uninstall all-local all-redirect all-am \
|
install-data-am install-data install-am install uninstall-am uninstall \
|
||||||
all installdirs mostlyclean-generic distclean-generic clean-generic \
|
all-local all-redirect all-am all installdirs mostlyclean-generic \
|
||||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||||
|
mostlyclean distclean maintainer-clean
|
||||||
|
|
||||||
|
|
||||||
|
all-local: stamp_wchar
|
||||||
|
|
||||||
# Enable wchar_t tests if capable.
|
# Enable wchar_t tests if capable.
|
||||||
@GLIBCPP_TEST_WCHAR_T_TRUE@all-local: stamp_wchar
|
@GLIBCPP_TEST_WCHAR_T_TRUE@stamp_wchar:
|
||||||
@GLIBCPP_TEST_WCHAR_T_FALSE@all-local:
|
@GLIBCPP_TEST_WCHAR_T_TRUE@ touch testsuite_wchar_t
|
||||||
|
@GLIBCPP_TEST_WCHAR_T_FALSE@stamp_wchar:
|
||||||
|
|
||||||
stamp_wchar:
|
# Override this so local rules are possible.
|
||||||
touch testsuite_wchar_t
|
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.
|
# 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.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|
|
@ -313,17 +313,20 @@ main(int argc, char** argv)
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
// Get arguments. (Heading towards getopt_long, I can feel it.)
|
// Get arguments. (Heading towards getopt_long, I can feel it.)
|
||||||
string argv1;
|
bool verbose = false;
|
||||||
if (argc < 4 || (string("--help") == (argv1 = argv[1])))
|
string argv1 = argc > 1 ? argv[1] : "";
|
||||||
|
if (argv1 == "--help" || argc < 4)
|
||||||
{
|
{
|
||||||
cerr << "Usage: abi_check --check cur baseline\n"
|
cerr << "usage: abi_check --check current baseline\n"
|
||||||
" --help\n\n"
|
" --check-verbose current baseline\n"
|
||||||
"Where CUR is a file containing the current results from\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"
|
"extract_symvers, and BASELINE is one from config/abi.\n"
|
||||||
<< endl;
|
<< endl;
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
else if (argv1 == "--check-verbose")
|
||||||
|
verbose = true;
|
||||||
|
|
||||||
// Quick sanity/setup check for arguments.
|
// Quick sanity/setup check for arguments.
|
||||||
const char* test_file = argv[2];
|
const char* test_file = argv[2];
|
||||||
|
@ -412,21 +415,21 @@ main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Report results.
|
// Report results.
|
||||||
if (added_names.size())
|
if (verbose && added_names.size())
|
||||||
{
|
{
|
||||||
cout << added_names.size() << " added symbols " << endl;
|
cout << added_names.size() << " added symbols " << endl;
|
||||||
for (size_t j = 0; j < added_names.size() ; ++j)
|
for (size_t j = 0; j < added_names.size() ; ++j)
|
||||||
report_symbol_info(test_symbols[added_names[j]], j + 1);
|
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;
|
cout << missing_names.size() << " missing symbols " << endl;
|
||||||
for (size_t j = 0; j < missing_names.size() ; ++j)
|
for (size_t j = 0; j < missing_names.size() ; ++j)
|
||||||
report_symbol_info(baseline_symbols[missing_names[j]], j + 1);
|
report_symbol_info(baseline_symbols[missing_names[j]], j + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (incompatible.size ())
|
if (verbose && incompatible.size())
|
||||||
{
|
{
|
||||||
cout << incompatible.size() << " incompatible symbols " << endl;
|
cout << incompatible.size() << " incompatible symbols " << endl;
|
||||||
for (size_t j = 0; j < incompatible.size() ; ++j)
|
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
|
cout << "\n\t\t=== libstdc++-v3 check-abi Summary ===" << endl;
|
||||||
<< " ===" << endl << endl;
|
cout << endl;
|
||||||
cout << "# of added symbols:\t\t " << added_names.size() << endl;
|
cout << "# of added symbols:\t\t " << added_names.size() << endl;
|
||||||
cout << "# of missing symbols:\t\t " << missing_names.size() << endl;
|
cout << "# of missing symbols:\t\t " << missing_names.size() << endl;
|
||||||
cout << "# of incompatible symbols:\t " << incompatible.size() << endl;
|
cout << "# of incompatible symbols:\t " << incompatible.size() << endl;
|
||||||
|
cout << endl;
|
||||||
|
cout << "using: " << baseline_file << endl;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue