summaryrefslogtreecommitdiff
path: root/scons/gallium.py
AgeCommit message (Collapse)Author
2009-10-14scons: Disable SSE intrinsics on MinGW.José Fonseca
-mstackrealign causes stack corruption on MinGW. And without it the ability to use SSE instrinsics goes down the drain. Even if we use __attribute__((force_align_arg_pointer)) for the functions we explicitly use SSE instrinsics, the SSE code automatically generated by gcc will cause assertion failures. What a nightmare. Thankfully LLVM gets this right, so all runtime generated SSE code just works. rtasm code doesn't assume 16byte alignment. Therefore the bulk of our performance sensitive code is not affected by this. Still, intrinsics can be convenient, and it would be nice to get this working again some day, sp will try to get a reduced test case.
2009-09-20scons: Drop gprof support for profile builds; tweak optimization flags instead.José Fonseca
gprof is useful for shared libraries, hence our drivers. Nevertheless profilers like oprofile can benefit from disabling some relatively minor optimizations for more accurate / complete results.
2009-09-09scons: Pass -mstackrealign option to gcc.José Fonseca
It is impossible to have gcc generate SSE code without it, as thirdparty applications often call us with an unaligned stack pointer.
2009-08-13scons: Handle Circular dependencies in the libraries.José Fonseca
2009-07-17Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
2009-07-14scons: Monkey patch os.spawnve on Windows to become thread safe.José Fonseca
See also: - http://bugs.python.org/issue6476 - http://scons.tigris.org/issues/show_bug.cgi?id=2449
2009-06-28scons: Disable optimizations only for gcc-4.2José Fonseca
gcc-4.2's optimizer has a strange bug where it looses code from inner loops in certain situations. For example, if the appearently innocent looking code below is compiled with gcc-4.2 -S -O1, the inner loop's code is missing from the outputed assembly. struct Size { unsigned width; }; struct Command { unsigned length; struct Size sizes[32]; }; extern void emit_command(void *command, unsigned length); void create_surface( struct Size size, unsigned faces, unsigned levels) { struct Command cmd; unsigned face; unsigned level; cmd.length = faces*levels*sizeof(cmd.sizes[0]); for(face = 0; face < faces; ++face) { for(level = 0; level < levels; ++level) { cmd.sizes[face*levels + level] = size; // This should generate a shrl statement, but the whole for body // disappears in gcc-4.2 -O1/-O2/-O3! size.width >>= 1; } } emit(&cmd, sizeof cmd.length + cmd.length); } Note that this is not specific to MinGW's gcc-4.2 crosscompiler (the version typically found in debian/ubuntu's mingw32 packages). gcc-4.2 on Linux also displays the same error. gcc-4.3 and above gets this correctly though. Updated MinGW debian packages with gcc-4.3 are available from http://people.freedesktop.org/~jrfonseca/debian/pool/main/m/
2009-06-28scons: Use -Bsymbolic linker option.José Fonseca
This prevents the error relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC when building on x86_64 architecture.
2009-06-26scons: Don't use C specific options with g++José Fonseca
2009-06-14Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
2009-06-26Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
2009-06-11scons: Indent abbreviated command line strings, so command messages stand out.Michel Dänzer
Also add ASPPCOMSTR.
2009-06-08Revert "scons: Less aggressive optimizations for MSVC 64bit compiler."José Fonseca
This reverts commit fc7f92478286041a018ac4e72d2ccedeea7c0eca.
2009-06-02scons: Less aggressive optimizations for MSVC 64bit compiler.José Fonseca
MSVC 64bit compiler takes forever on some of the files. Might want to revisit this again later.
2009-06-02scons: Output nice summary messages instead of long command lines.José Fonseca
You can still get the old behavior by passing the option quiet=no to scons.
2009-05-08scons: mingw is broken with -O1 and higherKeith Whitwell
2009-04-14scons: Support winddk 6001.18002.José Fonseca
2009-03-25scons: Move MSVC specific away from Mingw builds.José Fonseca
2009-03-25scons: Support building with the Windows SDK.José Fonseca
x86_64 is also supported.
2009-03-16scons: Promote declaration-after-statement to error. Detect more warnings.José Fonseca
2009-03-13scons: Use -Wdeclaration-after-statementJosé Fonseca
2009-02-23Merge commit 'origin/gallium-0.1'José Fonseca
Conflicts: src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c src/gallium/auxiliary/util/u_tile.c
2009-02-18scons: Produce map files for debug builds too.José Fonseca
2009-02-12scons: Unbreak mingw builds.José Fonseca
2009-02-12scons: Build DLLs/EXEs with more memory debugger friendlier settings.José Fonseca
2009-02-10scons: Use parallel builds by default.José Fonseca
2009-01-27scons: remove pedantic flagKeith Whitwell
2009-01-24scons: Don't build the DRI drivers in a seperate dir.José Fonseca
DRI drivers can be build side by side with other non-DRI drivers, therefore there is no need to build gallium twice.
2009-01-23scons: Use a cache for built files.José Fonseca
Like ccache, but works on all OSes.
2009-01-22scons: Don't define UNICODE on windows builds.José Fonseca
It creates problems in many libraries (glut, glew) which are not unicode aware.
2009-01-16scons: Use -std=gnu99José Fonseca
It a scary world out there: people use all sort of non standard C stuff, and we must enable support for that in here in order to build. -pedantic still warn us when we use that nonstandard though.
2009-01-08scons: Choose the appropriate MSVC CRT.José Fonseca
2009-01-06scons: Choose the appropriate MSVC CRT.José Fonseca
2009-01-05scons: Specify C99 throughout all the tree.José Fonseca
MSVC may not support full C99, but supports more than plain C90. And -pedantic without -std=c99 generates too many spurious warnings (specially C++ style comments) to be of any use. Note that using certain C99 features in the cross-platform parts of Gallium is still not possible; namely mid-of-scope variable declarations and named structure initializers will break MSVC builds.
2008-12-30scons: Specify C99 throughout all the tree.José Fonseca
MSVC may not support full C99, but supports more than plain C90. And -pedantic without -std=c99 generates too many spurious warnings (specially C++ style comments) to be of any use. Note that using certain C99 features in the cross-platform parts of Gallium is still not possible; namely mid-of-scope variable declarations and named structure initializers will break MSVC builds.
2008-12-09Merge commit 'origin/gallium-0.1' into gallium-0.2Alan Hourihane
2008-12-01scons: Target Windows XP on userspace.José Fonseca
2008-11-20scons: Fix toolchain selection.Michal Krol
2008-11-20scons: Support MinGW32 cross compiler.José Fonseca
To build an alternative opengl32.dll with Gallium's software-rasterizer from a debian-based distribution run: sudo apt-get install mingw32 scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
2008-11-19scons: Fix toolchain selection.Michal Krol
2008-11-18scons: Support MinGW32 cross compiler.José Fonseca
To build an alternative opengl32.dll with Gallium's software-rasterizer from a debian-based distribution run: sudo apt-get install mingw32 scons platform=windows toolchain=crossmingw machine=x86 winsys=gdi dri=no
2008-11-17gallium: Yet another WinCE portability fix.José Fonseca
2008-10-23scons: ppc support.Michel Dänzer
2008-09-08scons: Install shared libs in the right subdir.José Fonseca
2008-09-08scons: Install libGL.so and respective symlinks.José Fonseca
2008-09-02scons: Optimize for speed, not size, with MSVC.José Fonseca
2008-07-18scons: Set default LIBS env var.José Fonseca
2008-07-18scons: Convert tabs to spaces.José Fonseca
2008-07-16mesa: WinCE fixesJonathan White
2008-07-04scons: Enable gcc SSE2 intrinsics on x86.José Fonseca