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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 e567127..3bff784 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 4c2a1be..f73f375 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 4bda540..6c3f314 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 d861013..f74ad78 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 d861013..f74ad78 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 1f45d0e..1f3c3a3 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 1f45d0e..1f3c3a3 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)
     {