mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
sim: sh: use common configure options
In preparation for converting to nrun, call the common functions that are needed. This also produces a bunch of warnings, but one thing at a time.
This commit is contained in:
parent
92c695a14f
commit
6d89786cb3
@ -1,3 +1,10 @@
|
||||
2015-03-28 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config.in, configure: Regenerate.
|
||||
* configure.ac: Call SIM_AC_OPTION_ENDIAN, SIM_AC_OPTION_ALIGNMENT,
|
||||
SIM_AC_OPTION_HOSTENDIAN, SIM_AC_OPTION_ENVIRONMENT,
|
||||
SIM_AC_OPTION_INLINE, SIM_AC_OPTION_WARNINGS.
|
||||
|
||||
2015-03-16 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* config.in, configure: Regenerate.
|
||||
|
@ -1,5 +1,8 @@
|
||||
/* config.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
||||
|
||||
/* Define to 1 if translation of program messages to the user's native
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
@ -135,6 +138,18 @@
|
||||
#endif
|
||||
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
# undef WORDS_BIGENDIAN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define to 1 if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
|
528
sim/sh/configure
vendored
528
sim/sh/configure
vendored
@ -759,6 +759,14 @@ enable_sim_trace
|
||||
enable_sim_profile
|
||||
with_pkgversion
|
||||
with_bugurl
|
||||
enable_sim_endian
|
||||
enable_sim_alignment
|
||||
enable_sim_hostendian
|
||||
enable_sim_environment
|
||||
enable_sim_inline
|
||||
enable_werror
|
||||
enable_build_warnings
|
||||
enable_sim_build_warnings
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@ -1401,6 +1409,16 @@ Optional Features:
|
||||
--enable-sim-stdio Specify whether to use stdio for console input/output.
|
||||
--enable-sim-trace=opts Enable tracing flags
|
||||
--enable-sim-profile=opts Enable profiling flags
|
||||
--enable-sim-endian=endian Specify target byte endian orientation.
|
||||
--enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
|
||||
--enable-sim-hostendian=end Specify host byte endian orientation.
|
||||
--enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
|
||||
--enable-sim-inline=inlines Specify which functions should be inlined.
|
||||
--enable-werror treat compile warnings as errors
|
||||
--enable-build-warnings enable build-time compiler warnings if gcc is used
|
||||
--enable-sim-build-warnings
|
||||
enable SIM specific build-time compiler warnings if
|
||||
gcc is used
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@ -12354,7 +12372,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12357 "configure"
|
||||
#line 12375 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12460,7 +12478,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12463 "configure"
|
||||
#line 12481 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12951,6 +12969,511 @@ sim_link_links="${sim_link_links} targ-vals.def"
|
||||
|
||||
|
||||
|
||||
wire_endian=""
|
||||
default_endian=""
|
||||
# Check whether --enable-sim-endian was given.
|
||||
if test "${enable_sim_endian+set}" = set; then :
|
||||
enableval=$enable_sim_endian; case "${enableval}" in
|
||||
b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
|
||||
l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
|
||||
yes) if test x"$wire_endian" != x; then
|
||||
sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
|
||||
else
|
||||
if test x"$default_endian" != x; then
|
||||
sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
|
||||
else
|
||||
echo "No hard-wired endian for target $target" 1>&6
|
||||
sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
|
||||
fi
|
||||
fi;;
|
||||
no) if test x"$default_endian" != x; then
|
||||
sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
|
||||
else
|
||||
if test x"$wire_endian" != x; then
|
||||
sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
|
||||
else
|
||||
echo "No default endian for target $target" 1>&6
|
||||
sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
|
||||
fi
|
||||
fi;;
|
||||
*) as_fn_error "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
|
||||
echo "Setting endian flags = $sim_endian" 6>&1
|
||||
fi
|
||||
else
|
||||
if test x"$default_endian" != x; then
|
||||
sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
|
||||
else
|
||||
if test x"$wire_endian" != x; then
|
||||
sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
|
||||
else
|
||||
sim_endian=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
wire_alignment="STRICT_ALIGNMENT"
|
||||
default_alignment="STRICT_ALIGNMENT"
|
||||
|
||||
# Check whether --enable-sim-alignment was given.
|
||||
if test "${enable_sim_alignment+set}" = set; then :
|
||||
enableval=$enable_sim_alignment; case "${enableval}" in
|
||||
strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
|
||||
nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
|
||||
forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
|
||||
yes) if test x"$wire_alignment" != x; then
|
||||
sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
|
||||
else
|
||||
if test x"$default_alignment" != x; then
|
||||
sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
|
||||
else
|
||||
echo "No hard-wired alignment for target $target" 1>&6
|
||||
sim_alignment="-DWITH_ALIGNMENT=0"
|
||||
fi
|
||||
fi;;
|
||||
no) if test x"$default_alignment" != x; then
|
||||
sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
|
||||
else
|
||||
if test x"$wire_alignment" != x; then
|
||||
sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
|
||||
else
|
||||
echo "No default alignment for target $target" 1>&6
|
||||
sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
|
||||
fi
|
||||
fi;;
|
||||
*) as_fn_error "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
|
||||
echo "Setting alignment flags = $sim_alignment" 6>&1
|
||||
fi
|
||||
else
|
||||
if test x"$default_alignment" != x; then
|
||||
sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
|
||||
else
|
||||
if test x"$wire_alignment" != x; then
|
||||
sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
|
||||
else
|
||||
sim_alignment=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-sim-hostendian was given.
|
||||
if test "${enable_sim_hostendian+set}" = set; then :
|
||||
enableval=$enable_sim_hostendian; case "${enableval}" in
|
||||
no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
|
||||
b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
|
||||
l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
|
||||
*) as_fn_error "\"Unknown value $enableval for --enable-sim-hostendian\"" "$LINENO" 5; sim_hostendian="";;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
|
||||
echo "Setting hostendian flags = $sim_hostendian" 6>&1
|
||||
fi
|
||||
else
|
||||
|
||||
if test "x$cross_compiling" = "xno"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
|
||||
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
|
||||
if test "${ac_cv_c_bigendian+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_cv_c_bigendian=unknown
|
||||
# See if we're dealing with a universal compiler.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#ifndef __APPLE_CC__
|
||||
not a universal capable compiler
|
||||
#endif
|
||||
typedef int dummy;
|
||||
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
|
||||
# Check for potential -arch flags. It is not universal unless
|
||||
# there are at least two -arch flags with different values.
|
||||
ac_arch=
|
||||
ac_prev=
|
||||
for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
|
||||
if test -n "$ac_prev"; then
|
||||
case $ac_word in
|
||||
i?86 | x86_64 | ppc | ppc64)
|
||||
if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
|
||||
ac_arch=$ac_word
|
||||
else
|
||||
ac_cv_c_bigendian=universal
|
||||
break
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
ac_prev=
|
||||
elif test "x$ac_word" = "x-arch"; then
|
||||
ac_prev=arch
|
||||
fi
|
||||
done
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
# See if sys/param.h defines the BYTE_ORDER macro.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
|
||||
&& defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
|
||||
&& LITTLE_ENDIAN)
|
||||
bogus endian macros
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
# It does; now see whether it defined to BIG_ENDIAN or not.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#if BYTE_ORDER != BIG_ENDIAN
|
||||
not big endian
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_c_bigendian=yes
|
||||
else
|
||||
ac_cv_c_bigendian=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
# See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <limits.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
|
||||
bogus endian macros
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
# It does; now see whether it defined to _BIG_ENDIAN or not.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <limits.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifndef _BIG_ENDIAN
|
||||
not big endian
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_c_bigendian=yes
|
||||
else
|
||||
ac_cv_c_bigendian=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
# Compile a test program.
|
||||
if test "$cross_compiling" = yes; then :
|
||||
# Try to guess by grepping values from an object file.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
short int ascii_mm[] =
|
||||
{ 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
|
||||
short int ascii_ii[] =
|
||||
{ 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
|
||||
int use_ascii (int i) {
|
||||
return ascii_mm[i] + ascii_ii[i];
|
||||
}
|
||||
short int ebcdic_ii[] =
|
||||
{ 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
|
||||
short int ebcdic_mm[] =
|
||||
{ 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
|
||||
int use_ebcdic (int i) {
|
||||
return ebcdic_mm[i] + ebcdic_ii[i];
|
||||
}
|
||||
extern int foo;
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return use_ascii (foo) == use_ebcdic (foo);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
|
||||
if test "$ac_cv_c_bigendian" = unknown; then
|
||||
ac_cv_c_bigendian=no
|
||||
else
|
||||
# finding both strings is unlikely to happen, but who knows?
|
||||
ac_cv_c_bigendian=unknown
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
/* Are we little or big endian? From Harbison&Steele. */
|
||||
union
|
||||
{
|
||||
long int l;
|
||||
char c[sizeof (long int)];
|
||||
} u;
|
||||
u.l = 1;
|
||||
return u.c[sizeof (long int) - 1] == 1;
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
ac_cv_c_bigendian=no
|
||||
else
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
|
||||
$as_echo "$ac_cv_c_bigendian" >&6; }
|
||||
case $ac_cv_c_bigendian in #(
|
||||
yes)
|
||||
$as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
|
||||
;; #(
|
||||
no)
|
||||
;; #(
|
||||
universal)
|
||||
|
||||
$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
|
||||
|
||||
;; #(
|
||||
*)
|
||||
as_fn_error "unknown endianness
|
||||
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
|
||||
esac
|
||||
|
||||
if test $ac_cv_c_bigendian = yes; then
|
||||
sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
|
||||
else
|
||||
sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
|
||||
fi
|
||||
else
|
||||
sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-sim-environment was given.
|
||||
if test "${enable_sim_environment+set}" = set; then :
|
||||
enableval=$enable_sim_environment; case "${enableval}" in
|
||||
all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
|
||||
user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
|
||||
virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
|
||||
operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
|
||||
*) as_fn_error "\"Unknown value $enableval passed to --enable-sim-environment\"" "$LINENO" 5;
|
||||
sim_environment="";;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
|
||||
echo "Setting sim environment = $sim_environment" 6>&1
|
||||
fi
|
||||
else
|
||||
sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"
|
||||
fi
|
||||
|
||||
|
||||
default_sim_inline=""
|
||||
# Check whether --enable-sim-inline was given.
|
||||
if test "${enable_sim_inline+set}" = set; then :
|
||||
enableval=$enable_sim_inline; sim_inline=""
|
||||
case "$enableval" in
|
||||
no) sim_inline="-DDEFAULT_INLINE=0";;
|
||||
0) sim_inline="-DDEFAULT_INLINE=0";;
|
||||
yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
|
||||
1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
|
||||
*) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
|
||||
new_flag=""
|
||||
case "$x" in
|
||||
*_INLINE=*) new_flag="-D$x";;
|
||||
*=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
|
||||
*_INLINE) new_flag="-D$x=ALL_C_INLINE";;
|
||||
*) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
|
||||
esac
|
||||
if test x"$sim_inline" = x""; then
|
||||
sim_inline="$new_flag"
|
||||
else
|
||||
sim_inline="$sim_inline $new_flag"
|
||||
fi
|
||||
done;;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
|
||||
echo "Setting inline flags = $sim_inline" 6>&1
|
||||
fi
|
||||
else
|
||||
|
||||
if test "x$cross_compiling" = "xno"; then
|
||||
if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
|
||||
sim_inline="${default_sim_inline}"
|
||||
if test x"$silent" != x"yes"; then
|
||||
echo "Setting inline flags = $sim_inline" 6>&1
|
||||
fi
|
||||
else
|
||||
sim_inline=""
|
||||
fi
|
||||
else
|
||||
sim_inline="-DDEFAULT_INLINE=0"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-werror was given.
|
||||
if test "${enable_werror+set}" = set; then :
|
||||
enableval=$enable_werror; case "${enableval}" in
|
||||
yes | y) ERROR_ON_WARNING="yes" ;;
|
||||
no | n) ERROR_ON_WARNING="no" ;;
|
||||
*) as_fn_error "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Enable -Werror by default when using gcc
|
||||
if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
|
||||
ERROR_ON_WARNING=yes
|
||||
fi
|
||||
|
||||
WERROR_CFLAGS=""
|
||||
if test "${ERROR_ON_WARNING}" = yes ; then
|
||||
# NOTE: Disabled in the sim dir due to most sims generating warnings.
|
||||
# WERROR_CFLAGS="-Werror"
|
||||
true
|
||||
fi
|
||||
|
||||
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
|
||||
-Wpointer-sign \
|
||||
-Wno-unused -Wunused-value -Wunused-function \
|
||||
-Wno-switch -Wno-char-subscripts -Wmissing-prototypes
|
||||
-Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type \
|
||||
-Wold-style-declaration -Wold-style-definition"
|
||||
|
||||
# Enable -Wno-format by default when using gcc on mingw since many
|
||||
# GCC versions complain about %I64.
|
||||
case "${host}" in
|
||||
*-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
|
||||
*) build_warnings="$build_warnings -Wformat-nonliteral" ;;
|
||||
esac
|
||||
|
||||
# Check whether --enable-build-warnings was given.
|
||||
if test "${enable_build_warnings+set}" = set; then :
|
||||
enableval=$enable_build_warnings; case "${enableval}" in
|
||||
yes) ;;
|
||||
no) build_warnings="-w";;
|
||||
,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
|
||||
build_warnings="${build_warnings} ${t}";;
|
||||
*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
|
||||
build_warnings="${t} ${build_warnings}";;
|
||||
*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
|
||||
echo "Setting compiler warning flags = $build_warnings" 6>&1
|
||||
fi
|
||||
fi
|
||||
# Check whether --enable-sim-build-warnings was given.
|
||||
if test "${enable_sim_build_warnings+set}" = set; then :
|
||||
enableval=$enable_sim_build_warnings; case "${enableval}" in
|
||||
yes) ;;
|
||||
no) build_warnings="-w";;
|
||||
,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
|
||||
build_warnings="${build_warnings} ${t}";;
|
||||
*,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
|
||||
build_warnings="${t} ${build_warnings}";;
|
||||
*) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
|
||||
esac
|
||||
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
|
||||
echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
|
||||
fi
|
||||
fi
|
||||
WARN_CFLAGS=""
|
||||
if test "x${build_warnings}" != x -a "x$GCC" = xyes
|
||||
then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler warning flags" >&5
|
||||
$as_echo_n "checking compiler warning flags... " >&6; }
|
||||
# Separate out the -Werror flag as some files just cannot be
|
||||
# compiled with it enabled.
|
||||
for w in ${build_warnings}; do
|
||||
case $w in
|
||||
-Werr*) WERROR_CFLAGS=-Werror ;;
|
||||
*) # Check that GCC accepts it
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $w"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
WARN_CFLAGS="${WARN_CFLAGS} $w"
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
CFLAGS="$saved_CFLAGS"
|
||||
esac
|
||||
done
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${WARN_CFLAGS} ${WERROR_CFLAGS}" >&5
|
||||
$as_echo "${WARN_CFLAGS} ${WERROR_CFLAGS}" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
|
||||
ac_sources="$sim_link_files"
|
||||
ac_dests="$sim_link_links"
|
||||
while test -n "$ac_sources"; do
|
||||
@ -13085,6 +13608,7 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
ac_write_fail=0
|
||||
ac_clean_files_save=$ac_clean_files
|
||||
|
@ -5,4 +5,11 @@ sinclude(../common/acinclude.m4)
|
||||
|
||||
SIM_AC_COMMON
|
||||
|
||||
SIM_AC_OPTION_ENDIAN
|
||||
SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT,STRICT_ALIGNMENT)
|
||||
SIM_AC_OPTION_HOSTENDIAN
|
||||
SIM_AC_OPTION_ENVIRONMENT
|
||||
SIM_AC_OPTION_INLINE
|
||||
SIM_AC_OPTION_WARNINGS
|
||||
|
||||
SIM_AC_OUTPUT
|
||||
|
Loading…
Reference in New Issue
Block a user