[glib] Remove alleged support for last-millennium Unixes



commit 7f5b2901cf5bea290c11133dad16850176178dad
Author: Dan Winship <danw gnome org>
Date:   Sat Oct 19 13:03:56 2013 -0400

    Remove alleged support for last-millennium Unixes
    
    Remove workarounds for NeXTStep (last released in 1995), SunOS (1994),
    HP-UX 9.x (1992) and 10.x (1995), OSF/1 / Digital UNIX / Tru64 UNIX
    4.x (1999), and AIX 4.x (1999).
    
    HP-UX 11 implements dlopen(), so dropping support for earlier versions
    also lets us remove the HP-UX-specific gmodule-dld.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710519

 configure.ac                |   66 ++----------------
 glib/gfileutils.c           |    5 +-
 glib/glibconfig.h.win32.in  |    6 +--
 glib/gpoll.c                |    6 --
 glib/gutils.c               |    9 +--
 gmodule/Makefile.am         |    1 -
 gmodule/gmodule-dld.c       |  163 -------------------------------------------
 gmodule/gmodule.c           |   12 +--
 gmodule/gmoduleconf.h.in    |    3 +-
 gmodule/gmoduleconf.h.win32 |    1 -
 m4macros/glib-2.0.m4        |    5 +-
 11 files changed, 15 insertions(+), 262 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 26a9cd8..a7f1a23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -507,42 +507,6 @@ AS_IF([test "$glib_native_win32" = "yes"], [
 ])
 AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a 
x$glib_win32_static_compilation != xyes])
 
