diff -crN ./glib/Makefile.am /users3/olivap/sb/p64/src/./glib/Makefile.am
*** ./glib/Makefile.am	Fri May  6 23:54:52 2005
--- /users3/olivap/sb/p64/src/./glib/Makefile.am	Wed Oct 12 11:19:33 2005
***************
*** 77,83 ****
  
  # install mkinstalldirs for glib-gettextize's benefit
  gettextdir = $(datadir)/glib-2.0/gettext
! gettext_SCRIPTS = mkinstalldirs
  
  # build documentation when doing distcheck
  DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
--- 77,84 ----
  
  # install mkinstalldirs for glib-gettextize's benefit
  gettextdir = $(datadir)/glib-2.0/gettext
! #gettext_SCRIPTS = mkinstalldirs
! gettext_SCRIPTS = 
  
  # build documentation when doing distcheck
  DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
diff -crN ./glib/configure.in /users3/olivap/sb/p64/src/./glib/configure.in
*** ./glib/configure.in	Thu Aug 18 15:08:17 2005
--- /users3/olivap/sb/p64/src/./glib/configure.in	Tue Sep 27 16:31:34 2005
***************
*** 1501,1507 ****
  
  if test x"$have_threads" != xno; then
  
!   if test x"$have_threads" = xposix; then
      # First we test for posix, whether -pthread or -pthreads do the trick as 
      # both CPPFLAG and LIBS. 
      # One of them does for most gcc versions and some other platforms/compilers
--- 1501,1510 ----
  
  if test x"$have_threads" != xno; then
  
!  case $host in
!   *-aix*)
!    if test x"$GCC" = xyes; then
!     # GCC 3.0 and above needs -pthread. 
      # First we test for posix, whether -pthread or -pthreads do the trick as 
      # both CPPFLAG and LIBS. 
      # One of them does for most gcc versions and some other platforms/compilers
***************
*** 1610,1615 ****
--- 1613,1622 ----
      AC_MSG_CHECKING(thread related cflags)
      AC_MSG_RESULT($G_THREAD_CFLAGS)
      CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
+ 
+    ;;
+  esac
+ 
  fi
  
  dnl determination of G_THREAD_LIBS
diff -crN ./glib/docs/reference/glib/Makefile.am /users3/olivap/sb/p64/src/./glib/docs/reference/glib/Makefile.am
*** ./glib/docs/reference/glib/Makefile.am	Thu May  5 16:57:27 2005
--- /users3/olivap/sb/p64/src/./glib/docs/reference/glib/Makefile.am	Tue Sep 27 16:31:41 2005
***************
*** 41,47 ****
  
  # Images to copy into HTML directory
  HTML_IMAGES =  				\
- 	file-name-encodings.png		\
  	mainloop-states.gif
  
  # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
--- 41,46 ----
***************
*** 63,70 ****
  
  # Other files to distribute
  EXTRA_DIST +=				\
- 	file-name-encodings.png		\
- 	file-name-encodings.sxd		\
  	mainloop-states.fig		\
  	mainloop-states.png		\
  	mainloop-states.eps		\
--- 62,67 ----
diff -crN ./glib/glib/gconvert.c /users3/olivap/sb/p64/src/./glib/glib/gconvert.c
*** ./glib/glib/gconvert.c	Mon Aug  8 21:50:38 2005
--- /users3/olivap/sb/p64/src/./glib/glib/gconvert.c	Tue Dec  6 10:54:33 2005
***************
*** 557,569 ****
    gchar *dest;
    gchar *outp;
    const gchar *p;
-   const gchar *shift_p = NULL;
    gsize inbytes_remaining;
    gsize outbytes_remaining;
    gsize err;
    gsize outbuf_size;
    gboolean have_error = FALSE;
    gboolean done = FALSE;
    
    g_return_val_if_fail (converter != (GIConv) -1, NULL);
       
