http://bugs.freedesktop.org/show_bug.cgi?id=25663





--- Comment #11 from Tom Fogal <tfo...@alumni.unh.edu>  2009-12-16 16:02:49 PST 
---
bugzilla-dae...@freedesktop.org writes:
> --- Comment #10 from Ben Matthews <mbe...@gmail.com>  2009-12-16 09:42:25 PST
> The gcc build is still tripping up on sys/endian.h not being found (I have no
> idea why):
> 
> /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc -c
> -I../../include -I../../src/mesa -I../../src/gallium/include
> -I../../src/gallium/auxiliary -O3 -ansi -pedantic -fPIC -ffast-math
> -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
> -fno-strict-aliasing main/accum.c -o main/accum.o
> /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc -c
> -I../../include -I../../src/mesa -I../../src/gallium/include
> -I../../src/gallium/auxiliary -O3 -ansi -pedantic -fPIC -ffast-math
> -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
> -fno-strict-aliasing main/attrib.c -o main/attrib.o
> /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc -c
> -I../../include -I../../src/mesa -I../../src/gallium/include
> -I../../src/gallium/auxiliary -O3 -ansi -pedantic -fPIC -ffast-math
> -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
> -fno-strict-aliasing main/arrayobj.c -o main/arrayobj.o
> In file included from main/imports.h:39,
>                  from main/arrayobj.c:44:
> main/compiler.h:244:24: sys/endian.h: No such file or directory

Hrm.  The ifdef magic in compiler.h is:

  #if __linux__
    use byteswap.h's endian-swapping routine
  #elif __APPLE__
    use CFByteOrder's routine
  #elif _AIX or bluegene
    do the swap manually in C
  #else
    use sys/endian.h's routine.
  #endif

I guess it would be more robust if we used something like the attached
patch implements (warning, tested only on Linux ;).

> That said, if I manually feed this code to the same gcc that mesa is using I
> get the expected results:
> > cat test.c
> #if defined(__blrts__)
> #error __blrts__
> #endif
> #if (defined(__blrts) && !defined(blah) && !defined(_GNU_SOURCE)) 
> #error defined
> #else
> #if defined(_GNU_SOURCE)
> #warning _GNU_SOURCE
> #endif
> #endif
> #ifdef __blrts
> #error __blrts
> #endif
> 
> /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-gcc test.c 
> test.c:2:2: #error __blrts__
> test.c:8:2: warning: #warning _GNU_SOURCE
> test.c:12:2: #error __blrts

Mesa adds a lot of defines, e.g. POSIX_C_SOURCE, which probably have an
effect on which system includes get brought in implicitly, and which
defines are added implicitly.

-tom


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to