From fb61c40addb9bccbd2404d69bfac0836ce8a9462 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sat, 23 Mar 2013 15:06:59 +0000 Subject: [PATCH] 2013-03-23 Joel Sherrill * configure.ac: Fail if dv-sockser.o not available. Error when --disable-sim-hardware is specified. * tconfig.in: Conditionalize use of dv_sockser_install. * configure: Regenerated. * config.in: Regenerated. --- sim/mn10300/ChangeLog | 8 +++ sim/mn10300/config.in | 7 ++ sim/mn10300/configure | 152 ++++++++++++++++++++++++++++++++++++++- sim/mn10300/configure.ac | 8 +++ sim/mn10300/tconfig.in | 3 + 5 files changed, 175 insertions(+), 3 deletions(-) diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index 3649622e2ea..0ee66b94c74 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -1,3 +1,11 @@ +2013-03-23 Joel Sherrill + + * configure.ac: Fail if dv-sockser.o not available. + Error when --disable-sim-hardware is specified. + * tconfig.in: Conditionalize use of dv_sockser_install. + * configure: Regenerated. + * config.in: Regenerated. + 2012-06-17 Hans-Peter Nilsson * interp.c: Include config.h first. Do not include sysdep.h. diff --git a/sim/mn10300/config.in b/sim/mn10300/config.in index 94d04031b91..30c32c32782 100644 --- a/sim/mn10300/config.in +++ b/sim/mn10300/config.in @@ -16,6 +16,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H +/* Define if dv-sockser is usable. */ +#undef HAVE_DV_SOCKSER + /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H @@ -100,6 +103,10 @@ /* Define to 1 if you have the `__setfpucw' function. */ #undef HAVE___SETFPUCW +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + /* Name of this package. */ #undef PACKAGE diff --git a/sim/mn10300/configure b/sim/mn10300/configure index 2db2ee8a408..31ee9255384 100755 --- a/sim/mn10300/configure +++ b/sim/mn10300/configure @@ -601,6 +601,7 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS cgen_breaks +SIM_DV_SOCKSER_O REPORT_BUGS_TEXI REPORT_BUGS_TO PKGVERSION @@ -12276,7 +12277,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12279 "configure" +#line 12280 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12382,7 +12383,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12385 "configure" +#line 12386 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13436,7 +13437,7 @@ fi fi -if test x"yes" = x"yes"; then +if test x"yes" != x"no"; then sim_hw_p=yes else sim_hw_p=no @@ -13475,6 +13476,19 @@ else *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";; esac done + # mingw does not support sockser + SIM_DV_SOCKSER_O="" + case ${host} in + *mingw*) ;; + *) SIM_DV_SOCKSER_O="dv-sockser.o" + +cat >>confdefs.h <<_ACEOF +#define HAVE_DV_SOCKSER 1 +_ACEOF + + ;; + esac + fi if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs" @@ -13482,6 +13496,10 @@ fi else if test "$sim_hw_p" != yes; then + if test "yes" = "always"; then + as_fn_error "Sorry, but this simulator requires that hardware support +be enabled. Please configure without --disable-hw-support." "$LINENO" 5 + fi sim_hw_objs= sim_hw_cflags="-DWITH_HW=0" sim_hw= @@ -13569,6 +13587,134 @@ done +if test x"always" != x"no"; then + sim_hw_p=yes +else + sim_hw_p=no +fi +if test """"; then + hardware="""" +else + hardware="cfi core pal glue" +fi +hardware="$hardware """ +sim_hw_cflags="-DWITH_HW=1" +sim_hw="$hardware" +sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`" +# Check whether --enable-sim-hardware was given. +if test "${enable_sim_hardware+set}" = set; then : + enableval=$enable_sim_hardware; +case "${enableval}" in + yes) sim_hw_p=yes;; + no) sim_hw_p=no;; + ,*) sim_hw_p=yes; hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";; + *,) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";; + *) sim_hw_p=yes; hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';; +esac +if test "$sim_hw_p" != yes; then + sim_hw_objs= + sim_hw_cflags="-DWITH_HW=0" + sim_hw= +else + sim_hw_cflags="-DWITH_HW=1" + # remove duplicates + sim_hw="" + sim_hw_objs="\$(SIM_COMMON_HW_OBJS)" + for i in $hardware ; do + case " $sim_hw " in + *" $i "*) ;; + *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";; + esac + done + # mingw does not support sockser + SIM_DV_SOCKSER_O="" + case ${host} in + *mingw*) ;; + *) SIM_DV_SOCKSER_O="dv-sockser.o" + +cat >>confdefs.h <<_ACEOF +#define HAVE_DV_SOCKSER 1 +_ACEOF + + ;; + esac + +fi +if test x"$silent" != x"yes" && test "$sim_hw_p" = "yes"; then + echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs" +fi +else + +if test "$sim_hw_p" != yes; then + if test "always" = "always"; then + as_fn_error "Sorry, but this simulator requires that hardware support +be enabled. Please configure without --disable-hw-support." "$LINENO" 5 + fi + sim_hw_objs= + sim_hw_cflags="-DWITH_HW=0" + sim_hw= +fi +if test x"$silent" != x"yes"; then + echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs" +fi +fi + +case " $hardware " in + *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5 +$as_echo_n "checking for log2 in -lm... " >&6; } +if test "${ac_cv_lib_m_log2+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char log2 (); +int +main () +{ +return log2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_log2=yes +else + ac_cv_lib_m_log2=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5 +$as_echo "$ac_cv_lib_m_log2" >&6; } +if test "x$ac_cv_lib_m_log2" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi +;; +esac + + +if test -z "$SIM_DV_SOCKSER_O"; then + as_fn_error "Sorry, but hardware support in this simulator +unconditionally relies on dv-sockser.o which is unavailable for your host. +Please fix this simulator." "$LINENO" 5 +fi + + ac_sources="$sim_link_files" ac_dests="$sim_link_links" while test -n "$ac_sources"; do diff --git a/sim/mn10300/configure.ac b/sim/mn10300/configure.ac index 8916c85f7cc..d4449beaaa6 100644 --- a/sim/mn10300/configure.ac +++ b/sim/mn10300/configure.ac @@ -17,4 +17,12 @@ SIM_AC_OPTION_HARDWARE(yes,,mn103cpu mn103int mn103tim mn103ser mn103iop) AC_CHECK_FUNCS(time chmod utime fork execve execv chown) AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h utime.h time.h) +SIM_AC_OPTION_HARDWARE(always,"","") + +if test -z "$SIM_DV_SOCKSER_O"; then + AC_MSG_ERROR([Sorry, but hardware support in this simulator +unconditionally relies on dv-sockser.o which is unavailable for your host. +Please fix this simulator.]) +fi + SIM_AC_OUTPUT diff --git a/sim/mn10300/tconfig.in b/sim/mn10300/tconfig.in index 14ca8e77645..1d1237bd18c 100644 --- a/sim/mn10300/tconfig.in +++ b/sim/mn10300/tconfig.in @@ -6,8 +6,11 @@ #include "gdb/remote-sim.h" #include "sim-module.h" +/* FIXME: Revisit. */ +#ifdef HAVE_DV_SOCKSER MODULE_INSTALL_FN dv_sockser_install; #define MODULE_LIST dv_sockser_install, +#endif /* Define this if the simulator supports profiling. See the mips simulator for an example. -- 2.30.2