Commit Graph

82 Commits

Author SHA1 Message Date
José Fonseca a4865e82ef scons: Undo bad merge from cherry-pick. 2010-02-12 23:52:18 +00:00
José Fonseca 57617c8eba scons: Target Windows7. 2010-02-12 23:38:19 +00:00
José Fonseca 7b6fa78d86 scons: Eliminate mixed space/tabs. 2010-02-04 19:37:56 +00:00
José Fonseca 9f151f93e6 scons: Only override scons CC selection in the embedded platform. 2010-02-04 19:37:30 +00:00
José Fonseca 5cf88a4787 scons: Promote EMBEDDED from subsystem to full os. 2010-02-04 14:39:30 +00:00
Alan Hourihane 7683271e63 another gcc 4.2.x check for mstackrealign 2010-01-29 10:22:50 +00:00
Alan Hourihane bd60e6cd5c add PIPE_SUBSYSTEM_EMBEDDED when embedded platform used 2010-01-28 15:34:10 +00:00
Vinson Lee 51ab599ddb scons: Do not use linker option '-Bsymbolic' on Mac OS X.
ld on Mac OS X does not recognize the option '-Bsymbolic'.
2010-01-28 01:34:40 -08:00
Alan Hourihane 1ecf505087 Duplicate CCVERSION check code to compensate for different env CC. 2010-01-27 12:46:46 +00:00
Vinson Lee 7d29afb3a2 scons: Use '-Werror=' option on GCC 4.2.x and greater.
The existing code only checked for GCC 4.2.x and 4.3.x.
2010-01-26 22:56:58 -08:00
Alan Hourihane 18bb614acf fix typo 2010-01-26 19:18:32 +00:00
Alan Hourihane 1019f0de11 only use -Werror flags with gcc 4.2.x and 4.3.x.
could use a better test here though.
2010-01-26 19:14:49 +00:00
Brian Paul 9b22427911 Merge branch 'mesa_7_7_branch'
Conflicts:

	src/mesa/drivers/dri/intel/intel_screen.c
	src/mesa/drivers/dri/intel/intel_swapbuffers.c
	src/mesa/drivers/dri/r300/r300_emit.c
	src/mesa/drivers/dri/r300/r300_ioctl.c
	src/mesa/drivers/dri/r300/r300_tex.c
	src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-25 14:46:17 -07:00
Vinson Lee 6b55aacccb scons: Do not use ld options start-group and end-group on Darwin.
Mac OS X ld does not support these options.
2010-01-23 21:43:26 -08:00
José Fonseca 8a318edd08 scons: Put glut and glew shared libraries into build/xxx/bin or lib.
Use bin subdir for windows dlls, lib for unices.
2010-01-02 00:01:43 +00:00
José Fonseca b2e40643a3 scons: Disable version symlinking for DLLs.
Fixes windows build.
2010-01-02 00:01:42 +00:00
José Fonseca 3d747eded4 scons: Don't globally define WIN32_LEAN_AND_MEAN.
Some of the demo progams legitimately need the functionality
that's disabled by WIN32_LEAN_AND_MEAN.

Instead the solution should be to define WIN32_LEAN_AND_MEAN just before
including windows.h on a case by case basis.
2010-01-01 12:16:19 +00:00
José Fonseca 97e2c5ac0b scons: Expose convienience libraries to the host environment.
This fixes MinGW cross compilation build, recently broken due to the use
of convenience libraries in the GLSL preprocessor.
2010-01-01 11:00:58 +00:00
José Fonseca 8b7552673f scons: Put the configuration info in the build directory too.
It fixes cached configuration results from one platform being erroneously
used in other platforms.
2009-12-26 01:14:08 +00:00
José Fonseca b5a408bae5 llvmpipe: Install unit tests on build/xxx/bin 2009-12-23 16:38:50 +00:00
Brian Paul 09aa984494 Revert "scons: Pass -fno-strict-aliasing to gcc."
This reverts commit a2937a2f4e.

Per Jose's comment, We don't want this on master.
2009-12-11 10:11:45 -07:00
José Fonseca da3bc492d2 scons: Tweak MSVC release options.
Enable whole program optimizations and fast math.
2009-12-11 15:16:22 +00:00
José Fonseca a2937a2f4e scons: Pass -fno-strict-aliasing to gcc.
Strict aliasing tule violations were fixed on master, but
they're still causing problem in this branch, so disable this assumptions.

Do not apply this fix to master (revert when you merge).
2009-12-11 12:28:53 +00:00
José Fonseca 2348f6d490 scons: Promote pointer arithmetic to error.
All code covered by scons is being built on multiple OSes, so pointer
arithmetic must really be addressed when spotted.
2009-11-27 17:06:12 +00:00
José Fonseca 0b4ea45e8a util: Remove homegrown Windows KM profiler.
It's not sampling based so its results are biased towards functions called
many times.
2009-11-04 12:15:29 +00:00
José Fonseca ad0975f701 scons: Define _USE_MATH_DEFINES on MSVC. 2009-10-26 15:17:26 +00:00
José Fonseca 1acd891ed3 scons: Disable more MSVC pedantic security warnings. 2009-10-22 19:12:12 +01:00
José Fonseca 5ba645f0fb scons: Disable SSE intrinsics on MinGW.
-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-10-14 17:24:21 +01:00
José Fonseca 1a9eec84bd scons: Drop gprof support for profile builds; tweak optimization flags instead.
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-20 18:09:34 +01:00
José Fonseca b0b131b023 scons: Pass -mstackrealign option to gcc.
It is impossible to have gcc generate SSE code without it, as thirdparty
applications often call us with an unaligned stack pointer.
2009-09-09 21:48:50 +01:00
José Fonseca 7b39194e2d scons: Handle Circular dependencies in the libraries. 2009-08-13 16:32:51 +01:00
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