--- 557,569 ----
    gchar *dest;
    gchar *outp;
    const gchar *p;
    gsize inbytes_remaining;
    gsize outbytes_remaining;
    gsize err;
    gsize outbuf_size;
    gboolean have_error = FALSE;
    gboolean done = FALSE;
+   const gchar *shift_p = NULL;
    
    g_return_val_if_fail (converter != (GIConv) -1, NULL);
       
***************
*** 577,582 ****
--- 577,583 ----
    outbytes_remaining = outbuf_size - 1; /* -1 for nul */
    outp = dest = g_malloc (outbuf_size);
  
+   
    while (!done && !have_error)
      {
        err = g_iconv (converter, (char **)&p, &inbytes_remaining, &outp, &outbytes_remaining);
***************
*** 617,630 ****
  	}
        else 
  	{
! 	  if (!shift_p)
! 	    {
! 	      /* call g_iconv with NULL inbuf to cleanup shift state */
! 	      shift_p = p;
! 	      p = NULL;
! 	      inbytes_remaining = 0;
! 	    }
! 	  else
  	    done = TRUE;
  	}
      }
--- 618,626 ----
  	}
        else 
  	{
! 	    /* call g_iconv with NULL inbuf to cleanup shift state */
!             err = g_iconv (converter, NULL, &inbytes_remaining, &outp, &outbytes_remaining);
! 	    inbytes_remaining = 0;
  	    done = TRUE;
  	}
      }
diff -crN ./glib/glib/gi18n-lib.h /users3/olivap/sb/p64/src/./glib/glib/gi18n-lib.h
*** ./glib/glib/gi18n-lib.h	Mon Jul 12 06:03:50 2004
--- /users3/olivap/sb/p64/src/./glib/glib/gi18n-lib.h	Thu Oct 20 08:47:37 2005
***************
*** 27,32 ****
--- 27,35 ----
  #error You must define GETTEXT_PACKAGE before including gi18n-lib.h.
  #endif
  
+ #ifdef _
+ #	undef _
+ #endif
  #define _(String) dgettext (GETTEXT_PACKAGE, String)
  #define Q_(String) g_strip_context ((String), dgettext (GETTEXT_PACKAGE, String))
  #ifdef gettext_noop
diff -crN ./glib/glib/gmain.c /users3/olivap/sb/p64/src/./glib/glib/gmain.c
*** ./glib/glib/gmain.c	Thu Jun 30 21:43:48 2005
--- /users3/olivap/sb/p64/src/./glib/glib/gmain.c	Tue Sep 27 16:32:02 2005
***************
*** 206,213 ****
  #endif
  
  #define SOURCE_DESTROYED(source) (((source)->flags & G_HOOK_FLAG_ACTIVE) == 0)
- #define SOURCE_BLOCKED(source) (((source)->flags & G_HOOK_FLAG_IN_CALL) != 0 && \
- 		                ((source)->flags & G_SOURCE_CAN_RECURSE) == 0)
  
  #define SOURCE_UNREF(source, context)                       \
     G_STMT_START {                                           \
--- 206,211 ----
***************
*** 275,280 ****
--- 273,281 ----
  G_LOCK_DEFINE_STATIC (main_context_list);
  static GSList *main_context_list = NULL;
  
+ #if defined(G_PLATFORM_WIN32) && defined(__GNUC__)
+ __declspec(dllexport)
+ #endif
  GSourceFuncs g_timeout_funcs =
  {
    g_timeout_prepare,
***************
*** 291,296 ****
--- 292,300 ----
    NULL
  };
  
+ #if defined(G_PLATFORM_WIN32) && defined(__GNUC__)
+ __declspec(dllexport)
+ #endif
  GSourceFuncs g_idle_funcs =
  {
    g_idle_prepare,
***************
*** 969,985 ****
  	  old_cb_funcs->unref (old_cb_data);
  	  LOCK_CONTEXT (context);
  	}
! 
!       if (!SOURCE_BLOCKED (source))
  	{
! 	  tmp_list = source->poll_fds;
! 	  while (tmp_list)
! 	    {
! 	      g_main_context_remove_poll_unlocked (context, tmp_list->data);
! 	      tmp_list = tmp_list->next;
! 	    }
  	}
! 	  
        g_source_unref_internal (source, context, TRUE);
      }
  
