Commit Graph

127 Commits

Author SHA1 Message Date
José Fonseca ddb081e3ed Revert "scons: Refuse to use LLVM 2.7 for now."
This reverts commit 44703217f7.

http://www.llvm.org/bugs/show_bug.cgi?id=6429 has been fixed now. Things
appear to be working reasonably so far.
2010-03-10 18:09:33 +00:00
José Fonseca 44703217f7 scons: Refuse to use LLVM 2.7 for now.
LLVM's trunk is totally broken, at least for x86_64.

See http://www.llvm.org/bugs/show_bug.cgi?id=6429
2010-03-06 09:34:31 +00:00
José Fonseca 19a633310f scons: Fix version comparisons. 2010-03-06 09:34:31 +00:00
José Fonseca 8edc6b0bfc scons: Detect and support LLVM 2.7. 2010-03-06 09:34:31 +00:00
José Fonseca fe889a89d2 scons: Control caching via new SCONS_CACHE_DIR environment variable.
This serves several purposes:
- disable caching in situations were is it useless or undesired
- share caches among all trees
- simplify purging the cache (when it's a single location)
- move the cache out of the tree, since that slows downs IDEs considerably

To retain previous behavior just define do

  export SCONS_CACHE_DIR=$PWD/build/cache

before invoking scons.
2010-02-14 15:34:39 +00:00
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
Brian Paul eaf3ae58a9 scons: add another prefix for mingw32 on Fedora
(cherry picked from commit f1afb352daf0e74751c99254592eef863c64392a)
2010-02-10 16:34:24 -07:00
José Fonseca 2311e2adf0 scons: User friendly message for code generated files 2010-02-10 22:32:50 +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
José Fonseca 5a743d9c51 scons: Have MinGW target MSVCRT 7.0
Necessary for _aligned_malloc/free().
2010-02-04 10:38:35 +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 a921458c16 scons: LLVM <-> MSVC integration tweaks. 2010-01-10 10:51:42 +00:00
José Fonseca dc6bcc92ee gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ad-hoc definitions.
Everybody is using the C99's integer types. Everybody except Microsoft,
which in turns means everybody is including their own definitions of C99
integer types for MSVC, causing duplicate definitions when linking two
projects. This is the case of building Gallium and LLVM with MSVC.

Shipping alternative stdint.h and stdbool.h headers for MSVC allows us
to share a single definition. It also removes clutter from the Gallium
headers.
2010-01-10 10:39:29 +00:00
José Fonseca 321aef7da3 scons: Update the MSVC SA to match latest scons code. 2010-01-02 00:56:01 +00:00
José Fonseca 58d376ac42 scons: Axe generic.py.
Progs are now built together with the rest so no longer needed.
2010-01-02 00:55:29 +00: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 2104cbb694 scons: Remove duplicated code. 2010-01-02 00:01:42 +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 8c981b94dc scons: Make it work with MinGW build of LLVM 2.6.
LLVM 2.5 is no longer supported on windows.
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 bf48447caf scons: Hack LLVM support on Windows.
Doesn't quite work yet though, as small differences in the compilation flags
used when building LLVM and Mesa cause link failures for STL symbols.
2009-10-22 19:12:14 +01: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 9ea277ba7a scons: Don't require -liberty on MinGW.
Not always present.
2009-09-24 13:12:50 +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 459ea0095c llvmpipe: Make the code portable for MinGW. 2009-09-16 11:35:23 +01:00
José Fonseca d3f5a2e5ab scons: Allow to use only the WINDDK headers. 2009-09-14 20:12:02 +01:00
José Fonseca a4a4553a80 scons: Allow to use MS's DXSDK headers with MinGW. 2009-09-14 20:12:01 +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
Vinson Lee 79f48c9f9e scons: Don't set LLVM_VERSION if one of the llvm-config calls fails.
Ubuntu 8.10 has llvm-config version 2.2, which doesn't have
nativecodegen. This triggers an exception.
2009-09-07 15:16:25 +01:00