summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* configure: Require libdrm >= 2.4.75Chad Versace2017-01-271-1/+1
| | | | | | | | | | Required to implement EGL_ANDROID_native_fence_sync on i965. Specifically, i965 needs drm_intel_gem_bo_exec_fence(), I915_PARAM_HAS_EXEC_FENCE, and libsync.h. Reviewed-by: Rafael Antognolli <[email protected]> Tested-by: Rafael Antognolli <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* configure.ac: list radeon in --with-vulkan-drivers help stringEmil Velikov2017-01-271-1/+1
| | | | | | | | Analogous to what we do for the dri and gallium drivers. Cc: 17.0 13.0 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* autoconf: set all __STDC_*_MACROSEmil Velikov2017-01-271-1/+1
| | | | | | | | | | | | Analogous to previous commit(s), with a minor detail - here we set the macros when building both C and C++ sources. Resolving that is a more challenging task that we'll sort out another day. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* configure.ac: Require LLVM for r300 only on x86 and x86_64Andreas Boll2017-01-271-1/+14
| | | | | | | | | | | | | | | | b3119a3 introduced a strict LLVM requirement for r300 on all architectures and thus configure fails on architectures where LLVM is not available or buggy. r300 doesn't strictly require LLVM, but for performance reasons we highly recommend LLVM usage. So require it at least on x86 and x86_64 architectures as we have done before b3119a3. Fixes: b3119a3 ("configure.ac: Check gallium LLVM version in gallium_require_llvm") Cc: 17.0 <[email protected]> Signed-off-by: Andreas Boll <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: move require_dri_shared_libs_and_glapi() before its usersEmil Velikov2017-01-201-16/+16
| | | | | | | | | | | | | Otherwise we'll get a lovely message as below: "require_dri_shared_libs_and_glapi: command not found" Cc: Steven Newbury <[email protected]> Reported-by: Steven Newbury <[email protected]> Fixes: da410e6afad "configure: explicitly require shared glapi for enable-dri" Signed-off-by: Emil Velikov <[email protected]> Tested-by: Steven Newbury <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* utils: build sha1/disk cache only with Android/AutoconfEmil Velikov2017-01-181-0/+1
| | | | | | | | | | Earlier commit imported a SHA1 implementation and relaxed the SHA1 and disk cache handling, broking the Windows builds. Restrict things for now until we get to a proper fix. Fixes: d1efa09d342 "util: import sha1 implementation from OpenBSD" Signed-off-by: Emil Velikov <[email protected]>
* util: import sha1 implementation from OpenBSD17.0-branchpointEmil Velikov2017-01-181-160/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment we support 5+ different implementations each with varying amount of bugs - from thread safely problems [1], to outright broken implementation(s) [2] In order to accommodate these we have 150+ lines of configure script and extra two configure toggles. Whist an actual implementation being ~200loc and our current compat wrapping ~250. Let's not forget that different people use different code paths, thus effectively makes it harder to test and debug since the default implementation is automatically detected. To minimise all these lovely experiences, import the "100% Public Domain" OpenBSD sha1 implementation. Clearly document any changes needed to get building correctly, since many/most of those can be upstreamed making future syncs easier. As an added bonus this will avoid all the 'fun' experiences trying to integrate it with the Android and SCons builds. v2: Manually expand __BEGIN_DECLS/__END_DECLS and document (Tapani). Furthermore it seems that some games (or surrounding runtime) static link against OpenSSL resulting in conflicts. For more information see the discussion thread [3] Bugzilla [1]: https://bugs.freedesktop.org/show_bug.cgi?id=94904 Bugzilla [2]: https://bugs.freedesktop.org/show_bug.cgi?id=97967 [3] https://lists.freedesktop.org/archives/mesa-dev/2017-January/140748.html Cc: Mark Janes <[email protected]> Cc: Vinson Lee <[email protected]> Cc: Tapani Pälli <[email protected]> Cc: Jonathan Gray <[email protected]> Tested-by: Jonathan Gray <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Acked-by: Tapani Pälli <[email protected]> (v1) Acked-by: Jason Ekstrand <[email protected]> (v1)
* configure: error out when building static XOR sharedEmil Velikov2017-01-181-4/+2
| | | | | | | | | | | Current code warns out in such cases and falls-back to either static or shared. That can be easily missed amongst the volume produced by our configure script. Replace the warning with an error such that one gets direct feedback when they're doing something wrong. Signed-off-by: Emil Velikov <[email protected]>
* configure: explicitly require shared glapi for enable-driEmil Velikov2017-01-181-3/+1
| | | | | | | We've been using and depending on it for at least a couple of years. Make it obvious and error out, should one opt for it. Signed-off-by: Emil Velikov <[email protected]>
* configure: factor out commom egl/gbm checksEmil Velikov2017-01-181-29/+18
| | | | Signed-off-by: Emil Velikov <[email protected]>
* configure: remove HAVE_EGL_DRIVER_DRI[23]Emil Velikov2017-01-181-11/+3
| | | | | | | | | | We have them for local purposes in configure, where we can use their direct dependency. With the only remaining instance in the makefile(s) being always true, as it can be seen in the configure snippet. Signed-off-by: Emil Velikov <[email protected]>
* configure: forbid static EGL/GBMEmil Velikov2017-01-181-16/+20
| | | | | | | | | Both libraries implicitly require shared GLAPI which in itself mandates shared libraries. Stop pretending that one can use it and error out at configure stage. Signed-off-by: Emil Velikov <[email protected]>
* configure: remove unused AC_SUBST variablesEmil Velikov2017-01-181-10/+0
| | | | | | | v2: Rebase. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> (v1)
* gallium: correctly manage libsensors link flagsEmil Velikov2017-01-181-3/+3
| | | | | | | | | | We should be using LIBS rather than the LDFLAGS variable. Furthermore try to keep the linking to the final stage, rather than intermetent static library. Cc: Steven Toth <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* mesa: make use of HAVE_FUNC_ATTRIBUTE_ALIAS macroEmil Velikov2017-01-181-8/+1
| | | | | | | | | | | 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]>
* configure: use standard check for attribure aliasEmil Velikov2017-01-181-0/+1
| | | | | | | | | | Currently we have two macros - HAVE_ALIAS and GLX_ALIAS_UNSUPPORTED. To make it even better former of which is explicitly cleared in some cases while not in others. Clear all that up by using a single macro properly set during configure. Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Revert recent HAVE_LLVM changes.Jose Fonseca2017-01-181-42/+27
| | | | | | | | | | | | | | | | This reverts changes 903eb09b5fb78d47d0f8a4bdf826a113ca2aff40..1a0aa468f354f0ee94dd383cd40ae915584624aa: Tobias Droste (5): configure.ac: Rename MESA_LLVM to FOUND_LLVM configure.ac: Only set LLVM_LIBS if LLVM is used configure.ac: Only define HAVE_LLVM if LLVM is used configure.ac: Set and use HAVE_GALLIUM_LLVM define configure.ac: Don't check LLVM version in gallium_require_llvm They break scons build, and I'm not convinced this is the right fix. In particular changing HAVE_LLVM in the C code is something I'd rather avoid no matter what. So it's better to discuss without the pressure of broken builds.
* configure.ac: Respect LLVM_CFLAGS in LLVM version detectionTomasz Figa2017-01-181-0/+6
| | | | | | | | | | | | | | When compiling LLVM headers, including llvm-config.h, we need to respect LLVM_CFLAGS. This is especially crucial if LLVM is located in a non-standard location and it happens that llvm-config.h includes another header. In such case the detection would fail due to missing header, because the path is provided in LLVM_CFLAGS. Let's add LLVM_CFLAGS to global CFLAGS for the time of detection and then restore the original flags, as done in other places of the script. Signed-off-by: Tomasz Figa <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Don't check LLVM version in gallium_require_llvmTobias Droste2017-01-181-3/+1
| | | | | | | | | | | | | | | | This is actually not needed because the version is checked later. Line 2609: if test "x$enable_gallium_llvm" == "xyes"; then llvm_require_version $LLVM_REQUIRED_GALLIUM "gallium" llvm_add_default_components "gallium" HAVE_GALLIUM_LLVM=xyes DEFINES="${DEFINES} -DHAVE_GALLIUM_LLVM" fi Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Set and use HAVE_GALLIUM_LLVM defineTobias Droste2017-01-181-0/+1
| | | | | | | | | | | | Gallium code used HAVE_LLVM to check if it needs to compile code for LLVM in header and source files. With the new logic HAVE_LLVM is always set. Use extra define to figure out if LLVM is used. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99010 Signed-off-by: Tobias Droste <[email protected]>
* configure.ac: Only define HAVE_LLVM if LLVM is usedTobias Droste2017-01-181-7/+9
| | | | | | | | | Make sure that HAVE_LLVM compiler define is only set if LLVM is actually used. Signed-off-by: Tobias Droste <[email protected]> v2 [Emil] fold within the existing conditional Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Only set LLVM_LIBS if LLVM is usedTobias Droste2017-01-181-9/+24
| | | | | | | | | | | | This renames llvm_check_version_for to llvm_require_version and let it set a variable to mark that LLVM will be used. Use this to make a usefull configure output and to only check if the libs are found in LLVM if it is actually used. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99010 Signed-off-by: Tobias Droste <[email protected]>
* configure.ac: Rename MESA_LLVM to FOUND_LLVMTobias Droste2017-01-181-11/+10
| | | | | | | | | | | | | | | This renames MESA_LLVM to FOUND_LLVM and updates the config.log report to say if LLVM is found or not, to make clear that this does not mean that it is used. There are no MESA_LLVM users so drop the AC_SUBST. v2 [Emil] - Polish test: -a over && test, = over ==, unquiote xyes - other ? Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* vl/dri3: use external texture as back buffers(v4)Nayan Deshmukh2017-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | dri3 allows us to send handle of a texture directly to X so this patch allows a state tracker to directly send its texture to X to be used as back buffer and avoids extra copying v2: use clip width/height to display a portion of the surface v3: remove redundant variables, fix wrapping, rename variables handle vaapi path v3.1: we need clip_width/height for every frame so we don't need to maintain it for each buffer instead use a global variable v4: In case of single gpu we can cache the buffers as applications use constant number of buffer and we can avoid calls to present extension for every frame Reviewed and Suggested-by: Leo Liu <[email protected]> Acked-by: Christian König <[email protected]> Tested-by: Andy Furniss <[email protected]> Signed-off-by: Nayan Deshmukh <[email protected]>
* egl/wayland: Avoid race conditions when on non-main threadJonas Ådahl2017-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When EGL is used on some other thread than the thread that drives the main wl_display queue, the Wayland EGL dri2 implementation is vulnerable to a race condition related to display round trips and global object advertisements. The race that may happen is that after after a proxy is created, but before the queue is set, events meant to be emitted via the yet to be set queue may already have been queued on the wrong queue. In order to make it possible to avoid this race, wayland 1.11 introduced new API that allows creating a proxy wrapper that may be used as the factory proxy when creating new proxies via Wayland requests. The queue of a proxy wrapper can be changed without effecting what queue events emitted by the actual proxy will be queued on, while still effecting what default queue proxies created from it will have. By introducing a wl_display proxy wrapper and using this when performing round trips (via wl_display_sync()) and retrieving the global objects (via wl_display_get_registry()), the mentioned race condition is avoided. Signed-off-by: Jonas Ådahl <[email protected]> Cc: [email protected] Reviewed-by: Daniel Stone <[email protected]>
* glx: Add missing glproto dependency for gallium-xlib glxChuck Atkins2017-01-121-1/+3
| | | | | | | | Cc: [email protected] Cc: Bruce Cherniak <[email protected]> Signed-of-by: Chuck Atkins <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* imx: gallium driver for imx-drm scanout driverChristian Gmeiner2017-01-121-1/+13
| | | | | | | | | | Changes from V1 -> V2: - updated Copyright - added $(top_srcdir)/src/gallium/winsys to include path (suggested by Emil) - adapted driver to new renderonly API Signed-off-by: Christian Gmeiner <[email protected]> Acked-by: Emil Velikov <[email protected]>
* etnaviv: gallium driver for Vivante GPUsThe etnaviv authors2017-01-121-1/+10
| | | | | | | | | | | | | | | | | This driver supports a wide range of Vivante IP cores like GC880, GC1000, GC2000 and GC3000. Changes from V1 -> V2: - added missing files to actually integrate the driver into build system. - adapted driver to new renderonly API Signed-off-by: Christian Gmeiner <[email protected]> Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Russell King <[email protected]> Signed-off-by: Wladimir J. van der Laan <[email protected]> Acked-by: Emil Velikov <[email protected]>
* configure: Fix another bashism.Eric Anholt2017-01-051-1/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* configure: cleanup GLX_USE_TLS handlingEmil Velikov2016-12-091-2/+3
| | | | | | | | | | Mesa requires ax_pthread_ok = yes, thus we can fold/rewrite the conditional to follow the more common "if test" pattern. No functional change intended. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* configure: enable glx-tls by defaultEmil Velikov2016-12-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In the (not too) distant future we'd want to remove this option and effectively drop the other codepath(s) we have in our dispatch. Linux distributions have been using --enable-glx-tls for a number of years. Some/most BSD platforms still don't support this, yet this should serve as an encouragement to move things forwards. Note: we had many bug reports were opened due to the wrong default option. See the list below for details. v2: - Correct default option in help string (Andreas) - Add bugzilla references. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70623 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72902 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73778 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89043 Cc: Jean-Sébastien Pédron <[email protected]> Cc: Jonathan Gray <[email protected]> Cc: [email protected] Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Andreas Boll <[email protected]>
* configure.ac: Create correct LLVM_VERSION_INT with minor >= 10Tobias Droste2016-12-051-1/+5
| | | | | | | This makes sure that we handle LLVM minor version >= 10 correctly. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Get complete LLVM version from headerTobias Droste2016-12-051-6/+4
| | | | | | | | | | | | | | Major and minor version are included in the header file since LLVM version 3.1.0. Since the minimal required version is 3.3.0 we can remove the workaround if no values for major/minor were found in the header. Since LLVM 3.6.0 the patch version is inside the header file of LLVM. Only radeon drivers need the patch version and they depend on LLVM >= 3.6.0, so this is safe too. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Add required LLVM versions to the topTobias Droste2016-12-051-14/+54
| | | | | | | | | | | Consolidate the required LLVM versions at the top where the other versions for dependencies are listed. v5: Splitted out separate changes (see patch 19 and 20) Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Only add default LLVM components if neededTobias Droste2016-12-051-3/+12
| | | | | | | | | | | | LLVM components are only added when LLVM is needed. This means gallium adds this as soon as "--enable-gallium-llvm" is "yes" and radv + opencl add it explicitly. v5: Removed hunk that disabled LLVM for gallium if it was not found. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Reorder arguments in radeon_llvm_checkTobias Droste2016-12-051-8/+8
| | | | | | | Use the same order as llvm_check_version_for. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move radv check to the Vulkan sectionTobias Droste2016-12-051-4/+1
| | | | | | | | This moves the LLVM check for radv to the corresponding driver section. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM ac_subst closer to usageTobias Droste2016-12-051-15/+14
| | | | | | | | | This moves llvm_set_environment_variables to its final destination and moves all the LLVM AC_SUBST() below the function call. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move oCL LLVM checks to the oCL sectionTobias Droste2016-12-051-22/+19
| | | | | | | | | | | The LLVM checks can be anywhere below line 1161 now. Move the openCL LLVM checks to the section with the other openCL checks. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Move llvm_set_environment_variables higher.Tobias Droste2016-12-051-7/+4
| | | | | | | | | | | | | | | | This moves the function to get the LLVM environment variables higher in the file. It still needs to be below the "--enable-opencl" because it uses $enable_opencl. It can be called without condition now as it only throws errors if openCL is enabled. v5: HAVE_MESA_LLVM is only used for gallium. Rename it to HAVE_GALLIUM_LLVM. In order to only link LLVM when it is needed, HAVE_GALLIUM_LLVM is only set if "$enable-gallium-llvm" is yes. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Remove swr_llvm_check()Tobias Droste2016-12-051-11/+2
| | | | | | | | | | | | | No need for an additional function here. Use the same style for LLVM checks as the other drivers (e.g. r300, llvmpipe) that don't need a load of other checks. Instead of open conding the LLVM version check, use the function used by other drivers. "enable_gallium_llvm" is checked by gallium_require_llvm(). Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Check gallium LLVM version in gallium_require_llvmTobias Droste2016-12-051-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This moves the LLVM version check to the helper function gallium_require_llvm() and uses the llvm_check_version_for() helper instead of open conding the LLVM version check. gallium_require_llvm is functionally the same as before, because "enable_gallium_llvm" is only set to "yes" if the host cpu is x86: if test "x$enable_gallium_llvm" = xauto; then case "$host_cpu" in i*86|x86_64|amd64) enable_gallium_llvm=yes;; esac fi This function is also only called now when needed. Before this patch llvmpipe would call this as soon as LLVM is installed. Now it only gets called by llvmpipe if gallium LLVM is actually enabled (i.e. only on x86). Both reasons mentioned above remove the need to check host cpu in the gallium_require_llvm function. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Use short names for r600 und r300Tobias Droste2016-12-051-4/+4
| | | | | | | | | There are no non gallium r300 and r600 drivers anymore. No need to explicilty mention gallium here. Just cosmetics, no functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Remove useless oCL LLVM checkTobias Droste2016-12-051-4/+0
| | | | | | | This is handled by "llvm_check_version_for" for openCL. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move llvm-config searching outside the functionTobias Droste2016-12-051-8/+8
| | | | | | | | There's no harm in always searching llvm-config. This way it's available as soon as possible for all functions. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM functions to the topTobias Droste2016-12-051-77/+74
| | | | | | | | | This just moves code around so that all LLVM related stuff is at the top of the file in the correct order. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM version check to the topTobias Droste2016-12-051-70/+74
| | | | | | | | | | | A function with the LLVM version checked is moved to the top. The function is called where the old code was. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Use new helper function for LLVMTobias Droste2016-12-051-7/+18
| | | | | | | | | | | Use the new helper function to add LLVM targets and components. The components are added one by one to later find out which component is missing in case there is one. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Use new llvm_add_default_componentsTobias Droste2016-12-051-5/+1
| | | | | Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Add helper function for targets/componentsTobias Droste2016-12-051-0/+36
| | | | | | | | Add functions to add and check targets/components. Not used in this patch. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>