--- 973,986 ----
  	  old_cb_funcs->unref (old_cb_data);
  	  LOCK_CONTEXT (context);
  	}
!       
!       tmp_list = source->poll_fds;
!       while (tmp_list)
  	{
! 	  g_main_context_remove_poll_unlocked (context, tmp_list->data);
! 	  tmp_list = tmp_list->next;
  	}
!       
        g_source_unref_internal (source, context, TRUE);
      }
  
***************
*** 1085,1092 ****
  
    if (context)
      {
!       if (!SOURCE_BLOCKED (source))
! 	g_main_context_add_poll_unlocked (context, source->priority, fd);
        UNLOCK_CONTEXT (context);
      }
  }
--- 1086,1092 ----
  
    if (context)
      {
!       g_main_context_add_poll_unlocked (context, source->priority, fd);
        UNLOCK_CONTEXT (context);
      }
  }
***************
*** 1118,1125 ****
  
    if (context)
      {
!       if (!SOURCE_BLOCKED (source))
! 	g_main_context_remove_poll_unlocked (context, fd);
        UNLOCK_CONTEXT (context);
      }
  }
--- 1118,1124 ----
  
    if (context)
      {
!       g_main_context_remove_poll_unlocked (context, fd);
        UNLOCK_CONTEXT (context);
      }
  }
***************
*** 1273,1294 ****
  
    if (context)
      {
!       /* Remove the source from the context's source and then
!        * add it back so it is sorted in the correct plcae
!        */
!       g_source_list_remove (source, source->context);
!       g_source_list_add (source, source->context);
! 
!       if (!SOURCE_BLOCKED (source))
  	{
! 	  tmp_list = source->poll_fds;
! 	  while (tmp_list)
! 	    {
! 	      g_main_context_remove_poll_unlocked (context, tmp_list->data);
! 	      g_main_context_add_poll_unlocked (context, priority, tmp_list->data);
! 	      
! 	      tmp_list = tmp_list->next;
! 	    }
  	}
        
        UNLOCK_CONTEXT (source->context);
--- 1272,1287 ----
  
    if (context)
      {
!       source->next = NULL;
!       source->prev = NULL;
!       
!       tmp_list = source->poll_fds;
!       while (tmp_list)
  	{
! 	  g_main_context_remove_poll_unlocked (context, tmp_list->data);
! 	  g_main_context_add_poll_unlocked (context, priority, tmp_list->data);
!       
! 	  tmp_list = tmp_list->next;
  	}
        
        UNLOCK_CONTEXT (source->context);
***************
*** 1846,1888 ****
    return *depth;
  }
  
- /* Temporarily remove all this source's file descriptors from the
-  * poll(), so that if data comes available for one of the file descriptors
-  * we don't continually spin in the poll()
-  */
- /* HOLDS: source->context's lock */
- static void
- block_source (GSource *source)
- {
-   GSList *tmp_list;
- 
-   g_return_if_fail (!SOURCE_BLOCKED (source));
- 
-   tmp_list = source->poll_fds;
-   while (tmp_list)
-     {
-       g_main_context_remove_poll_unlocked (source->context, tmp_list->data);
-       tmp_list = tmp_list->next;
-     }
- }
- 
- /* HOLDS: source->context's lock */
- static void
- unblock_source (GSource *source)
- {
-   GSList *tmp_list;
-   
-   g_return_if_fail (!SOURCE_BLOCKED (source)); /* Source already unblocked */
-   g_return_if_fail (!SOURCE_DESTROYED (source));
-   
-   tmp_list = source->poll_fds;
-   while (tmp_list)
-     {
-       g_main_context_add_poll_unlocked (source->context, source->priority, tmp_list->data);
-       tmp_list = tmp_list->next;
-     }
- }
- 
  /* HOLDS: context's lock */
  static void
  g_main_dispatch (GMainContext *context)
--- 1839,1844 ----
***************
*** 1919,1927 ****
  	  if (cb_funcs)
  	    cb_funcs->ref (cb_data);
  	  
- 	  if ((source->flags & G_SOURCE_CAN_RECURSE) == 0)
- 	    block_source (source);
- 	  
  	  was_in_call = source->flags & G_HOOK_FLAG_IN_CALL;
  	  source->flags |= G_HOOK_FLAG_IN_CALL;
  
--- 1875,1880 ----
***************
*** 1944,1953 ****
  	 if (!was_in_call)
  	    source->flags &= ~G_HOOK_FLAG_IN_CALL;
  
- 	  if ((source->flags & G_SOURCE_CAN_RECURSE) == 0 &&
- 	      !SOURCE_DESTROYED (source))
- 	    unblock_source (source);
- 	  
  	  /* Note: this depends on the fact that we can't switch
  	   * sources from one main context to another
  	   */
--- 1897,1902 ----
***************
*** 2236,2242 ****
  	  SOURCE_UNREF (source, context);
  	  break;
  	}
