Hi,

The man page for the native C compiler says,
"Use the following statement to uniquely identify Tru64 UNIX:

      #if defined (__digital__) && defined (__unix__)

The results from the short program below follow:

char=1, int=4, long=8, short=2

The file inttypes.h in /usr/include identifies the following:

 * @(#)$RCSfile: inttypes.h,v $ $Revision: 1.1.6.1 $ (DEC) $Date: 1999/10/18 20:23:44 $
 */
#ifndef _INTTYPES_H
#define _INTTYPES_H

#ifndef __BIT_TYPES_DEFINED__
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef signed long int64_t;

typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
#endif
typedef signed long intptr_t;
typedef unsigned long uintptr_t;

#endif  /* _INTTYPES_H */

I have also seen a user defined int32.h file which follows:

#ifdef INT32
typedef int int32;
typedef unsigned int uint32;
#else
typedef long int32;
typedef unsigned long uint32;
#endif

Hope this helps.

Philip

        
        From [EMAIL PROTECTED]  Tue Apr 16 09:38:05 2002
        
        Hi,
        
        Humm... seems I've found the source of error.
        
        In icc34.h there are some typedefs for declaring basic types.
        
        icUInt8Number;
        icUInt16Number;
        icUInt32Number;
        icUInt64Number;
        icInt8Number;
        icInt16Number;
        icInt32Number;
        icInt64Number;
        
        Rest of library does rely on these. Specially for I/O. Then, the original
        icc34.h does something like this:
        
        #ifdef __sgi
         ... declare proper types for SGI
        #else
        ... use defaults **FOR MS WINDOWS**
        #endif
        
        Of course, if you are using the default icc34.h, you reverts to MS Windows
        defines. This is enough to silent the compiler, but there are things, like for
        example
        
        typedef  long  icInt32Number;
        
        That doesn't apply to your system, nor on many others. In such way, I did
        the modification in icc34.h in order to support all those. But since tru64 
wasn't
        included,  it was no #ifdef __tru64 or anything like it. So, here is why 
compiler
        complained.
        
        What we really need to know is wich sizes does have your basic types.
        Do you know if is there any #defined symbol like __tru64 to tailor them?
        
        Another thing, we should know the type sizes. I guess this small program could
        give us some clues:
        
        ----cut---
        #include <stdio.h>
        int main(int argc, char* argv[])
        {
            printf("char=%d, int=%d, long=%d, short=%d\n", sizeof(char), sizeof(int), 
sizeof(long), sizeof(short));
           return 0;
        }
        ---cut---
        
        Or, better, to know if there are already defined base types like:
        
        uint8_t
        uint16_t
        uint32_t
        ... etc..
        
        Some platforms does have sligtly different identifiers:
        
        u_int8_t
        u_int16_t
        u_int32_t
        .. etc..
        
        Some other does ones like these
        
        __uint8_t
        __uint16_t
        __uint32_t
        ... etc..
        
        
        If so, is just a matter of using these symbols to get the library working.
        
        
        Regards,
        Mart� Maria
        The little cms project
        http://www.littlecms.com
        [EMAIL PROTECTED]

_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to