libX11 or xproto seem to disable some macros defined by mips toolchain

Abdoulaye Walsimou GAYE awg at embtoolkit.org
Sun Jun 13 13:55:56 PDT 2010


Hello,
I have a issue when I build libX11 with a mips toolchain.
The macro __WORDSIZE seems to be disabled by libX11 or xproto.
Here is the build ouput:

make[3]: Entering directory 
`/home/walsimou/embtoolkit.git/build/packages_build-mipsel-linux-mips32/libX11-1.3.4/src'
cd util && make
make[4]: Entering directory 
`/home/walsimou/embtoolkit.git/build/packages_build-mipsel-linux-mips32/libX11-1.3.4/src/util'
   CC     makekeys-makekeys.o
In file included from 
/home/walsimou/embtoolkit.git/sysroot-mipsel-linux-mips32/usr/include/sys/types.h:31,
                  from 
/home/walsimou/embtoolkit.git/sysroot-mipsel-linux-mips32/usr/include/X11/Xos.h:42,
                  from makekeys.c:32:
/home/walsimou/embtoolkit.git/sysroot-mipsel-linux-mips32/usr/include/bits/types.h:133:3: 
error: #error
In file included from 
/home/walsimou/embtoolkit.git/sysroot-mipsel-linux-mips32/usr/include/sys/types.h:31,
                  from 
/home/walsimou/embtoolkit.git/sysroot-mipsel-linux-mips32/usr/include/X11/Xos.h:42,
                  from makekeys.c:32:

And Here is part of usr/include/sys/types.h (see attachment for complete 
file):

#if __WORDSIZE == 32
# define __SQUAD_TYPE        __quad_t
# define __UQUAD_TYPE        __u_quad_t
# define __SWORD_TYPE        int
# define __UWORD_TYPE        unsigned int
# define __SLONG32_TYPE        long int
# define __ULONG32_TYPE        unsigned long int
# define __S64_TYPE        __quad_t
# define __U64_TYPE        __u_quad_t
/* We want __extension__ before typedef's that use nonstandard base types
    such as `long long' in C89 mode.  */
# define __STD_TYPE        __extension__ typedef
#elif __WORDSIZE == 64
# define __SQUAD_TYPE        long int
# define __UQUAD_TYPE        unsigned long int
# define __SWORD_TYPE        long int
# define __UWORD_TYPE        unsigned long int
# define __SLONG32_TYPE        int
# define __ULONG32_TYPE        unsigned int
# define __S64_TYPE        long int
# define __U64_TYPE        unsigned long int
/* No need to mark the typedef with __extension__.   */
# define __STD_TYPE        typedef
#else
# error <===== __WORDSIZE is not defined
#endif

I think this shows that somewhere in xproto or libX11 __WORDSIZE is 
disabled.
A simple test code, which prints __WORDSIZE shows that it is defined by 
the mips toolchain.
Thanks for any help/comment about this issue,

AWG
-------------- next part --------------
A non-text attachment was scrubbed...
Name: types.h
Type: text/x-chdr
Size: 6828 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100613/c90fc4c1/attachment.h>


More information about the xorg-devel mailing list