diff options
Diffstat (limited to 'sim/iq2000')
-rw-r--r-- | sim/iq2000/ChangeLog | 6 | ||||
-rwxr-xr-x | sim/iq2000/configure | 135 | ||||
-rw-r--r-- | sim/iq2000/configure.ac | 8 |
3 files changed, 147 insertions, 2 deletions
diff --git a/sim/iq2000/ChangeLog b/sim/iq2000/ChangeLog index 553c8ef..b22b4f4 100644 --- a/sim/iq2000/ChangeLog +++ b/sim/iq2000/ChangeLog @@ -1,3 +1,9 @@ +2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com> + + * configure.ac: Fail if dv-sockser.o not available. + Error when --disable-sim-hardware is specified. + * configure: Regenerated. + 2012-06-15 Joel Brobecker <brobecker@adacore.com> * config.in, configure: Regenerate. diff --git a/sim/iq2000/configure b/sim/iq2000/configure index b70a129..7eda691 100755 --- a/sim/iq2000/configure +++ b/sim/iq2000/configure @@ -601,6 +601,7 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS cgen_breaks +SIM_DV_SOCKSER_O cgen cgendir CGEN_MAINT @@ -768,6 +769,7 @@ enable_sim_default_model enable_sim_environment enable_sim_inline enable_cgen_maint +enable_sim_hardware ' ac_precious_vars='build_alias host_alias @@ -1417,6 +1419,7 @@ Optional Features: --enable-sim-environment=environment Specify mixed, user, virtual or operating environment. --enable-sim-inline=inlines Specify which functions should be inlined. --enable-cgen-maint=DIR build cgen generated files + --enable-sim-hardware=LIST Specify the hardware to be included in the build. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -12273,7 +12276,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12276 "configure" +#line 12279 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12379,7 +12382,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12382 "configure" +#line 12385 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13335,6 +13338,134 @@ fi +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/iq2000/configure.ac b/sim/iq2000/configure.ac index 2484b00..38e0690 100644 --- a/sim/iq2000/configure.ac +++ b/sim/iq2000/configure.ac @@ -14,4 +14,12 @@ SIM_AC_OPTION_ENVIRONMENT SIM_AC_OPTION_INLINE() SIM_AC_OPTION_CGEN_MAINT +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 |