!       if (SOURCE_BLOCKED (source))
  	goto next;
  
        if (!(source->flags & G_SOURCE_READY))
--- 2185,2191 ----
  	  SOURCE_UNREF (source, context);
  	  break;
  	}
!       if ((source->flags & G_HOOK_FLAG_IN_CALL) && !(source->flags & G_SOURCE_CAN_RECURSE))
  	goto next;
  
        if (!(source->flags & G_SOURCE_READY))
***************
*** 2341,2347 ****
    if (timeout)
      {
        *timeout = context->timeout;
!       if (*timeout != 0)
  	context->time_is_current = FALSE;
      }
    
--- 2290,2296 ----
    if (timeout)
      {
        *timeout = context->timeout;
!       if (timeout != 0)
  	context->time_is_current = FALSE;
      }
    
***************
*** 2424,2430 ****
  	  SOURCE_UNREF (source, context);
  	  break;
  	}
!       if (SOURCE_BLOCKED (source))
  	goto next;
  
        if (!(source->flags & G_SOURCE_READY))
--- 2373,2379 ----
  	  SOURCE_UNREF (source, context);
  	  break;
  	}
!       if ((source->flags & G_HOOK_FLAG_IN_CALL) && !(source->flags & G_SOURCE_CAN_RECURSE))
  	goto next;
  
        if (!(source->flags & G_SOURCE_READY))
