aboutsummaryrefslogtreecommitdiffstats
path: root/scons
Commit message (Collapse)AuthorAgeFilesLines
* scons: Prune out unnecessary targets.Jose Fonseca2020-03-301-73/+0
| | | | | | | | | | | | | | | | This prunes out all targets except libgl-gdi, libgl-xlib, and svga, as suggested by Marek Olšák. libgl-xlib will be remove once I have had time to confirm no automated tests we have rely upon it. There are also a bunch of Makefile.sources which become orphaned as result, that are not taken care of in this change. v2: Prune remainders of swr support. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4348> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4348>
* scons: Bump C standard to gnu11 on macOS 10.15.Vinson Lee2019-11-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | Fix build error on macOS 10.15 Catalina. src/util/u_queue.c:179:7: error: implicit declaration of function 'timespec_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration] timespec_get(&ts, TIME_UTC); ^ timespec_get needs C11 starting with macOS 10.15. /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/time.h 193 #if (__DARWIN_C_LEVEL >= __DARWIN_C_FULL) && \ 194 ((defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ 195 (defined(__cplusplus) && __cplusplus >= 201703L)) 196 /* ISO/IEC 9899:201x 7.27.2.5 The timespec_get function */ 197 #define TIME_UTC 1 /* time elapsed since epoch */ 198 __API_AVAILABLE(macosx(10.15), ios(13.0), tvos(13.0), watchos(6.0)) 199 int timespec_get(struct timespec *ts, int base); 200 #endif Signed-off-by: Vinson Lee <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* mesa/imports: let the build system detect strtok_r()Eric Engestrom2019-11-051-0/+3
| | | | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2013 Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> Tested-by: Prodea Alexandru-Liviu <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* scons/windows: Fix build with LLVM>=8Prodea Alexandru-Liviu2019-10-041-5/+6
| | | | | | | Fixes eebe091d292609de8aaf5b5c537d867b23908947 ("scons/windows: Enable compute shaders when possible.") Signed-off-by: Prodea Alexandru-Liviu <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* scons/windows: Enable compute shaders when possible.pal10002019-09-301-1/+26
| | | | | | | | | Tests done with llvm-config indicate that there are only 2 libraries in irreader and not in engine, LLVMAsmParser and LLVMIRReader and both of them are part of coroutines so I replaced irreader with coroutines and added libraries unique to coroutines. Reviewed-by: Jose Fonseca <[email protected]>
* scons: Fix MSYS2 Mingw-w64 build.pal10002019-09-292-0/+10
| | | | | | | | | | | | | | | | Reviewed-by: Jose Fonseca <[email protected]> This patch is based on https://github.com/msys2/MINGW-packages/blob/28e3f85e09b6947ea80036c49f6c38f1394f93ca/mingw-w64-mesa/link-ole32.patch but with tweaks to avoid MSVC build break when applied. v2: Create Mingw platform alias pointing to windows host platform define to avoid spurious crosscompilation; v3: Fix obviously wrong compiler flags for swr driver; v4: Update original patch URL because it has been relocated; v5: Don't bother patching autools stuff as it's not used by MSYS2 Mingw-w64 build and it's days are numbered anyway; v6: After Mingw posix flag fix in 295851eb things are far simpler as we don't need more linking of uuid, ole32, version and shell32 than what is already in place.
* scons/windows: Support build with LLVM 9.pal10002019-09-291-6/+30
| | | | | | | | | | | | | | | | | | | | As X86AsmPrinter component is gone, LLVMX86AsmPrinter got replaced with LLVMRemarks, LLVMBitstreamReader and LLVMDebugInfoDWARF. Tests done with llvm-config on both LLVM 8 and 9 indicate that mcjit, bitwriter and x86asmprinter fully fit inside engine component. On other platforms and with meson build mcdisassembler was used to replace X86AsmPrinter but mcdisassembler also fully fits inside engine component for LLVM>=8 according to same tests. v2: Avoid duplicating code related to Mingw pthreads. Reviewed-by: Jose Fonseca <[email protected]> Cc: 19.1 19.2 <[email protected]> On 19.1 this patch does not apply cleanly without 88eb2a1f
* scons: add py3 supportMichel Zou2019-09-283-5/+9
| | | | | | | | | | SCons 3.1 has moved to python 3, requiring this fix to continue supporting scons builds. Closes: #944 Cc: [email protected] Acked-by: Eric Engestrom <[email protected]> Tested-by: Eric Engestrom <[email protected]>
* gallium: Require LLVM >= 3.9Adam Jackson2019-09-111-14/+2
| | | | | | | | To go any further than this would be to break the current version of Android. Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.8Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.7Adam Jackson2019-09-111-14/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.6Adam Jackson2019-09-111-15/+2
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-111-17/+4
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> [ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
* gallium: Require LLVM >= 3.4Adam Jackson2019-09-111-1/+1
| | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* meson/scons/android: drop now-unused HAVE_LLVMEric Engestrom2019-09-061-5/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Michel Dänzer <[email protected]>
* meson/scons/android: add LLVM_AVAILABLE binary flagEric Engestrom2019-09-061-0/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Michel Dänzer <[email protected]>
* scons: Add coroutines component to build.Vinson Lee2019-09-041-0/+3
| | | | | | Fixes: d32690b43c91 ("gallivm: add coroutine pass manager support") Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* 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>