Commit Graph

201 Commits

Author SHA1 Message Date
Brian Paul
b96ae1b2c4 Merge branch 'mesa_7_5_branch'
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-17 22:00:47 -06:00
José Fonseca
7325c1ebc8 scons: Monkey patch os.spawnve on Windows to become thread safe.
See also:
- http://bugs.python.org/issue6476
- http://scons.tigris.org/issues/show_bug.cgi?id=2449
2009-07-14 12:21:25 +01:00
José Fonseca
bb8f3090ba scons: Disable optimizations only for gcc-4.2
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-28 11:12:22 +01:00
José Fonseca
72ad039d19 scons: Use -Bsymbolic linker option.
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-28 10:54:23 +01:00
José Fonseca
25f6c936fe scons: Don't use C specific options with g++ 2009-06-26 19:57:46 +01:00
Jakob Bornecrantz
2fe65e8f14 Merge branch 'mesa_7_5_branch' 2009-06-14 16:56:34 +02:00
Brian Paul
a18e209edb Merge branch 'mesa_7_5_branch'
Conflicts:

	Makefile
	src/gallium/drivers/softpipe/sp_screen.c
	src/mesa/main/version.h
2009-06-26 17:07:07 -06:00
Michel Dänzer
550a2fe1b7 scons: Indent abbreviated command line strings, so command messages stand out.
Also add ASPPCOMSTR.
2009-06-11 12:15:50 +02:00
José Fonseca
78dad27564 Revert "scons: Less aggressive optimizations for MSVC 64bit compiler."
This reverts commit fc7f924782.
2009-06-08 11:13:41 +01:00
José Fonseca
fc7f924782 scons: Less aggressive optimizations for MSVC 64bit compiler.
MSVC 64bit compiler takes forever on some of the files.

Might want to revisit this again later.
2009-06-02 18:41:12 -07:00
José Fonseca
0f50c4fab8 scons: Output nice summary messages instead of long command lines.
You can still get the old behavior by passing the option quiet=no to scons.
2009-06-02 18:23:12 -07:00
Keith Whitwell
222d7841e9 scons: mingw is broken with -O1 and higher 2009-05-08 14:57:30 +01:00
José Fonseca
71793e0f79 scons: Support winddk 6001.18002. 2009-04-14 21:43:10 +01:00
José Fonseca
b3e03ede3e scons: Move MSVC specific away from Mingw builds. 2009-03-25 21:01:49 +00:00
José Fonseca
26e27ba308 scons: Support building with the Windows SDK.
x86_64 is also supported.
2009-03-25 19:24:49 +00:00
José Fonseca
102cb5c9cd scons: Promote declaration-after-statement to error. Detect more warnings. 2009-03-16 12:01:44 +00:00
José Fonseca
f22574be95 scons: Use -Wdeclaration-after-statement 2009-03-13 11:48:14 +00:00
José Fonseca
37f21fce3b Merge commit 'origin/gallium-0.1'
Conflicts:
	src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
	src/gallium/auxiliary/util/u_tile.c
2009-02-23 17:21:36 +00:00
José Fonseca
46728037a0 scons: Produce map files for debug builds too. 2009-02-18 15:05:23 +00:00
José Fonseca
6fe421cf46 scons: Unbreak mingw builds. 2009-02-12 12:59:58 +00:00
José Fonseca
73ccabc124 scons: Build DLLs/EXEs with more memory debugger friendlier settings. 2009-02-12 12:06:30 +00:00
José Fonseca
1e8177ee17 scons: Use parallel builds by default. 2009-02-10 18:13:05 +00:00
Keith Whitwell
9a7aeac49c scons: remove pedantic flag 2009-01-27 11:16:32 +00:00
José Fonseca
9bd39eb3af scons: Don't build the DRI drivers in a seperate dir.
DRI drivers can be build side by side with other non-DRI drivers, therefore
there is no need to build gallium twice.
2009-01-24 10:28:39 +00:00
José Fonseca
18170bb51b scons: Use a cache for built files.
Like ccache, but works on all OSes.
2009-01-23 21:01:16 +00:00
José Fonseca
42be0104a2 scons: Don't define UNICODE on windows builds.
It creates problems in many libraries (glut, glew) which are not unicode
aware.
2009-01-22 14:26:30 +00:00
José Fonseca
47ca0234dc scons: Use -std=gnu99
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-16 15:16:55 +00:00
José Fonseca
1781d7fa38 scons: Choose the appropriate MSVC CRT. 2009-01-08 12:05:03 +00:00
José Fonseca
26ba5ce0e8 scons: Choose the appropriate MSVC CRT. 2009-01-06 18:23:16 +00:00
José Fonseca
8ee1df0652 scons: Specify C99 throughout all the tree.
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.
2009-01-05 15:24:56 +00:00
José Fonseca
975e58499a scons: Specify C99 throughout all the tree.
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-30 17:13:38 +00:00
Alan Hourihane
ee0735fa2d Merge commit 'origin/gallium-0.1' into gallium-0.2 2008-12-09 16:17:45 +00:00
José Fonseca
129c6ed678 scons: Target Windows XP on userspace. 2008-12-01 11:53:26 -08:00
Michal Krol
79bfe372f2 scons: Fix toolchain selection. 2008-11-20 23:01:53 +09:00
José Fonseca
15b92b09e0 scons: Support MinGW32 cross compiler.
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-20 23:01:43 +09:00
Michal Krol
4f3dcf3864 scons: Fix toolchain selection. 2008-11-19 20:31:38 +01:00
José Fonseca
6cf59e1293 scons: Support MinGW32 cross compiler.
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-18 19:13:32 +09:00
José Fonseca
40b3bb0407 gallium: Yet another WinCE portability fix. 2008-11-17 12:35:54 +09:00
Michel Dänzer
6b69e3c717 scons: ppc support. 2008-10-23 10:28:48 +02:00
José Fonseca
7cfc294c70 scons: Install shared libs in the right subdir. 2008-09-08 21:50:50 +09:00
José Fonseca
52c2dd1f73 scons: Install libGL.so and respective symlinks. 2008-09-08 07:54:15 +09:00
José Fonseca
a6c7258394 scons: Optimize for speed, not size, with MSVC. 2008-09-02 02:16:58 +09:00
José Fonseca
c76787a1dc scons: Set default LIBS env var. 2008-07-18 01:20:44 +09:00
José Fonseca
381e3489c2 scons: Convert tabs to spaces. 2008-07-18 01:20:44 +09:00
Jonathan White
e4f3770690 mesa: WinCE fixes 2008-07-16 16:11:38 -06:00
José Fonseca
194cfc7a4e scons: Enable gcc SSE2 intrinsics on x86. 2008-07-04 22:28:57 +09:00
José Fonseca
27d8d6f44f scons: Add a env.CodeGenerate method to simplify code generation via python scripts.
env.CodeGenerate(
	target = 'my_source.c',
	script = 'my_generator.py',
	source = ['input.txt', 'another.txt'],
	command = 'python $SCRIPT $SOURCE > $TARGET'
)

It will take care generating all appropriate dependencies, including any
module imported by the generator script, and the respective .pyc file
side effects.
2008-07-03 15:06:24 +09:00
José Fonseca
846f87d826 scons: Output mapfile on windows ddk profile builds. 2008-07-01 22:04:01 +09:00
José Fonseca
05cfb4c4b8 scons: Get x86-64<->x86 cross build of assembly files right. 2008-06-27 13:41:23 +09:00
José Fonseca
f78cc24c4b scons: Update to target WinCE 6.0. 2008-06-23 19:44:37 +09:00