summaryrefslogtreecommitdiffstats
path: root/scons
Commit message (Collapse)AuthorAgeFilesLines
* scons: Make GCC builds stricter.Jose Fonseca2019-08-281-1/+4
| | | | | | | | | | Uses some of the same -Werror options used by Meson, as suggested by Michel Dänzer. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* scons: add support for MAJOR_IN_{MKDEV,SYSMACROS}Eric Engestrom2019-08-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | | src/gallium/winsys/svga/drm/vmw_screen.c: In function ‘vmw_dev_compare’: src/gallium/winsys/svga/drm/vmw_screen.c:48:12: warning: implicit declaration of function ‘major’ [-Wimplicit-function-declaration] 48 | return (major(*(dev_t *)key1) == major(*(dev_t *)key2) && | ^~~~~ src/gallium/winsys/svga/drm/vmw_screen.c:49:12: warning: implicit declaration of function ‘minor’ [-Wimplicit-function-declaration] 49 | minor(*(dev_t *)key1) == minor(*(dev_t *)key2)) ? 0 : 1; | ^~~~~ That file (and many others) already has the proper #include with their respective guards, but scons wasn't defining them, resulting in implicit functions being used instead (and an always-true check that's probably breaking something down the line). Note that I'm cheating a bit here because Scons doesn't seem to have a clean way to detect the existence of major() et al. as functions or macros, so I'm taking the shortcut of just detecting the presence of the header and assuming its contents is what we expect. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-By: Jose Fonseca <[email protected]>
* scons: define MESA_LLVM_VERSION_STRING like the other build systems doEric Engestrom2019-08-221-0/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* build: Bump C++ standard requirement to C++14 to fix FTBFS with LLVM 10Kai Wasserbäch2019-08-201-1/+1
| | | | | | | | | | | When building Mesa against a recent LLVM 10 with C++11, the build fails if the AMD common code is built as well due to "std::index_sequence" being undeclared. LLVM requires a minimum of C++14. Signed-off-by: Kai Wasserbäch <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gallium/utils: drop PIPE_SUBSYSTEM_WINDOWS_USEREric Engestrom2019-08-021-2/+0
| | | | | | | This is basically just an alias for PIPE_OS_WINDOWS. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* scons: rename PIPE_SUBSYSTEM_EMBEDDED to EMBEDDED_DEVICEEric Engestrom2019-08-021-1/+1
| | | | | | | It has nothing to do with the PIPE_SUBSYSTEM_* stuff from gallium. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* scons: Fix random_r check.Vinson Lee2019-07-311-1/+1
| | | | | | | Fixes: 597bddad47e8 ("scons: Test for random_r()") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* scons+meson: suppress spammy build warning on MacOSEric Engestrom2019-07-301-0/+1
| | | | | | | | | | | | Originally introduced in c7f36574506838274460 ("darwin: Suppress type conversion warnings for GLhandleARB") to fix Bugzilla #66346 [1], this workaround was never ported to Scons or Meson. [1] https://bugs.freedesktop.org/66346 Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: Test for random_r()Matt Turner2019-07-301-0/+3
| | | | Suggested-by: Eric Engestrom <[email protected]>
* scons: s/HAVE_NO_AUTOCONF/HAVE_SCONS/Eric Engestrom2019-07-041-1/+1
| | | | | | | | | | Back when autotools and scons were the two build systems, it kinda made sense to call scons "not autoconf", but autoconf's been gone for a while now and other build systems have been added (android.mk and meson), so the name really doesn't make any sense anymore. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* drisw: move build logic to build systemsEric Engestrom2019-06-211-0/+3
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* scons: fix build with llvm 9.Roland Scheidegger2019-05-241-1/+4
| | | | | | | | The x86asmprinter component is gone, and things seem to work by just removing it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110707 Reviewed-by: Jose Fonseca <[email protected]>
* scons: For MinGW use -posix flag.Michel Zou2019-05-241-1/+1
| | | | Signed-off-by: Jose Fonseca <[email protected]>
* scons: Compatibility with Scons development version stringpal10002019-03-122-2/+14
| | | | | | | | | | | | | | | | | | | | | This ensures Mesa3D build doesn't fail in this case as encountered when bisecting Scons source code while regression testing https://bugs.freedesktop.org/show_bug.cgi?id=109443 and when testing 3.0.5.a.2 Technical details: Scons version string has consistently been in this format: MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd] so these formulas should strip alpha/beta flags and return Scons version: - as string - `'.'.join(SCons.__version__.split('.')[:3])` - as tuple of integers - `tuple(map(int, SCons.__version__.split('.')[:3]))` - v2: Fixed Scons version retrieval formulas as string and tuple of integers. - v3: Fixed Scons version string format description. Cc: "19.0" <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: Workaround failures with MSVC when using SCons 3.0.[2-4].Jose Fonseca2019-02-281-1/+7
| | | | | | | | | | | | | | This change applies the workaround suggested by Bill Deegan on the affected SCons versions. It also adds a comment with the URL explaining why we were using customizing the decider and max_drift in the first place, as I had forgotten all about it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109443 Tested-by: [email protected] Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* scons: drop unused HAVE_STDINT_H macroEric Engestrom2018-10-301-3/+0
| | | | | | | | | This was required back when MSVC didn't support C99 and was missing this header, but since MSVC 2013 (or maybe earlier?) this isn't it does and this code isn't doing anything anymore. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* scons/svga: remove opt from the list of valid build typesBrian Paul2018-10-261-5/+3
| | | | | | | | | This reverts commit a5fd54f8bf6713312fa5efd7ef5cd125557a0ffe. The whole point was to add a way to pass -DVMX86_STATS to the build, but we can do that with a command line argument when we invoke scons. Reviewed-by: José Fonseca <[email protected]>
* scons: Check for mako 0.8.0Dylan Baker2018-08-161-0/+13
| | | | | | | | v2: - Use distutils to do the version checking Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107565 Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: Require python 2.7Dylan Baker2018-08-161-4/+0
| | | | | | | | | less than 2.7 is not supported. v2: - Remove check for python >= 2.0, since we've already enforced 2.7 Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: Unconditionally enable floating-point texturesTimothy Arceri2018-06-181-4/+0
| | | | | | | | | | | | | | ARB_texture_float references US Patent #6,650,327 [1] which has a filing date of June 16 1998. According to [2], patents filed after 1995 expire 20 years from the filing date, giving an expiration of June 17 2018. [1] https://www.google.com/patents/US6650327 [2] https://en.wikipedia.org/wiki/Term_of_patent_in_the_United_States Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* scons: Fix MinGW cross compilation with LLVM 5.0.Jose Fonseca2018-06-021-1/+8
| | | | | | LLVM 5.0 requires additional Win32 libraries, and MinGW with pthreads. Reviewed-by: Roland Scheidegger <[email protected]>
* meson/configure: detect endian.h instead of trying to guess when it's availableEric Engestrom2018-03-231-0/+3
| | | | | | | | | | | Cc: Maxin B. John <[email protected]> Cc: Khem Raj <[email protected]> Cc: Rob Herring <[email protected]> Suggested-by: Jon Turney <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Cc: <[email protected]>
* scons: need to split CC or things might failJose Fonseca2018-03-191-1/+3
| | | | | | We've seen this fail internally. Reviewed-by: Roland Scheidegger <[email protected]>
* threads,configure.ac,meson.build: define and use HAVE_TIMESPEC_GETNicolai Hähnle2017-11-161-0/+3
| | | | | | | | | | | | | | | Tested with Travis and Appveyor. v2: add HAVE_TIMESPEC_GET for non-Windows Scons builds v3: use check_functions in Scons (Eric) Cc: Rob Herring <[email protected]> Cc: Alexander von Gluck IV <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103674 Fixes: f1a364878431 ("threads: update for late C11 changes") Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Jon Turney <[email protected]> (v2)
* scons: use python3-compatible exceptionsEric Engestrom2017-09-253-4/+4
| | | | | | These changes were generated using python's `2to3` tool. Signed-off-by: Eric Engestrom <[email protected]>
* scons: use python3-compatible listsEric Engestrom2017-09-251-4/+4
| | | | | | | These changes were generated using python's `2to3` tool. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: use python3-compatible list-key checkEric Engestrom2017-09-251-5/+5
| | | | | | These changes were generated using python's `2to3` tool. Signed-off-by: Eric Engestrom <[email protected]>
* scons: use python3-compatible print()Eric Engestrom2017-09-252-19/+19
| | | | | | | | | These changes were generated using python's `2to3` tool. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102852 Reported-by: Alex Granni <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* Scons: Add LLVM 5.0 supportAlexandru-Liviu Prodea2017-09-191-1/+20
| | | | | | | | | 1 new required library - LLVMBinaryFormat Cc: "17.2" <[email protected]> Bugzilla: https://bugs.freedesktop.org=/show_bug.cgi?id=3D102318 Signed-off-by: Alexandru-Liviu Prodea <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* util: improve compiler guardEric Engestrom2017-09-031-0/+16
| | | | | | | | | | | | | | | Glibc 2.26 has dropped xlocale.h, but the functions needed (strtod_l() and strdof_l()) can be found in stdlib.h. Improve the detection method to allow newer builds to still make use of the locale-setting. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102454 Cc: Laurent Carlier <[email protected]> Cc: Emil Velikov <[email protected]> Cc: Rob Herring <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Laurent Carlier <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: split out check_header() helperEric Engestrom2017-07-141-3/+12
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* scons: Check for xlocale.h before defining HAVE_XLOCALE_H.Vinson Lee2017-07-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | Don't assume the header is present on some platforms - use the more robust CheckHeader() instead. glibc 2.26 removed xlocale.h. https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27 Fix this build error with glibc 2.26. Compiling src/util/strtod.c ... src/util/strtod.c:32:10: fatal error: xlocale.h: No such file or directory #include <xlocale.h> ^~~~~~~~~~~ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101657 Signed-off-by: Vinson Lee <[email protected]> Cc: [email protected] Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Tested-by: Eric Engestrom <[email protected]>
* scons: allow .inl file extensionTim Rowley2017-06-301-1/+1
| | | | | | Intended for header files which are not meant to be included directly. Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>
* scons: update for LLVM 4.0Ben Boeckel2017-05-041-2/+20
| | | | | | | | | | | | LLVMDemangle, LLVMGlobalISel, and LLVMDebugInfoMSF are new. Also update the comment to add irreader to the list of components. CC: <[email protected]> Reviewed-by: Chuck Atkins <[email protected]> Signed-off-by: Ben Boeckel <[email protected]> Acked-by: Emil Velikov <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* autoconf/scons: bump libdrm to 2.4.75Emil Velikov2017-03-151-1/+1
| | | | | | | | | | | We'll be using the drmGetDevice[s]2 API in src/loader with next patch. v2: Rebase. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> (v1) Reviewed-by: Eric Engestrom <[email protected]> (v1) Tested-by: Mike Lothian <[email protected]>
* scons: check for libXdamage 1.1 or laterEmil Velikov2017-02-131-1/+1
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* scons: add missing dri2proto requirementEmil Velikov2017-02-131-1/+1
| | | | | | | | Noticed while skimming through, although admittedly there's many other dependencies that are not tracked by the scons build. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* scons: always set __STDC_*_MACROS for C++ sourcesEmil Velikov2017-01-272-3/+2
| | | | | | | | | Analogous to previous commit - just set the lot once throughout. Cc: Jose Fonseca <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* mesa: make use of HAVE_FUNC_ATTRIBUTE_ALIAS macroEmil Velikov2017-01-181-4/+0
| | | | | | | | | | | We must make sure that xserver has an equivalent one-line change to its configure.ac as the glx/glapi headers get copied over. Then again, xserver does _not_ seem to set HAVE_ALIAS to begin with so one might want to look into that first. Cc: Adam Jackson <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* scons: Recognize LLVM_CONFIG environment variable.Vinson Lee2016-11-241-8/+9
| | | | | | Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons: add llvm 3.9 support.George Kyriazis2016-11-211-2/+19
| | | | | | v2: reworded commit message Reviewed-by: Emil Velikov <[email protected]>
* scons: ignore .hpp files in parse_source_list()George Kyriazis2016-11-211-1/+1
| | | | | | | Drivers that contain C++ .hpp files need to ignore them too, along with .h files, when building source file lists. Reviewed-by: Emil Velikov <[email protected]>
* scons: Require libdrm >= 2.4.66 for DRM.Vinson Lee2016-10-251-1/+1
| | | | | | | | | | | | | | | | | configure.ac already requires 2.4.66. Fix SCons build. drmDevicePtr is not available until libdrm 2.4.65. Compiling src/loader/loader.c ... src/loader/loader.c:111:40: error: unknown type name ‘drmDevicePtr’ static char *drm_construct_id_path_tag(drmDevicePtr device) ^ Fixes: 4a183f4d06f8 ("scons: loader: use libdrm when available") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98421 Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Vedran Miletić <[email protected]>
* scons: remove all libudev referencesEmil Velikov2016-10-181-1/+0
| | | | | | | | Analogous to previous automake/autoconf commit. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Axel Davy <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* scons: Fix the Python dependency scanner.Jose Fonseca2016-10-141-2/+8
| | | | | | | | | | | | | | modulefinder wasn't searching for dependencies in the script dir. It's not capable of detecting the sys.path manipulations scripts do internally neither. This change fixes the first issue, and hacks around the second. Honestly, I've come to the conclusion that automatic Python dependency it will always be too brittle. I think we should start manually typing the dependencies like we do in automake. At very least it will enable any person to eyeball and spot/fix missing dependencies, without dig into SCons internals.
* svga: add opt to the list of valid build typesCharmaine Lee2016-08-261-3/+5
| | | | | | For opt build, add VMX86_STATS to the list of cpp defines. Reviewed-by: Brian Paul <[email protected]>
* scons: support 2.5.0Giuseppe Bilotta2016-05-251-1/+8
| | | | | | | | | | | | | | The get_implicit_deps changed in SCons 2.5, expecting a callable rather than a path as third argument. Detect the SCons versions and set the argument appropriately to support both 2.5 and earlier versions. This closes #95211. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95211 Signed-off-by: Giuseppe Bilotta <[email protected]> Cc: [email protected] Acked-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* scons: Improve Python module dependency discovery.Jose Fonseca2016-05-091-18/+9
| | | | | | | | | | Several NIR scripts were using `from ... import ...` syntax, which wasn't supported. Using Python standard libary's modulefinder solves the problem with less effort and hacks. Reviewed-by: Brian Paul <[email protected]>
* scons: Support Clang on Windows.Jose Fonseca2016-04-261-9/+14
| | | | | | | | | | | | | | | | | - Introduce 'gcc_compat' env flag, for all compilers that define __GNUC__, (which includes Clang when it's not emulating MSVC.) - Clang doesn't support whole program optimization - Disable enumerator value warnings (not sure why Clang warns about them, as my understanding is that MSVC promotes enums to unsigned ints automatically.) This is not enough to build with Clang + AddressSanitizer though. More follow up changes will be required for that. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* scons: Move fallback HAVE_* definitions to headers.Jose Fonseca2016-04-261-43/+5
| | | | | | | | | | | | | | | | | | These were being defined in SCons, but it's not practical: - we actually need to include Gallium headers from external source trees, with completely disjoint build infrastructure, and it's unsustainable to replicate the HAVE_xxx checks or even hard-coded defines across everywhere. - checking compiler version via command line doesn't really work due to Clang essentially being like a cameleon which can fake either GCC or MSVC There's no change for autoconf. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>