diff --git a/config.h.in b/config.h.in index 6c12ac3..c8499c0 100644 --- a/config.h.in +++ b/config.h.in @@ -9,6 +9,9 @@ /* Gpsim 0.21.4 was found */ #undef GPSIM_0_21_4 +/* Gpsim 0.27.0 was found */ +#undef GPSIM_0_27_0 + /* Define to 1 if you have the header file. */ #undef HAVE_CARBON_CARBON_H diff --git a/configure.in b/configure.in index 8e0d9ba..7792976 100644 --- a/configure.in +++ b/configure.in @@ -131,6 +131,18 @@ AC_TRY_COMPILE( AC_MSG_RESULT( no ) ) +AC_MSG_CHECKING([for gpsim 0.27.0 availability]) +AC_TRY_COMPILE( + [ +#include +void func() { pic_processor *Processor; sizeof(Processor->Wreg); } + ], + [], + AC_MSG_RESULT( yes ) + have_gpsim_0_27_0=yes, + AC_MSG_RESULT( no ) +) + CXXFLAGS="$ktechlab_save_CXXFLAGS" AC_LANG_RESTORE @@ -199,6 +211,10 @@ if test x$have_gpsim_0_21_4 == xyes || test x$have_gpsim_0_21_11 == xyes || test LIBS="$ac_save_LIBS" fi +if test x$have_gpsim_0_27_0 == xyes; then + AC_DEFINE([GPSIM_0_27_0],[],[Gpsim 0.27.0 was found]) +fi + AC_SUBST(LIB_GPSIM) ############################## diff --git a/configure.in.in b/configure.in.in index 434d2c6..e1fdd88 100644 --- a/configure.in.in +++ b/configure.in.in @@ -68,6 +68,18 @@ AC_TRY_COMPILE( AC_MSG_RESULT( no ) ) +AC_MSG_CHECKING([for gpsim 0.27.0 availability]) +AC_TRY_COMPILE( + [ +#include +void func() { pic_processor *Processor; sizeof(Processor->Wreg); } + ], + [], + AC_MSG_RESULT( yes ) + have_gpsim_0_27_0=yes, + AC_MSG_RESULT( no ) +) + CXXFLAGS="$ktechlab_save_CXXFLAGS" AC_LANG_RESTORE @@ -136,6 +148,10 @@ if test x$have_gpsim_0_21_4 == xyes || test x$have_gpsim_0_21_11 == xyes || test LIBS="$ac_save_LIBS" fi +if test x$have_gpsim_0_27_0 == xyes; then + AC_DEFINE([GPSIM_0_27_0],[],[Gpsim 0.27.0 was found]) +fi + AC_SUBST(LIB_GPSIM) ############################## diff --git a/src/electronics/gpsimprocessor.cpp b/src/electronics/gpsimprocessor.cpp index 587fc6f..c5ad638 100644 --- a/src/electronics/gpsimprocessor.cpp +++ b/src/electronics/gpsimprocessor.cpp @@ -736,7 +736,13 @@ RegisterSet::RegisterSet( pic_processor * picProcessor ) m_nameToRegisterMap[ info->name() ] = info; } - RegisterInfo * info = new RegisterInfo( picProcessor->W ); + RegisterInfo * info = new RegisterInfo( +#ifdef GPSIM_0_27_0 + picProcessor->Wreg +#else + picProcessor->W +#endif + ); m_registers.append( info ); m_nameToRegisterMap[ info->name() ] = info; }