***************
*** 3662,3669 ****
  
  /**
   * g_child_watch_source_new:
!  * @pid: process id of a child process to watch. On Windows, a HANDLE
!  * for the process to watch (which actually doesn't have to be a child).
   * 
   * Creates a new child_watch source.
   *
--- 3611,3617 ----
  
  /**
   * g_child_watch_source_new:
!  * @pid: process id of a child process to watch
   * 
   * Creates a new child_watch source.
   *
***************
*** 3722,3729 ****
   * source is still active. Typically, you will want to call
   * g_spawn_close_pid() in the callback function for the source.
   * 
-  * GLib supports only a single callback per process id.
-  *
   * Return value: the id of event source.
   *
   * Since: 2.4
--- 3670,3675 ----
diff -crN ./glib/glib/libcharset/Makefile.am /users3/olivap/sb/p64/src/./glib/glib/libcharset/Makefile.am
*** ./glib/glib/libcharset/Makefile.am	Fri Apr 30 16:45:13 2004
--- /users3/olivap/sb/p64/src/./glib/glib/libcharset/Makefile.am	Fri Oct 29 14:06:13 2004
***************
*** 1,7 ****
  ## Process this file with automake to produce Makefile.in
  
  INCLUDES = 			\
! 	-DLIBDIR=\"$(libdir)\" -I$(top_srcdir)
  
  noinst_LTLIBRARIES = libcharset.la
  
--- 1,7 ----
  ## Process this file with automake to produce Makefile.in
  
  INCLUDES = 			\
! 	-DLIBDIR=\"$(libdir)\"
  
  noinst_LTLIBRARIES = libcharset.la
  
***************
*** 24,35 ****
  install-exec-local: all-local
  	$(mkinstalldirs) $(DESTDIR)$(libdir)
  	if test -f $(charset_alias); then \
! 	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
  	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
  	  rm -f $(charset_tmp) ; \
  	else \
  	  if test @GLIBC21@ = no; then \
! 	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
  	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
  	    rm -f $(charset_tmp) ; \
  	  fi ; \
--- 24,35 ----
  install-exec-local: all-local
  	$(mkinstalldirs) $(DESTDIR)$(libdir)
  	if test -f $(charset_alias); then \
! 	  sed -f $(srcdir)/ref-add.sed $(charset_alias) > $(charset_tmp) ; \
  	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
  	  rm -f $(charset_tmp) ; \
  	else \
  	  if test @GLIBC21@ = no; then \
! 	    sed -f $(srcdir)/ref-add.sed charset.alias > $(charset_tmp) ; \
  	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
  	    rm -f $(charset_tmp) ; \
  	  fi ; \
***************
*** 37,43 ****
  
  uninstall-local: all-local
  	if test -f $(charset_alias); then \
! 	  sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
  	  if grep '^# Packages using this file: $$' $(charset_tmp) \
  	      > /dev/null; then \
  	    rm -f $(charset_alias); \
--- 37,43 ----
  
  uninstall-local: all-local
  	if test -f $(charset_alias); then \
! 	  sed -f $(srcdir)/ref-del.sed $(charset_alias) > $(charset_tmp); \
  	  if grep '^# Packages using this file: $$' $(charset_tmp) \
  	      > /dev/null; then \
  	    rm -f $(charset_alias); \
diff -crN ./glib/glib/libcharset/config.charset /users3/olivap/sb/p64/src/./glib/glib/libcharset/config.charset
*** ./glib/glib/libcharset/config.charset	Sun Mar 30 23:29:26 2003
--- /users3/olivap/sb/p64/src/./glib/glib/libcharset/config.charset	Thu Oct 16 13:59:00 2003
***************
*** 132,147 ****
--- 132,178 ----
      aix*)
  	echo "ISO8859-1 ISO-8859-1"
  	echo "ISO8859-2 ISO-8859-2"
+ 	echo "ISO8859-3 ISO-8859-3"
+ 	echo "ISO8859-4 ISO-8859-4"
  	echo "ISO8859-5 ISO-8859-5"
  	echo "ISO8859-6 ISO-8859-6"
  	echo "ISO8859-7 ISO-8859-7"
  	echo "ISO8859-8 ISO-8859-8"
  	echo "ISO8859-9 ISO-8859-9"
  	echo "ISO8859-15 ISO-8859-15"
+ 	echo "IBM-037 CP037"
+ 	echo "IBM-1026 CP1026"
+ 	echo "IBM-1046 CP1046"
+ 	echo "IBM-1124 CP1124"
+ 	echo "IBM-1129 CP1129"
+ 	echo "IBM-1252 CP1252"
+ 	echo "IBM-273 CP273"
+ 	echo "IBM-278 CP278"
+ 	echo "IBM-280 CP280"
+ 	echo "IBM-284 CP284"
+ 	echo "IBM-285 CP285"
+ 	echo "IBM-290 CP290"
+ 	echo "IBM-297 CP297"
+ 	echo "IBM-437 CP437"
+ 	echo "IBM-500 CP500"
  	echo "IBM-850 CP850"
+ 	echo "IBM-852 CP852"
  	echo "IBM-856 CP856"
+ 	echo "IBM-857 CP857"
+ 	echo "IBM-860 CP860"
+ 	echo "IBM-861 CP861"
+ 	echo "IBM-863 CP863"
+ 	echo "IBM-865 CP865"
+ 	echo "IBM-869 CP869"
+ 	echo "IBM-875 CP875"
  	echo "IBM-921 ISO-8859-13"
  	echo "IBM-922 CP922"
+ 	echo "IBM-930 CP930"
+ 	echo "IBM-932 CP932"
+ 	echo "IBM-933 CP933"
+ 	echo "IBM-935 CP935"
+ 	echo "IBM-936 CP936"
+ 	echo "IBM-922 CP922"
  	echo "IBM-932 CP932"
  	echo "IBM-943 CP943"
  	echo "IBM-1046 CP1046"
***************
*** 153,161 ****
--- 184,194 ----
  	echo "IBM-eucKR EUC-KR"
  	echo "IBM-eucTW EUC-TW"
  	echo "big5 BIG5"
+ 	echo "unicode UNICODE"
  	echo "GBK GBK"
  	echo "TIS-620 TIS-620"
  	echo "UTF-8 UTF-8"
+ 	echo "UCS-2 UCS-2"
  	;;
      hpux*)
  	echo "iso88591 ISO-8859-1"
diff -crN ./glib/glib/libcharset/localcharset.c /users3/olivap/sb/p64/src/./glib/glib/libcharset/localcharset.c
*** ./glib/glib/libcharset/localcharset.c	Sun Oct 24 03:37:42 2004
--- /users3/olivap/sb/p64/src/./glib/glib/libcharset/localcharset.c	Thu Apr  7 11:50:07 2005
***************
*** 23,35 ****
  # include <config.h>
  #endif
  
- #include <glibconfig.h>
- 
- #if defined G_PLATFORM_WIN32
- /* Want to use Win32-specific code in this file also on Cygwin */
- # define _WIN32 1		
- #endif
- 
  #if HAVE_STDDEF_H
  # include <stddef.h>
  #endif
