Index: gettext-runtime/intl/libgnuintl.h.in
--- gettext-runtime/intl/libgnuintl.h.in.orig	2007-11-02 01:23:43 +0100
+++ gettext-runtime/intl/libgnuintl.h.in	2009-06-24 22:51:37 +0200
@@ -88,7 +88,7 @@
    If he doesn't, we choose the method.  A third possible method is
    _INTL_REDIRECT_ASM, supported only by GCC.  */
 #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
-# if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
+# if __GNUC__ >= 2 && !(__APPLE_CC__+0 > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
 #  define _INTL_REDIRECT_ASM
 # else
 #  ifdef __cplusplus
@@ -110,7 +110,7 @@
 /* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
    its n-th argument literally.  This enables GCC to warn for example about
    printf (gettext ("foo %y")).  */
-#if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus)
+#if __GNUC__ >= 3 && !(__APPLE_CC__+0 > 1 && defined __cplusplus)
 # define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
 #else
 # define _INTL_MAY_RETURN_STRING_ARG(n)
Index: gettext-runtime/intl/plural-exp.c
--- gettext-runtime/intl/plural-exp.c.orig	2007-10-13 17:51:52 +0200
+++ gettext-runtime/intl/plural-exp.c	2009-06-24 22:51:37 +0200
@@ -27,7 +27,7 @@
 
 #include "plural-exp.h"
 
-#if (defined __GNUC__ && !(__APPLE_CC__ > 1) && !defined __cplusplus) \
+#if (defined __GNUC__ && !(__APPLE_CC__+0 > 1) && !defined __cplusplus) \
     || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
 
 /* These structs are the constant expression for the germanic plural
Index: gettext-tools/gnulib-lib/execute.c
--- gettext-tools/gnulib-lib/execute.c.orig	2007-10-07 22:29:19 +0200
+++ gettext-tools/gnulib-lib/execute.c	2009-06-24 22:51:37 +0200
@@ -196,6 +196,9 @@
      dependent which error is reported which way.  We treat both cases as
      equivalent.  */
 #if HAVE_POSIX_SPAWN
+#ifndef HAVE_ENVIRON_DECL
+  extern char **environ;
+#endif
   sigset_t blocked_signals;
   posix_spawn_file_actions_t actions;
   bool actions_allocated;
Index: gettext-tools/src/write-catalog.c
--- gettext-tools/src/write-catalog.c.orig	2007-10-07 21:37:39 +0200
+++ gettext-tools/src/write-catalog.c	2009-06-24 22:51:37 +0200
@@ -220,7 +220,7 @@
       /* Open the output file.  */
       if (!to_stdout)
 	{
-	  fd = open (filename, O_WRONLY | O_CREAT);
+	  fd = open (filename, O_WRONLY | O_CREAT, S_IRUSR|S_IWUSR);
 	  if (fd < 0)
 	    {
 	      const char *errno_description = strerror (errno);