-dnl
-dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
-dnl
-AS_IF([test $cross_compiling != yes], [
-    AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
-    glib_save_LIBS=$LIBS
-    LIBS="$LIBS -lm"
-    AC_TRY_RUN([#include <math.h>
-                int main (void) { return (log(1) != log(1.)); }],
-        AC_MSG_RESULT(none needed),
-        glib_save_CFLAGS=$CFLAGS
-        CFLAGS="$CFLAGS -std1"
-        AC_TRY_RUN([#include <math.h>
-                    int main (void) { return (log(1) != log(1.)); }],
-            AC_MSG_RESULT(-std1),
-            AC_MSG_RESULT()
-            CFLAGS=$glib_save_CFLAGS
-            AC_MSG_WARN(
-                   [No ANSI prototypes found in library. (-std1 didn't work.)])
-        )
-    )
-    LIBS=$glib_save_LIBS
-])
-
-dnl NeXTStep cc seems to need this
-AC_MSG_CHECKING([for extra flags for POSIX compliance])
-AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
-  AC_MSG_RESULT(none needed),
-  glib_save_CFLAGS=$CFLAGS
-  CFLAGS="$CFLAGS -posix"
-  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
-    AC_MSG_RESULT(-posix),
-    AC_MSG_RESULT()
-    CFLAGS=$glib_save_CFLAGS
-    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
-
 # Checks for library functions.
 AC_FUNC_VPRINTF
 AC_FUNC_ALLOCA
@@ -1573,13 +1537,6 @@ AS_IF([ test -z "$G_MODULE_IMPL"], [
                                   G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
                     [])
 ])
-dnl *** shl_load() in libdld (HP-UX)
-AS_IF([ test -z "$G_MODULE_IMPL"], [
-       AC_CHECK_LIB(dld, shl_load,
-               [G_MODULE_LIBS=-ldld
-               G_MODULE_IMPL=G_MODULE_IMPL_DLD],
-               [])
-])
 dnl *** additional checks for G_MODULE_IMPL_DL
 AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
        LIBS_orig="$LIBS"
@@ -1993,24 +1950,20 @@ AC_MSG_CHECKING(for thread implementation)
 
 have_threads=no
 AS_IF([ test "x$with_threads" = xyes || test "x$with_threads" = xposix], [
-       # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
-       # -U_OSF_SOURCE is for Digital UNIX 4.0d
-       GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
-       glib_save_CPPFLAGS="$CPPFLAGS"
-       CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
         AS_IF([ test "x$have_threads" = xno], [
                 AC_TRY_COMPILE([#include <pthread.h>],
                        [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
                        have_threads=posix)
        ])
        # Tru64Unix requires -pthread to find pthread.h. See #103020
-       CPPFLAGS="$CPPFLAGS -pthread"
        if test "x$have_threads" = xno; then
-       AC_TRY_COMPILE([#include <pthread.h>],
+               glib_save_CPPFLAGS="$CPPFLAGS"
+               CPPFLAGS="$CPPFLAGS -pthread"
+               AC_TRY_COMPILE([#include <pthread.h>],
                       [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
                       have_threads=posix)
+               CPPFLAGS="$glib_save_CPPFLAGS"
         fi
-       CPPFLAGS="$glib_save_CPPFLAGS"
 ])
 if test "x$with_threads" = xyes || test "x$with_threads" = xwin32; then
         case $host in
@@ -2110,9 +2063,6 @@ AS_IF([ test x"$G_THREAD_CFLAGS" = x], [
                        G_THREAD_CFLAGS="-D_THREAD_SAFE"
                fi
                ;;
-       *-dg-dgux*)  # DG/UX
-               G_THREAD_CFLAGS="-D_REENTRANT -D_POSIX4A_DRAFT10_SOURCE"
-               ;;
        *-sysv5uw7*) # UnixWare 7 
                # We are not using gcc with -pthread. Catched above.
                G_THREAD_CFLAGS="-Kthread"
@@ -3117,7 +3067,7 @@ _______EOF
        if test x$g_have_eilseq = xno; then
                cat >>$outfile <<_______EOF
 #ifndef EILSEQ
-/* On some systems, like SunOS and NetBSD, EILSEQ is not defined.
+/* On some pre-C99 systems, EILSEQ is not defined.
  * The correspondence between this and the corresponding definition
  * in libiconv is essential.
  */
@@ -3440,11 +3390,7 @@ esac
 case xyes in
 x$ac_cv_func_atexit)
   glib_atexit="
-#ifdef NeXT /* @#% ! NeXTStep */
-# define g_ATEXIT(proc)        (!atexit (proc))
-#else
-# define g_ATEXIT(proc)        (atexit (proc))
-#endif"
+#define g_ATEXIT(proc) (atexit (proc))"
   ;;
 x$ac_cv_func_on_exit)
   glib_atexit="
diff --git a/glib/gfileutils.c b/glib/gfileutils.c
index c74414b..88a647d 100644
--- a/glib/gfileutils.c
+++ b/glib/gfileutils.c
@@ -2477,10 +2477,7 @@ g_get_current_dir (void)
   if (max_len == 0)
     max_len = (G_PATH_LENGTH == -1) ? 2048 : G_PATH_LENGTH;
 
-  /* 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)) || !defined(HAVE_GETCWD)
+#if !defined(HAVE_GETCWD)
   buffer = g_new (gchar, max_len + 1);
   *buffer = 0;
   dir = getwd (buffer);
diff --git a/glib/glibconfig.h.win32.in b/glib/glibconfig.h.win32.in
index ae65d78..fc63887 100644
--- a/glib/glibconfig.h.win32.in
+++ b/glib/glibconfig.h.win32.in
@@ -148,11 +148,7 @@ typedef unsigned __int64 guintptr;
 
 #endif
 
-#ifdef NeXT /* @#% ! NeXTStep */
-# define g_ATEXIT(proc)        (!atexit (proc))
-#else
-# define g_ATEXIT(proc)        (atexit (proc))
-#endif
+#define g_ATEXIT(proc) (atexit (proc))
 
 #define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
 
diff --git a/glib/gpoll.c b/glib/gpoll.c
index 601381a..354c08f 100644
--- a/glib/gpoll.c
+++ b/glib/gpoll.c
@@ -57,8 +57,6 @@
 #endif /* HAVE_SYS_TIME_H */
 #ifdef GLIB_HAVE_SYS_POLL_H
 #  include <sys/poll.h>
-#  undef events         /* AIX 4.1.5 & 4.3.2 define this for SVR3,4 compatibility */
-#  undef revents /* AIX 4.1.5 & 4.3.2 define this for SVR3,4 compatibility */
 
 /* The poll() emulation on OS/X doesn't handle fds=NULL, nfds=0,
  * so we prefer our own poll emulation.
@@ -89,10 +87,6 @@ extern gboolean _g_main_poll_debug;
 #endif
 
 #ifdef HAVE_POLL
-/* SunOS has poll, but doesn't provide a prototype. */
-#  if defined (sun) && !defined (__SVR4)
-extern gint poll (struct pollfd *fds, guint nfsd, gint timeout);
-#  endif  /* !sun */
 
 /**
  * g_poll:
diff --git a/glib/gutils.c b/glib/gutils.c
index 3b8d3ee..898deb8 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -268,15 +268,9 @@ g_atexit (GVoidFunc func)
   if (result)
     error = g_strerror (errno);
 #elif defined (HAVE_ATEXIT)
-#  ifdef NeXT /* @#% ! NeXTStep */
-  result = !atexit ((void (*)(void)) func);
-  if (result)
-    error = g_strerror (errno);
-#  else
   result = atexit ((void (*)(void)) func);
   if (result)
     error = g_strerror (errno);
-#  endif /* NeXT */
 #elif defined (HAVE_ON_EXIT)
   result = on_exit ((void (*)(int, void *)) func, NULL);
   if (result)
@@ -697,8 +691,7 @@ g_get_user_database_entry (void)
             }
             error = error < 0 ? errno : error;
 #    else /* HAVE_NONPOSIX_GETPWUID_R */
-       /* HPUX 11 falls into the HAVE_POSIX_GETPWUID_R case */
-#      if defined(_AIX) || defined(__hpux)
+#      if defined(_AIX)
             error = getpwuid_r (getuid (), &pwd, buffer, bufsize);
             pw = error == 0 ? &pwd : NULL;
 #      else /* !_AIX */
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index e71270c..85d37db 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -13,7 +13,6 @@ EXTRA_DIST +=                         \
                makefile.msc.in         \
                gmoduleconf.h.in        \
                gmodule-dl.c            \
-               gmodule-dld.c           \
                gmodule-dyld.c          \
                gmodule-win32.c         \
                gmodule-ar.c            \
diff --git a/gmodule/gmodule.c b/gmodule/gmodule.c
index ebeacef..e441bbc 100644
--- a/gmodule/gmodule.c
+++ b/gmodule/gmodule.c
@@ -56,7 +56,7 @@
  * These functions provide a portable way to dynamically load object files
  * (commonly known as 'plug-ins'). The current implementation supports all
  * systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
- * well as HP-UX via its shl_load() mechanism, and Windows platforms via DLLs.
+ * well as Windows platforms via DLLs.
  *
  * A program which wants to use these functions must be linked to the
  * libraries output by the command
@@ -167,8 +167,8 @@
  * G_MODULE_SUFFIX:
  *
  * Expands to the proper shared library suffix for the current platform
- * without the leading dot. For the most Unices and Linux this is "so",
- * for some HP-UX versions this is "sl" and for Windows this is "dll".
+ * without the leading dot. For most Unices and Linux this is "so", and
+ * for Windows this is "dll".
  */
 
 /**
@@ -187,9 +187,7 @@
 
 /* We maintain a list of modules, so we can reference count them.
  * That's needed because some platforms don't support references counts on
- * modules e.g. the shl_* implementation of HP-UX
- * (http://www.stat.umn.edu/~luke/xls/projects/dlbasics/dlbasics.html).
- * Also, the module for the program itself is kept seperatedly for
+ * modules. Also, the module for the program itself is kept seperately for
  * faster access and because it has special semantics.
  */
 
@@ -287,8 +285,6 @@ g_module_set_error (const gchar *error)
 #define        SUPPORT_OR_RETURN(rv)   { g_module_set_error (NULL); }
 #if    (G_MODULE_IMPL == G_MODULE_IMPL_DL)
 #include "gmodule-dl.c"
-#elif  (G_MODULE_IMPL == G_MODULE_IMPL_DLD)
-#include "gmodule-dld.c"
 #elif  (G_MODULE_IMPL == G_MODULE_IMPL_WIN32)
 #include "gmodule-win32.c"
 #elif  (G_MODULE_IMPL == G_MODULE_IMPL_DYLD)
diff --git a/gmodule/gmoduleconf.h.in b/gmodule/gmoduleconf.h.in
index 4e3af4e..d954c2e 100644
--- a/gmodule/gmoduleconf.h.in
+++ b/gmodule/gmoduleconf.h.in
@@ -27,7 +27,6 @@ extern "C" {
 
 #define        G_MODULE_IMPL_NONE      0
 #define        G_MODULE_IMPL_DL        1
-#define        G_MODULE_IMPL_DLD       2
 #define        G_MODULE_IMPL_WIN32     3
 #define        G_MODULE_IMPL_DYLD      6
 #define        G_MODULE_IMPL_AR        7
@@ -37,7 +36,7 @@ extern "C" {
 #if    (@G_MODULE_HAVE_DLERROR@)
 #define        G_MODULE_HAVE_DLERROR
 #endif
-#if    (@G_MODULE_NEED_USCORE@) || defined (hp9000s300) || defined (__hp9000s300) || defined (__hp9000s300__)
+#if    (@G_MODULE_NEED_USCORE@)
 #define        G_MODULE_NEED_USCORE
 #endif
 #if    (@G_MODULE_BROKEN_RTLD_GLOBAL@)
diff --git a/gmodule/gmoduleconf.h.win32 b/gmodule/gmoduleconf.h.win32
index b047c97..a0fe3af 100644
--- a/gmodule/gmoduleconf.h.win32
+++ b/gmodule/gmoduleconf.h.win32
@@ -27,7 +27,6 @@ extern "C" {
 
 #define        G_MODULE_IMPL_NONE      0
 #define        G_MODULE_IMPL_DL        1
-#define        G_MODULE_IMPL_DLD       2
 #define        G_MODULE_IMPL_WIN32     3
 #define        G_MODULE_IMPL_DYLD      6
 
diff --git a/m4macros/glib-2.0.m4 b/m4macros/glib-2.0.m4
index 0507b76..d8f03d4 100644
--- a/m4macros/glib-2.0.m4
+++ b/m4macros/glib-2.0.m4
@@ -93,13 +93,10 @@ int
 main ()
 {
   unsigned int major, minor, micro;
-  char *tmp_version;
 
   fclose (fopen ("conf.glibtest", "w"));
 
-  /* HP/UX 9 (% #!) writes to sscanf strings */
-  tmp_version = g_strdup("$min_glib_version");
-  if (sscanf(tmp_version, "%u.%u.%u", &major, &minor, &micro) != 3) {
+  if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, &micro) != 3) {
      printf("%s, bad version string\n", "$min_glib_version");
      exit(1);
    }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]