summaryrefslogtreecommitdiff
path: root/scons
AgeCommit message (Collapse)AuthorFilesLines
2014-09-11scons: add /dynamicbase and /nxcompat to MinGW linkflagsJosé Fonseca1-2/+6
Just like b26503b196d51dc46c815e241343e42ab30e8d66 for MSVC.
2014-09-11scons: add /dynamicbase and /nxcompat to MSVC linkflagsBrian Paul1-0/+2
This builds the opengl DLLs with address layout space randomization (ASLR) and data execution prevention (DEP) for better security. Reviewed-by: Kurt Daverman <krd@vmware.com>
2014-08-14scons: do not include headers from the sources listsJose Fonseca1-0/+3
The SCons documentation is not explicit on the topic yet building mesa with SCons and MSVC is known to have problems when headers are listed. So be safe just drop them for now. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82534 Tested-by: Vinson Lee <vlee@freedesktop.org> Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-06-16scons: Link libGL.so against xcb-dri2.José Fonseca1-1/+1
Fixing undefined xcb_dri2_* symbols. Trivial.
2014-06-09scons: remove dri-i915 build targetEmil Velikov1-1/+0
Unmaintained and broken. Cc: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Jakob Bornecrantz <jakob@vmware.com>
2014-06-06scons: Search only for mingw-w64 cross-compilers.José Fonseca1-15/+2
Some distros still ship the non-mingw-w64 cross-compilers, but they are can't build Mesa properly, as Jakob pointed out.
2014-05-23gallivm: Support MCJIT on Windows.José Fonseca1-5/+3
It works fine, though it requires using ELF objects. With this change there is nothing preventing us to switch exclusively to MCJIT, everywhere. It's still off though.
2014-05-14scons: Require LLVM 3.1José Fonseca1-44/+13
Support for prior versions will be removed in the following change. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-05-02scons: Don't use bundled C99 headers for VS 2013.José Fonseca1-0/+6
Use the ones provided by the compiler instead. NOTE: External trees should be updated to not include '#include/c99' directory directly, but rather rely on scons/gallium.py to do the right thing. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-05-02scons: Adjust the warnings for VS.José Fonseca1-1/+3
Silence insignificant warnings so significant warnings have a chance to stand out. The only abundant warning that's not silenced here is "C4018: signed/unsigned mismatch", as it could hide security issues, so it's better to actually fix the code. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-04-17scons: Enable building through Clang Static Analyzer.José Fonseca1-3/+35
Same intent as commit a45a50a4828e1357e9555474bc127c5585b3a420, but this the C compiler is detected via C-preprocessor macros, similar to how autotools do it, as that seems to be the most reliable method. Reviewed-by: Brian Paul <brianp@vmware.com>
2014-04-16Revert "scons: Enable building through Clang Static Analyzer."José Fonseca1-23/+8
This reverts commit a45a50a4828e1357e9555474bc127c5585b3a420. Unfortunately gcc dumps argv[0] as the first word of --version, so it is unreliable for detecting gcc. In particular `cc --version` and `i686-w64-mingw32-gcc --version` give wrong results. A better solution needs to be found -- most likely using C-preprocessing like autotools does. Revert for now.
2014-04-16scons: Add an analyze option.José Fonseca1-0/+12
For Clang static code analyzer, the scan-build script will produce more comprehensive output. Nevertheless you can invoke it as CC=clang CXX=clang++ scons analyze=1 For MSVC this is the best way to use its static code analysis. Simply invoke as scons analyze=1 Reviewed-by: Brian Paul <brianp@vmware.com>
2014-04-16scons: Enable building through Clang Static Analyzer.José Fonseca1-8/+23
By accurately detecting gcc/clang through --version option instead of executable name. Clang Static Analyzer reports many issues, most false positives, but it found at least one real and subtle use-after-free issue in st_texture_get_sampler_view(): http://people.freedesktop.org/~jrfonseca/scan-build-2014-04-14-1/report-869047.html#EndPath Reviewed-by: Brian Paul <brianp@vmware.com>
2014-03-24haiku: Fix build through scons corrections and viewport fixesAlexander von Gluck IV1-0/+5
* Add HAVE_PTHREAD, we do have pthread support wrappers now for non-native Haiku threaded applications. * Viewport changed behavior recently breaking the build. We fix this by looking at the gl_context ViewportArray (Thanks Brian for the idea) Acked-by: Brian Paul <brianp@vmware.com>
2014-03-04scons: Build with C++11 with LLVM >= 3.5.Vinson Lee1-0/+1
Starting with llvm-3.5svn r202574, LLVM expects C+11 mode. commit f8bc17fadc8f170c1126328d203f0dab78960137 Author: Chandler Carruth <chandlerc@gmail.com> Date: Sat Mar 1 06:31:00 2014 +0000 [C++11] Turn off compiler-based detection of R-value references, relying on the fact that we now build in C++11 mode with modern compilers. This should flush out any issues. If the build bots are happy with this, I'll GC all the code for coping without R-value references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202574 91177308-0d34-0410-b5e6-96231b3b80d8 Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2014-02-18scons: sync package requirementsEmil Velikov1-5/+3
xorg-server and libkms is no longer required since the removal of the xorg state-tracker. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-01-17s/Tungsten Graphics/VMware/José Fonseca2-4/+4
Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the old copyright name is creating unnecessary confusion, hence this change. This was the sed script I used: $ cat tg2vmw.sed # Run as: # # git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed # # Rename copyrights s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g /Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./ s/TUNGSTEN GRAPHICS/VMWARE/g # Rename emails s/alanh@tungstengraphics.com/alanh@vmware.com/ s/jens@tungstengraphics.com/jowen@vmware.com/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g s/keithw\?@tungstengraphics.com/keithw@vmware.com/g s/michel@tungstengraphics.com/daenzer@vmware.com/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/zack@tungstengraphics.com/zackr@vmware.com/ # Remove dead links s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g # C string src/gallium/state_trackers/vega/api_misc.c s/"Tungsten Graphics, Inc"/"VMware, Inc"/ Reviewed-by: Brian Paul <brianp@vmware.com>
2013-12-23scons: Add system library linker flags on LLVM 3.5.Vinson Lee1-0/+2
llvn-3.5svn r197664 split out the linker flags from ldflags to system-libs. Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2013-11-05mesa: Remove last BEOS checksAlexander von Gluck IV1-2/+0
* Goodbye BeOS, we hardly knew thee * As BeOS was gcc2 only, there was little chance of this being useful. * Doesn't effect Haiku in any meaningful way Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-20scons: Fix Haiku missing libraryAlexander von Gluck IV1-1/+1
* The softpipe add-on needs libtranslation due to the use of BTranslatorRoster Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-17scons: Simplified fix of llvm cxxflags for rttiAlexander von Gluck IV1-0/+5
* Based on ideas of Jose Fonseca * A rework of ce8eadb6e8 Tested-by: Vinson Lee <vlee@freedesktop.org>
2013-10-16Revert "scons: Fix build when rtti is disabled"José Fonseca1-3/+0
This reverts commit 94d05bf87a21bd364e84f699a0064e5fba58a6f9 as it has a few problems: - it breaks windows builds becuase env[LLVM_CXXFLAGS] is never set there - it is merging not only rtti, but the whole cxxflags (defines etc) which has proven to be a source of troubles (breaks debugging etc.)
2013-10-15scons: Fix build when rtti is disabledAlexander von Gluck IV1-0/+3
* The rtti fix actually dug up a bug in the scons build scripts. * Autotools took the LLVM cpp and cxx flags, while scons only took the cpp flags. * This grabs the cxx flags and applies them where needed. We may want to make the same change for the llvm cpp flags in scons. * The only linux platform I can find with LLVM no-rtti is Ubuntu. * Fixes bug #70471 Tested-by: Vinson Lee <vlee@freedesktop.org>
2013-10-14build: remove forced -fno-rttiAlexander von Gluck IV1-3/+0
* As discussed on the mailing list, forced no-rtti breaks C++ public API's such as the Haiku C++ libGL.so * -fno-rtti *can* be still set however instead of blindly forcing -fno-rtti, we can rely on the llvm-config --cppflags output. If the system llvm is built without rtti (default), the no-rtti flag will be present in llvm-config --cppflags (which we pick up on) If llvm is built with rtti (REQUIRES_RTTI=1), then -fno-rtti is removed from llvm-config --cppflags. * We could selectively add / remove rtti from various components, however mixing rtti and non-rtti code is tricky and could introduce missing symbols. * This needs impact tested. Reviewed-by: Francisco Jerez <currojerez@riseup.net>
2013-10-04haiku: Ensure correct libraries are referenced.Alexander von Gluck IV1-0/+2
2013-06-08scons: Fix implicit python dependency discovery on Windows.José Fonseca1-1/+2
Probably due to CRLF endings, the discovery of python import statements was not working on Windows builds, causing incremental builds to often fail unless one wiped out the build directory. NOTE: This is a candidate for stable branches.
2013-05-21scons: Don't force stabs debug format for Mingw.José Fonseca1-42/+0
- recent gdb handles DWARF fine (tested both with version 7.1.90.20100730 from mingw-w64 project, and 7.5-1 from mingw project) - http://people.freedesktop.org/~jrfonseca/bfdhelp/ was updated to handle DWARF - stabs requires ugly hacks to prevent compilation failures - mixing stabs/dwarf prevents proper backtraces (which is inevitable, given that the MinGW C runtime is pre-built with DWARF) For example, without this change I get: (gdb) bt #0 _wassert (_Message=0xf925060 L"Num < NumOperands && \"Invalid child # of SDNode!\"", _File=0xf60b488 L"llvm/include/llvm/CodeGen/SelectionDAGNodes.h", _Line=534) at ../../../../mingw-w64-crt/misc/wassert.c:51 #1 0x0368996b in _assert (_Message=0x39d7ee4 "Num < NumOperands && \"Invalid child # of SDNode!\"", _File=0x39d7e94 "llvm/include/llvm/CodeGen/SelectionDAGNodes.h", _Line=534) at ../../../../mingw-w64-crt/misc/wassert.c:44 #2 0x00000004 in ?? () #3 0x00000004 in ?? () #4 0x0f60b488 in ?? () #5 0x00000000 in ?? () While with this change I get: (gdb) bt #0 _wassert (_Message=0xfb982e8 L"Num < NumOperands && \"Invalid child # of SDNode!\"", _File=0xefbcb40 L"llvm/include/llvm/CodeGen/SelectionDAGNodes.h", _Line=534) at ../../../../mingw-w64-crt/misc/wassert.c:51 #1 0x039c996b in _assert (_Message=0x3d17f24 "Num < NumOperands && \"Invalid child # of SDNode!\"", _File=0x3d17ed4 "llvm/include/llvm/CodeGen/SelectionDAGNodes.h", _Line=534) at ../../../../mingw-w64-crt/misc/wassert.c:44 #2 0x033111cc in getOperand (Num=4, this=<optimized out>) at llvm/include/llvm/CodeGen/SelectionDAGNodes.h:534 #3 getOperand (i=4, this=<optimized out>) at llvm/include/llvm/CodeGen/SelectionDAGNodes.h:779 #4 llvm::SelectionDAG::getNode (this=0xf00cb08, Opcode=79, DL=..., VT=..., N1=..., N2=...) at llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:2859 #5 0x03377b20 in llvm::SelectionDAGBuilder::visitExtractElement (this=0xfb45028, I=...) at llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:2803 [...] Reviewed-by: Brian Paul <brianp@vmware.com>
2013-05-03scons: remove radeon buildAndreas Boll1-1/+0
One build system for linux/unix only drivers should be enough. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48694 Acked-by: Jose Fonseca <jfonseca@vmware.com>
2013-04-25scons: Support clang.José Fonseca1-11/+13
clang is supports most gcc options / extensions, with a some exceptions. The biggest advantage of using clang is that compilation times are much short. One can tell scons to use clang when building by invoking it as CC=clang CXX=clang++ scons libgl-xlib
2013-03-21scons: check for existance of 'MSVC_VERSION' in envBrian Paul1-1/+1
Evidently, MSVC_VERSION isn't always defined so check for it before checking the MSVC version. Suggested by Jose.
2013-03-15scons: Warn when using MSVS versions prior to 2012.José Fonseca1-0/+2
Reviewed-by: Brian Paul <brianp@vmware.com>
2013-03-14scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds.José Fonseca1-0/+1
scons/llvm.py defines inline globally to workaround issues with LLVM C binding headers, so the only way to is to avoid aggravating xkeycheck.h errors is to set _ALLOW_KEYWORD_MACROS. This fixes MSVC 2012 build with LLVM. Reviewed-by: Brian Paul <brianp@vmware.com>
2013-03-05scons: Fix llvm-config not found error message.José Fonseca1-1/+1
"% llvm_version" is bogus copy'n'past cruft.
2013-02-28scons: Fix Windows build with LLVM 3.2Keith Kriewall1-1/+13
Fixes fdo bug 61299 NOTE: This is a candidate for the stable branches. Signed-off-by: José Fonseca <jfonseca@vmware.com>
2013-02-05Require libdrm_radeon 2.4.42 for radeonsi.Michel Dänzer1-1/+1
It has new PCI IDs and an important tiled surface layout fix.
2013-01-23scons: Fix source lists parsing on Windows.José Fonseca1-2/+7
/ vs \ mismatch was causing .objs to be put in the source tree, causing breakeage when doing different build types in the same tree (eg., debug vs release). Fix this by normalizing everything to / slashes. It's probably a good idea to purge all .objs from source tree to prevent issues completely.
2013-01-22scons: Disable frame pointer omission for all build types except release.José Fonseca1-1/+1
In particular for checked builds, where debug_backtrace_capture relies on it.
2013-01-07mesa: Drop mmx optimizations on HaikuAlexander von Gluck IV1-2/+1
* Prevents compatibility problems. As Haiku doesn't use rtasm anymore, it's kind of pointless.
2012-12-06gallium/os: Cleanup up os_time_get/os_time_get_nano.José Fonseca1-1/+1
- Re-implement os_time_get in terms of os_time_get_nano() for consistency - Use CLOCK_MONOTONIC as recommended - Only use clock_gettime on Linux for now. Reviewed-by: Brian Paul <brianp@vmware.com>
2012-12-04scons: Link against librtJosé Fonseca1-0/+2
Fixes missing clock_gettime symbol.
2012-11-05scons: Require libdrm_radeon 2.4.40.Vinson Lee1-1/+1
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2012-10-28scons: Add -fno-rtti to CXXFLAGS with llvm-3.2.Vinson Lee1-0/+3
llvm-3.2svn r166772 no longer requires RTTI for lib/Support. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-10-23scons: Do not use -fvisibilty=hidden on Cygwin.Vinson Lee1-1/+1
This is a follow-up to commit db78643182dc39ed592dd8c2e5fc7c8eeb7316a1. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-10-01build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definitionMatt Turner1-1/+1
2012-08-31scons: Remove leftover print statement.Vinson Lee1-1/+0
Remove print statement left over from commit c57fb034b19156e06e2ec25d9b06a0e174d861c9. Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2012-08-31scons: Add default libraries to Solaris build.Vinson Lee1-1/+2
Fixes SCons build on Solaris. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54293 Signed-off-by: Vinson Lee <vlee@freedesktop.org> Signed-off-by: Brian Paul <brianp@vmware.com>
2012-08-16scons: Fix MinGW cross compilation.José Fonseca1-3/+22
Compensate for the recent changes and assumptions added to Makefiles.sources
2012-08-15scons: Add option to enable floating-point textures.Vinson Lee1-0/+4
Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-08-14scons: Populate top_srcdir and top_builddir variables when reading ↵José Fonseca2-1/+8
Makefiles.sources. This is not entirely correct, as scons doesn't put binaries in a "src" subdirectory, but doesn't seem to be a problem for now.