sim: ppc: enable use of gnulib

All other sim arches are using this now, so finish up the logic in
the ppc arch to enable gnulib usage here too.
diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in
index b0d2ae9..397e76c 100644
--- a/sim/ppc/Makefile.in
+++ b/sim/ppc/Makefile.in
@@ -25,6 +25,10 @@
 srcroot = $(srcdir)/../..
 srcsim = $(srcdir)/..
 
+# Helper code from gnulib.
+GNULIB_PARENT_DIR = ../..
+include $(GNULIB_PARENT_DIR)/gnulib/Makefile.gnulib.inc
+
 # Settings from top-level configure.
 include ../arch-subdir.mk
 
@@ -82,11 +86,11 @@
   $(DEVZERO_CFLAGS)
 SIM_FPU_CFLAGS = @sim_fpu_cflags@
 
-STD_CFLAGS	= $(CFLAGS) $(WERROR_CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
+STD_CFLAGS	= $(CFLAGS) $(WERROR_CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(INCGNU) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
 NOWARN_CFLAGS	= $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(INCLUDES) $(SIM_FPU_CFLAGS)
 BUILD_CFLAGS	= $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARN_CFLAGS)
 
-LIBS = $(COMMON_LIBS) @LIBS@
+LIBS = $(COMMON_LIBS) @LIBS@ $(LIBGNU) $(LIBGNU_EXTRA_LIBS)
 
 COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS)
 LINK_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(LDFLAGS_FOR_BUILD) -o $@
diff --git a/sim/ppc/cpu.c b/sim/ppc/cpu.c
index 3169553..1462766 100644
--- a/sim/ppc/cpu.c
+++ b/sim/ppc/cpu.c
@@ -21,6 +21,9 @@
 #ifndef _CPU_C_
 #define _CPU_C_
 
+/* This must come before any other includes.  */
+#include "defs.h"
+
 #include <setjmp.h>
 
 #include "cpu.h"
diff --git a/sim/ppc/defs.h b/sim/ppc/defs.h
index 9a89844..c37f8c6 100644
--- a/sim/ppc/defs.h
+++ b/sim/ppc/defs.h
@@ -20,6 +20,18 @@
 #ifndef DEFS_H
 #define DEFS_H
 
+/* Include gnulib's various configure tests.  */
+#include "gnulib/config.h"
+
+/* Reset macros that our config.h will provide.  */
+#undef PACKAGE
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_NAME
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_URL
+#undef PACKAGE_VERSION
+
 /* Include arch-specific sim's various configure tests.  */
 #include "config.h"
 
diff --git a/sim/ppc/device.c b/sim/ppc/device.c
index 4abef6f..aa97e0b 100644
--- a/sim/ppc/device.c
+++ b/sim/ppc/device.c
@@ -21,6 +21,9 @@
 #ifndef _DEVICE_C_
 #define _DEVICE_C_
 
+/* This must come before any other includes.  */
+#include "defs.h"
+
 #include <stdio.h>
 
 #include "device_table.h"
diff --git a/sim/ppc/main.c b/sim/ppc/main.c
index 3b82c88..d9a4070 100644
--- a/sim/ppc/main.c
+++ b/sim/ppc/main.c
@@ -17,6 +17,8 @@
  
     */
 
+/* This must come before any other includes.  */
+#include "defs.h"
 
 #include <stdarg.h>
 #include <stdio.h>