--- 23,28 ----
***************
*** 119,132 ****
      {
  #if !defined WIN32
        FILE *fp;
!       const char *dir = getenv ("LIBCHARSET_ALIAS_DIR");
        const char *base = "charset.alias";
        char *file_name;
  
-       if (dir == NULL)
- 	dir = LIBDIR;
- 
        /* Concatenate dir and base into freshly allocated file_name.  */
        {
  	size_t dir_len = strlen (dir);
  	size_t base_len = strlen (base);
--- 112,125 ----
      {
  #if !defined WIN32
        FILE *fp;
!       const char *dir = LIBDIR;
        const char *base = "charset.alias";
        char *file_name;
  
        /* Concatenate dir and base into freshly allocated file_name.  */
+ 
+       file_name = getenv("G_CHARSET_ALIAS");
+       if (!file_name)
        {
  	size_t dir_len = strlen (dir);
  	size_t base_len = strlen (base);
***************
*** 214,220 ****
  	 directory as the DLL and of retrieving the DLL's directory at
  	 runtime, simply inline the aliases here.  */
  
- # if defined WIN32
        cp = "CP936" "\0" "GBK" "\0"
  	   "CP1361" "\0" "JOHAB" "\0"
  	   "CP20127" "\0" "ASCII" "\0"
--- 207,212 ----
***************
*** 230,236 ****
  	   "CP28598" "\0" "ISO-8859-8" "\0"
  	   "CP28599" "\0" "ISO-8859-9" "\0"
  	   "CP28605" "\0" "ISO-8859-15" "\0";
- # endif
  #endif
  
        charset_aliases = cp;
--- 222,227 ----
diff -crN ./glib/glib/libcharset/ref-add.sed /users3/olivap/sb/p64/src/./glib/glib/libcharset/ref-add.sed
*** ./glib/glib/libcharset/ref-add.sed	Thu Jan  1 01:00:00 1970
--- /users3/olivap/sb/p64/src/./glib/glib/libcharset/ref-add.sed	Tue May  6 16:49:28 2003
***************
*** 0 ****
--- 1,10 ----
+ /^# Packages using this file: / {
+   s/# Packages using this file://
+   ta
+   :a
+   s/ glib / glib /
+   tb
+   s/ $/ glib /
+   :b
+   s/^/# Packages using this file:/
+ }
diff -crN ./glib/gmodule/gmodule-ar.c /users3/olivap/sb/p64/src/./glib/gmodule/gmodule-ar.c
*** ./glib/gmodule/gmodule-ar.c	Thu Jun 30 21:32:33 2005
--- /users3/olivap/sb/p64/src/./glib/gmodule/gmodule-ar.c	Tue Sep 27 16:32:09 2005
***************
*** 163,169 ****
    
    p = dlsym (handle, symbol_name);
    if (!p)
!     g_module_set_error (fetch_dlerror (FALSE));
    
    return p;
  }
--- 163,169 ----
    
    p = dlsym (handle, symbol_name);
    if (!p)
!     g_module_set_error (fetch_dlerror (TRUE));
    
    return p;
  }
diff -crN ./glib/mkinstalldirs /users3/olivap/sb/p64/src/./glib/mkinstalldirs
*** ./glib/mkinstalldirs	Mon Jun 13 04:01:57 2005
--- /users3/olivap/sb/p64/src/./glib/mkinstalldirs	Wed Oct 12 09:36:10 2005
***************
*** 1,21 ****
  #! /bin/sh
  # mkinstalldirs --- make directory hierarchy
! # Author: Noah Friedman <friedman@prep.ai.mit.edu>
  # Created: 1993-05-16
! # Public domain
  
  errstatus=0
! dirmode=""
  
  usage="\
! Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
  
  # process command line arguments
  while test $# -gt 0 ; do
    case $1 in
      -h | --help | --h*)         # -h for help
