diff --git a/sim/ppc/config.in b/sim/ppc/config.in
index 4f28271..c1105f2 100644
--- a/sim/ppc/config.in
+++ b/sim/ppc/config.in
@@ -24,6 +24,12 @@
 /* Define if struct statfs is defined in <sys/mount.h> */
 #undef HAVE_STRUCT_STATFS
 
+/* Define if System V semaphores are supported */
+#undef HAVE_SYSV_SEM
+
+/* Define if System V shared memory is supported */
+#undef HAVE_SYSV_SHM
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
diff --git a/sim/ppc/configure b/sim/ppc/configure
index 7104a99..ab90860 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -3220,6 +3220,12 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sysv_sem" >&5
 $as_echo "$ac_cv_sysv_sem" >&6; }
+if test x"$ac_cv_sysv_sem" = x"yes"; then :
+
+$as_echo "#define HAVE_SYSV_SEM 1" >>confdefs.h
+
+
+fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether System V shared memory is supported" >&5
 $as_echo_n "checking whether System V shared memory is supported... " >&6; }
@@ -3255,16 +3261,16 @@
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sysv_shm" >&5
 $as_echo "$ac_cv_sysv_shm" >&6; }
+if test x"$ac_cv_sysv_shm" = x"yes"; then :
 
-if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then
-  sim_sysv_ipc_hw=",sem,shm";
-else
-  sim_sysv_ipc_hw="";
+$as_echo "#define HAVE_SYSV_SHM 1" >>confdefs.h
+
+
 fi
 
 # Check whether --enable-sim-hardware was given.
 if test "${enable_sim_hardware+set}" = set; then :
-  enableval=$enable_sim_hardware; hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
+  enableval=$enable_sim_hardware; hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide,sem,shm"
 case "${enableval}" in
   yes)	;;
   no)	as_fn_error $? "\"List of hardware must be specified for --enable-sim-hardware\"" "$LINENO" 5; hardware="";;
@@ -3278,7 +3284,7 @@
   echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
 fi
 else
-  hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
+  hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide,sem,shm"
 sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
 sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
 if test x"$silent" != x"yes"; then
diff --git a/sim/ppc/configure.ac b/sim/ppc/configure.ac
index b78a09d..9b01aed 100644
--- a/sim/ppc/configure.ac
+++ b/sim/ppc/configure.ac
@@ -131,6 +131,9 @@
   if (semctl(id, 0, IPC_RMID, arg) == -1)
     return 1;
 ], [ac_cv_sysv_sem="yes"], [ac_cv_sysv_sem="no"])])
+AS_IF([test x"$ac_cv_sysv_sem" = x"yes"], [dnl
+  AC_DEFINE(HAVE_SYSV_SEM, 1, [Define if System V semaphores are supported])
+])
 
 AC_CACHE_CHECK(whether System V shared memory is supported,
 ac_cv_sysv_shm,
@@ -144,16 +147,13 @@
   if (shmctl(id, IPC_RMID, 0) == -1)
     return 1;
 ], [ac_cv_sysv_shm="yes"], [ac_cv_sysv_shm="no"])])
-
-if test x"$ac_cv_sysv_shm" = x"yes" -a x"$ac_cv_sysv_sem" = x"yes" ; then
-  sim_sysv_ipc_hw=",sem,shm";
-else
-  sim_sysv_ipc_hw="";
-fi
+AS_IF([test x"$ac_cv_sysv_shm" = x"yes"], [dnl
+  AC_DEFINE(HAVE_SYSV_SHM, 1, [Define if System V shared memory is supported])
+])
 
 AC_ARG_ENABLE(sim-hardware,
 [  --enable-sim-hardware=list		Specify the hardware to be included in the build.],
-[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
+[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide,sem,shm"
 case "${enableval}" in
   yes)	;;
   no)	AC_MSG_ERROR("List of hardware must be specified for --enable-sim-hardware"); hardware="";;
@@ -165,7 +165,7 @@
 sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
 if test x"$silent" != x"yes" && test x"$hardware" != x""; then
   echo "Setting hardware to $sim_hw_src, $sim_hw_obj"
-fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide${sim_sysv_ipc_hw}"
+fi],[hardware="cpu,memory,nvram,iobus,htab,disk,trace,register,vm,init,core,pal,com,eeprom,opic,glue,phb,ide,sem,shm"
 sim_hw_src=`echo $hardware | sed -e 's/,/.c hw_/g' -e 's/^/hw_/' -e s'/$/.c/'`
 sim_hw_obj=`echo $sim_hw_src | sed -e 's/\.c/.o/g'`
 if test x"$silent" != x"yes"; then
diff --git a/sim/ppc/hw_sem.c b/sim/ppc/hw_sem.c
index 937e2ad..c43af3b 100644
--- a/sim/ppc/hw_sem.c
+++ b/sim/ppc/hw_sem.c
@@ -84,6 +84,8 @@
 
    */
 
+#ifdef HAVE_SYSV_SEM
+
 typedef struct _hw_sem_device {
   unsigned_word physical_address;
   key_t key;
@@ -278,4 +280,12 @@
   { NULL },
 };
 
+#else
+
+const device_descriptor hw_sem_device_descriptor[] = {
+  { NULL },
+};
+
+#endif /* HAVE_SYSV_SEM */
+
 #endif /* _HW_SEM_C_ */
diff --git a/sim/ppc/hw_shm.c b/sim/ppc/hw_shm.c
index c4d5cae..0f78ae8 100644
--- a/sim/ppc/hw_shm.c
+++ b/sim/ppc/hw_shm.c
@@ -77,6 +77,8 @@
 
    */
 
+#ifdef HAVE_SYSV_SHM
+
 typedef struct _hw_shm_device {
   unsigned_word physical_address;
   char *shm_address;
@@ -222,4 +224,12 @@
   { NULL },
 };
 
+#else
+
+const device_descriptor hw_shm_device_descriptor[] = {
+  { NULL },
+};
+
+#endif /* HAVE_SYSV_SHM */
+
 #endif /* _HW_SHM_C_ */
