Test for the existence of getcwd, and use it only when found.
authorSebastian Wilhelmi <wilhelmi@ira.uka.de>
Tue, 19 Sep 2000 14:30:35 +0000 (14:30 +0000)
committerSebastian Wilhelmi <wilhelmi@src.gnome.org>
Tue, 19 Sep 2000 14:30:35 +0000 (14:30 +0000)
2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

* acconfig.h, configure.in, gutils.c: Test for the existence of
getcwd, and use it only when found.

* glib.h: Only use the gcc-variable-macro-argument-extension for
gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.

14 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
acconfig.h
configure.in
glib.h
glib/glib.h
glib/gutils.c
gutils.c

index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index e567127d9981a7a09f5cd15f489b64d81f5dffb7..3bff784cb18f3b44274e22f03919b2bf9ec46698 100644 (file)
@@ -1,3 +1,11 @@
+2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in, gutils.c: Test for the existence of
+       getcwd, and use it only when found.
+
+       * glib.h: Only use the gcc-variable-macro-argument-extension for
+       gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
+                                                  
 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gutf8.c: Implement g_ucs4_to_utf8 which was in
index 4c2a1beb20f7a11830c3f606ad2d49bc75d0ae0b..f73f375a4deae21d202690d2fcb5a580c80b0cb4 100644 (file)
@@ -57,6 +57,7 @@
 #undef HAVE_CODESET
 #undef HAVE_DOPRNT
 #undef HAVE_FLOAT_H
+#undef HAVE_GETCWD
 #undef HAVE_GETPWUID_R
 #undef HAVE_GETPWUID_R_POSIX
 #undef HAVE_LIMITS_H
index 4bda5400ec98302c077c09a8717911e66b591e2f..6c3f3143b359a17762b0e59f9f3a8bf733fb5bce 100644 (file)
@@ -357,7 +357,7 @@ GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
 
 # Check for some functions
-AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll)
+AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll getcwd)
 
 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
 # The check is borrowed from the PERL Configure script.
diff --git a/glib.h b/glib.h
index d8610132069754bcbd3eef65b4fda95144689c44..f74ad78e80725b874b8c94140bfad94f6987a53b 100644 (file)
--- a/glib.h
+++ b/glib.h
@@ -1508,7 +1508,7 @@ GLogLevelFlags    g_log_set_always_fatal  (GLogLevelFlags  fatal_mask);
 #define        g_warning(...)  g_log (G_LOG_DOMAIN,         \
                               G_LOG_LEVEL_WARNING,  \
                               __VA_ARGS__)
-#elif defined (__GNUC__)
+#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4)
 #define        g_error(format...)      g_log (G_LOG_DOMAIN,         \
                                       G_LOG_LEVEL_ERROR,    \
                                       format)
index d8610132069754bcbd3eef65b4fda95144689c44..f74ad78e80725b874b8c94140bfad94f6987a53b 100644 (file)
@@ -1508,7 +1508,7 @@ GLogLevelFlags    g_log_set_always_fatal  (GLogLevelFlags  fatal_mask);
 #define        g_warning(...)  g_log (G_LOG_DOMAIN,         \
                               G_LOG_LEVEL_WARNING,  \
                               __VA_ARGS__)
-#elif defined (__GNUC__)
+#elif __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4)
 #define        g_error(format...)      g_log (G_LOG_DOMAIN,         \
                                       G_LOG_LEVEL_ERROR,    \
                                       format)
index 1f45d0e17bfea7839182589c609dcde893cb3d30..1f3c3a347a6026a1a6198534d0461aacfd7209e1 100644 (file)
@@ -430,11 +430,11 @@ g_get_current_dir (void)
   /* We don't use getcwd(3) on SUNOS, because, it does a popen("pwd")
    * and, if that wasn't bad enough, hangs in doing so.
    */
-#if    defined (sun) && !defined (__SVR4)
+#if    (defined (sun) && !defined (__SVR4)) || !defined(HAVE_GETCWD)
   buffer = g_new (gchar, max_len + 1);
   *buffer = 0;
   dir = getwd (buffer);
-#else  /* !sun */
+#else  /* !sun || !HAVE_GETCWD */
   while (max_len < G_MAXULONG / 2)
     {
       buffer = g_new (gchar, max_len + 1);
@@ -447,7 +447,7 @@ g_get_current_dir (void)
       g_free (buffer);
       max_len *= 2;
     }
-#endif /* !sun */
+#endif /* !sun || !HAVE_GETCWD */
   
   if (!dir || !*buffer)
     {
index 1f45d0e17bfea7839182589c609dcde893cb3d30..1f3c3a347a6026a1a6198534d0461aacfd7209e1 100644 (file)
--- a/gutils.c
+++ b/gutils.c
@@ -430,11 +430,11 @@ g_get_current_dir (void)
   /* We don't use getcwd(3) on SUNOS, because, it does a popen("pwd")
    * and, if that wasn't bad enough, hangs in doing so.
    */
-#if    defined (sun) && !defined (__SVR4)
+#if    (defined (sun) && !defined (__SVR4)) || !defined(HAVE_GETCWD)
   buffer = g_new (gchar, max_len + 1);
   *buffer = 0;
   dir = getwd (buffer);
-#else  /* !sun */
+#else  /* !sun || !HAVE_GETCWD */
   while (max_len < G_MAXULONG / 2)
     {
       buffer = g_new (gchar, max_len + 1);
@@ -447,7 +447,7 @@ g_get_current_dir (void)
       g_free (buffer);
       max_len *= 2;
     }
-#endif /* !sun */
+#endif /* !sun || !HAVE_GETCWD */
   
   if (!dir || !*buffer)
     {