!       echo "$usage" 1>&2
!       exit 0
        ;;
      -m)                         # -m PERM arg
        shift
--- 1,33 ----
  #! /bin/sh
  # mkinstalldirs --- make directory hierarchy
! 
! scriptversion=2005-06-29.22
! 
! # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
  # Created: 1993-05-16
! # Public domain.
! #
! # This file is maintained in Automake, please report
! # bugs to <bug-automake@gnu.org> or send patches to
! # <automake-patches@gnu.org>.
  
  errstatus=0
! dirmode=
  
  usage="\
! Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
! 
! Create each directory DIR (with mode MODE, if specified), including all
! leading file name components.
! 
! Report bugs to <bug-automake@gnu.org>."
  
  # process command line arguments
  while test $# -gt 0 ; do
    case $1 in
      -h | --help | --h*)         # -h for help
!       echo "$usage"
!       exit $?
        ;;
      -m)                         # -m PERM arg
        shift
***************
*** 23,28 ****
--- 35,44 ----
        dirmode=$1
        shift
        ;;
+     --version)
+       echo "$0 $scriptversion"
+       exit $?
+       ;;
      --)                         # stop option processing
        shift
        break
***************
*** 50,79 ****
    0) exit 0 ;;
  esac
  
  case $dirmode in
    '')
!     if mkdir -p -- . 2>/dev/null; then
        echo "mkdir -p -- $*"
        exec mkdir -p -- "$@"
      fi
      ;;
    *)
!     if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
        echo "mkdir -m $dirmode -p -- $*"
        exec mkdir -m "$dirmode" -p -- "$@"
      fi
      ;;
  esac
  
  for file
  do
!   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
    shift
  
-   pathcomp=
    for d
    do
!     pathcomp="$pathcomp$d"
      case $pathcomp in
        -*) pathcomp=./$pathcomp ;;
      esac
--- 66,123 ----
    0) exit 0 ;;
  esac
  
+ # Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+ # mkdir -p a/c at the same time, both will detect that a is missing,
+ # one will create a, then the other will try to create a and die with
+ # a "File exists" error.  This is a problem when calling mkinstalldirs
+ # from a parallel make.  We use --version in the probe to restrict
+ # ourselves to GNU mkdir, which is thread-safe.
  case $dirmode in
    '')
