bug-cvs
[Top][All Lists]
Advanced

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

Re: <stdint.h> on IRIX-5.3 & SGI-cc


From: Mark D. Baushke
Subject: Re: <stdint.h> on IRIX-5.3 & SGI-cc
Date: Fri, 23 Jun 2006 00:47:07 -0700

Hi Martin,

The CVS project has forked from the GNULIB project slightly for the
stdint stuff as I have not seen any commit to gnulib to support the SGI
compilation problems we had observed. I have hopes that they will either
adopt our changes or equivalent changes so that we can once more use
their version directly.

Note: The BSDI BSD/OS 4.2 change has not yet been fully tested on a
BSD/OS 4.2 system to see if it fixes the problem. However, I suspect it
should work fine.

The lib/stdint.h which is generated on an IRIX 5.3 system should have
all of the stuff you need without any change needed to md5.c or md5.h.

If you want to checkout a copy of the vanilla CVS sources and do a quick
configure and build to let us know of any warnings or errors you see,
that could be very helpful.

We are nearing a public release of CVS 1.12.14, so anyone with oddball
versions of hardware and operating systems that have problems building
the current sources are urged to let us know what you have and if
possible what needs to be done to fix things.

        Thanks,
        -- Mark

                 ------- GNULIB patched sources -------

ChangeLog:

        * stdint_.h (__bsdos__): BSD/OS 4.2 needs to include
          <sys/types.h> to avoid a generated <stdint.h> that redifines
          typedefs already found in <sys/types.h>.
          (__sgi): For IRIX 5.3, the <inttypes.h> in c89 mode defines
          all of the <stdint.h> types needed while the <stdint.h> for
          uses #error in c89 mode. In c99 mode, <inttypes.h> includes
          <stdint.h> and defines all of the needed types.

Index: lib/stdint_.h
===================================================================
RCS file: /sources/gnulib/gnulib/lib/stdint_.h,v
retrieving revision 1.17
diff -u -p -r1.17 stdint_.h
--- lib/stdint_.h       17 Jun 2006 20:02:16 -0000      1.17
+++ lib/stdint_.h       23 Jun 2006 07:34:51 -0000
@@ -33,6 +33,11 @@
 #if defined(__FreeBSD__) && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)
 # include <sys/inttypes.h>
 #endif
+#if defined(__bsdos__)
+  /* In BSD/OS 4.2, <sys/types.h> includes some of the needed typedefs
+     that would otherwise conflict with types in a generated <stdint.h>. */
+# include <sys/types.h>
+#endif
 #if defined(__OpenBSD__)
   /* In OpenBSD 3.8, <sys/types.h> includes <machine/types.h>, which defines
      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
@@ -55,7 +60,7 @@
      But note that <sys/int_types.h> contains only the type definitions!  */
 # include <sys/inttypes.h>
 #endif
-#if (defined(__hpux) || defined(_AIX)) && @HAVE_INTTYPES_H@
+#if (defined(__hpux) || defined(_AIX) || defined(__sgi)) && @HAVE_INTTYPES_H@
   /* HP-UX 10 <inttypes.h> has nearly everything, except UINT_LEAST8_MAX,
      UINT_FAST8_MAX, PTRDIFF_MIN, PTRDIFF_MAX.  */
   /* AIX 4 <inttypes.h> has nearly everything, except INTPTR_MIN, INTPTR_MAX,
@@ -64,7 +69,9 @@
 #endif
 #if @HAVE_STDINT_H@
   /* Other systems may have an incomplete <stdint.h>.  */
-# include @FULL_PATH_STDINT_H@
+# if !defined(__sgi) || !@HAVE_INTTYPES_H@
+#  include @FULL_PATH_STDINT_H@
+# endif
 #endif
 
 /* 7.18.1.1. Exact-width integer types */
Index: m4/stdint.m4
===================================================================
RCS file: /sources/gnulib/gnulib/m4/stdint.m4,v
retrieving revision 1.7
diff -u -p -r1.7 stdint.m4
--- m4/stdint.m4        19 Jun 2006 11:27:00 -0000      1.7
+++ m4/stdint.m4        23 Jun 2006 07:34:52 -0000
@@ -90,7 +90,7 @@ typedef int array [2 * (POW63 != 0 && PO
 #if defined(__FreeBSD__) && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)
 # include <sys/inttypes.h>
 #endif
-#if defined(__OpenBSD__)
+#if defined(__OpenBSD__) || defined(__bsdos__)
 # include <sys/types.h>
 # if HAVE_INTTYPES_H
 #  include FULL_PATH_INTTYPES_H
@@ -102,11 +102,13 @@ typedef int array [2 * (POW63 != 0 && PO
 #if defined(__sun) && HAVE_SYS_INTTYPES_H
 # include <sys/inttypes.h>
 #endif
-#if (defined(__hpux) || defined(_AIX)) && HAVE_INTTYPES_H
+#if (defined(__hpux) || defined(_AIX) || defined(__sgi)) && HAVE_INTTYPES_H
 # include FULL_PATH_INTTYPES_H
 #endif
 #if HAVE_STDINT_H
-# include FULL_PATH_STDINT_H
+# if !defined(__sgi) || !HAVE_INTTYPES_H
+#  include FULL_PATH_STDINT_H
+# endif
 #endif
 '
   gl_STDINT_CHECK_TYPES(


                  ------- end of GNULIB patch -------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]