!     if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
        echo "mkdir -p -- $*"
        exec mkdir -p -- "$@"
+     else
+       # On NextStep and OpenStep, the `mkdir' command does not
+       # recognize any option.  It will interpret all options as
+       # directories to create, and then abort because `.' already
+       # exists.
+       test -d ./-p && rmdir ./-p
+       test -d ./--version && rmdir ./--version
      fi
      ;;
    *)
!     if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
!        test ! -d ./--version; then
        echo "mkdir -m $dirmode -p -- $*"
        exec mkdir -m "$dirmode" -p -- "$@"
+     else
+       # Clean up after NextStep and OpenStep mkdir.
+       for d in ./-m ./-p ./--version "./$dirmode";
+       do
+         test -d $d && rmdir $d
+       done
      fi
      ;;
  esac
  
  for file
  do
!   case $file in
!     /*) pathcomp=/ ;;
!     *)  pathcomp= ;;
!   esac
!   oIFS=$IFS
!   IFS=/
!   set fnord $file
    shift
+   IFS=$oIFS
  
    for d
    do
!     test "x$d" = x && continue
! 
!     pathcomp=$pathcomp$d
      case $pathcomp in
        -*) pathcomp=./$pathcomp ;;
      esac
***************
*** 84,104 ****
        mkdir "$pathcomp" || lasterr=$?
  
        if test ! -d "$pathcomp"; then
!   	errstatus=$lasterr
        else
!   	if test ! -z "$dirmode"; then
  	  echo "chmod $dirmode $pathcomp"
!     	  lasterr=""
!   	  chmod "$dirmode" "$pathcomp" || lasterr=$?
  
!   	  if test ! -z "$lasterr"; then
!   	    errstatus=$lasterr
!   	  fi
!   	fi
        fi
      fi
  
!     pathcomp="$pathcomp/"
    done
  done
  
--- 128,148 ----
        mkdir "$pathcomp" || lasterr=$?
  
        if test ! -d "$pathcomp"; then
! 	errstatus=$lasterr
        else
! 	if test ! -z "$dirmode"; then
  	  echo "chmod $dirmode $pathcomp"
! 	  lasterr=
! 	  chmod "$dirmode" "$pathcomp" || lasterr=$?
  
! 	  if test ! -z "$lasterr"; then
! 	    errstatus=$lasterr
! 	  fi
! 	fi
        fi
      fi
  
!     pathcomp=$pathcomp/
    done
  done
  
***************
*** 107,111 ****
  # Local Variables:
  # mode: shell-script
  # sh-indentation: 2
  # End:
- # mkinstalldirs ends here
--- 151,158 ----
  # Local Variables:
  # mode: shell-script
  # sh-indentation: 2
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+ # time-stamp-start: "scriptversion="
+ # time-stamp-format: "%:y-%02m-%02d.%02H"
+ # time-stamp-end: "$"
  # End:
diff -crN ./glib/tests/Makefile.am /users3/olivap/sb/p64/src/./glib/tests/Makefile.am
*** ./glib/tests/Makefile.am	Mon Aug  8 07:30:20 2005
--- /users3/olivap/sb/p64/src/./glib/tests/Makefile.am	Tue Sep 27 16:32:16 2005
***************
*** 9,17 ****
  libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
  libgobject = $(top_builddir)/gobject/libgobject-2.0.la
  
- if PLATFORM_WIN32
  libadd_libgmodule = $(libgmodule)
  libadd_libglib = $(libglib)
  no_undefined = -no-undefined
  
  module_test_exp = module-test.exp
--- 9,18 ----
  libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
  libgobject = $(top_builddir)/gobject/libgobject-2.0.la
  
  libadd_libgmodule = $(libgmodule)
  libadd_libglib = $(libglib)
+ 
+ if PLATFORM_WIN32
  no_undefined = -no-undefined
  
  module_test_exp = module-test.exp
