summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2021-02-01xquartz: Remove check for libdispatch now that we don't support pre-SnowLeopardJeremy Huddleston Sequoia1-4/+0
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
2020-12-14xfree86: Implement a test input driverPovilas Kanapickas1-0/+3
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2020-11-25configure.ac: KMS support also depends on dri2Fabrice Fontaine1-1/+1
Kernel modesettings support also depends on dri2, see http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46 Fix #479 Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> [Patch retrieved (with a small update of commit message) from: https://git.buildroot.net/buildroot/tree/package/x11r7/xserver_xorg-server/1.20.6/0001-modesettings-needs-dri2.patch] Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-11-10xwayland: Add a man pageOlivier Fourdan1-0/+1
Xwayland was missing a man page, add one. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Martin Peres <martin.peres@mupuf.org>
2020-11-09configure: Build hashtable for Xres and glvndOlivier Fourdan1-0/+5
With autoconf, hashtable support is built along with Xres support. Yet, glvnd also use it, so when disabling Xres from configure, the build will fail at link time because hashtable functions are not available. Untie the build of hashtable from Xres support, just like meson build does. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1091
2020-07-08xwayland: Add a pkg-config file for XwaylandOlivier Fourdan1-0/+12
Xwayland is usually spawned by the Wayland compositor which sets the command line options. If a command line option is not supported, Xwayland will fail to start. That somehow makes the Xwayland command line option sort of ABI, the Wayland compositor need to know if a particular option is supported by Xwayland at build time. Also, currently, Xwayland is being installed along with the rest of the common executable programs that users may run, which is sub-optimal because, well, Xwayland is not a common executable program, it's meant to be a proxy between the Wayland compositor and the legacy X11 clients which wouldn't be able to run on Wayland otherwise. Xwayland would be better installed in `libexec` but that directory is (purposedly) not in the user `PATH` and therefore the Wayland compositor may not be able to find Xwayland in that case. To solve both problems (which options are supported by Xwayland and where to look for it), add a `pkg-config` file specifically for Xwayland which gives the full path to Xwayland (`xwayland`) and which options it supports (using `pkg-config` variables). The `pkg-config` file also provides the `Version` so the build scripts can check for a particular version if necessary. Obviously, Wayland compositors are not required to use the `pkg-config` file and can continue to use whatever mechanism they deem preferable. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2020-07-05Fix spelling/wording issuesAlan Coopersmith1-1/+1
Most (but not all) of these were found by using codespell --builtin clear,rare,usage,informal,code,names but not everything reported by that was fixed. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-06-03Remove BSD APM support.Matthieu Herrb1-9/+0
None of the current BSD is actually using this code. (checked DragonFly 5.8.1, FreeBSD 11.2, NetBSD 9.0 and OpenBSD 6.7) Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
2020-04-15hw/xwin: Remove XSetAuthorization() for helper clientsJon Turney1-1/+1
All helper client code now uses xcb, so calling XSetAuthorization() is no longer needed. This is the last reference to libX11 from helper clients, so linking with x11-xcb and libX11 is no longer required. Also drop (unneeded?) linking with libXau. Also drop installing these prerequistes on AppvVeyor. Also move prototypes for functions in winauth.c from win.h into a new header, winauth.h, and include that where needed.
2020-04-15hw/xwin: xcbify clipboard integrationJon Turney1-1/+1
Convert clipboard integration code from libX11 to xcb This drops support for COMPOUND_TEXT. Presumably some ancient (pre-2000) clients exist which support that, but not UTF8_STRING, but we don't have an example to test with. (Given the nature of the thing, the users of those clients probably work in CJK languages) Supporting COMPOUND_TEXT would also involve writing (or extracting from Xlib) support for the ISO 2022 encoding. v2: Fix the length of text property set by a SelectionRequest The length of the text property is not neccessarily the same as the length of the clipboard text before it is d2u converted (specifically, if that contains any '\r\n' sequences, it will be shorter as they are now just '\n')
2020-01-14configure: Define GLAMOR_HAS_EGL_QUERY_DRIVER when availableKenneth Graunke1-0/+4
Commit 195c2ef8f9f07b9bdabc0f554a9033b7857b99c7 added this to the Meson build but neglected to add it to autotools. v2: Also update dix-config.h.in Fixes: 195c2ef8f ("glamor: Add a function to get the driver name via EGL_MESA_query_driver") Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> [v1] Reviewed-by: Eric Engestrom <eric@engestrom.ch> [v1] Reviewed-by: Matt Turner <mattst88@gmail.com>
2019-11-22xfree86: Test presence of isastream()Matt Turner1-1/+1
isastream() was never more than a stub in glibc, and was removed in glibc-2.30 by commit a0a0dc83173c ("Remove obsolete, never-implemented XSI STREAMS declarations"). Bug: https://bugs.gentoo.org/700838 Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Matt Turner <mattst88@gmail.com>
2019-10-29configure: Set libdrm flags correctly if only XORG is enabledAlexander Tsoy1-1/+1
This fixes modesetting driver build failure which can be triggered with the following configure options: $ ./configure --disable-dri --disable-dri2 --disable-dri3 --disable-config-udev --enable-xorg Bugzilla: https://bugs.gentoo.org/689768 Signed-off-by: Alexander Tsoy <alexander@tsoy.me> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-10-08build: glx: Lower gl version to work with libglvndMarvin Schmidt1-2/+2
When using mesa with libglvnd support, mesa will no longer install the gl, glx, egl pkg-config files but instead let libglvnd provide them. libglvnd maintainers decided to change the versioning as it was mesa-specific previously. Now the libraries have versions of the API they expose[1]. This causes problems when building the X server: checking for glproto >= 1.4.17 gl >= 9.2.0... no configure: error: Package requirements (glproto >= 1.4.17 gl >= 9.2.0) were not met: Requested 'gl >= 9.2.0' but version of gl is 1.2 Lower the version requirement to 1.2 to allow building against libglvnd provided libraries [1] https://github.com/NVIDIA/libglvnd/commit/0dfaea2bcb7cdcc785f95e244223bd004a2d7fba
2019-10-02xfree86: Merge vbe into int10Adam Jackson1-5/+0
There's not really a good reason to keep these separate, the vbe code requires int10 and is not very large. This change eliminates the build-time options for vbe; if you build int10, you get vbe. Gitlab: https://gitlab.freedesktop.org/xorg/xserver/issues/692 Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-09-05xwayland: add support for xdg-output-unstable-v1 version 3Simon Ser1-1/+1
This adds support for xdg-output-unstable-v1 version 3, added in [1]. This new version deprecates zxdg_output_v1.done and replaces it with wl_output.done. If the version is high enough, there's no need to wait for both an xdg_output.done event and a wl_output.done event -- we only care about wl_output.done. [1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/commit/962dd535372c8e4681374c23d2603cbe06cd7031 Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2019-08-15configure/xwayland: No libdrm nor epoxy without glamorOlivier Fourdan1-1/+7
When building Xwayland without neither DRI nor GLamor support enabled with the autotools build system, the resulting binary would still link against libdrm and epoxy even though those are not used/needed. Make sure we require and link against libdrm and epoxy only if needed. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2019-08-15global: Remove BUILD_DATE and BUILD_TIMEAdam Jackson1-11/+0
All this does is make reproducible builds impossible.
2019-06-20present: Require presentproto 1.2Adam Jackson1-1/+1
The PresentOptionSuboptimal support code is not optional (once you've enabled building Present at all), so require a protocol package version that defines what we need. Fixes: xorg/xserver#821
2019-06-17hw/xwin: A simpleminded attempt at compositionJon Turney1-1/+1
Rather than drawing the window contents from the shadow framebuffer, use Composite extension redirection to cause the server to maintain a bitmap image of each top-level X window, and draw the window contents from that, so that window contents which are occluded in the framebuffer show correctly in the task bar and task switcher previews. v2: Fix incorrect use of memset() found by gcc5 hw/xwin/winshadgdi.c: In function ‘winBltExposedWindowRegionShadowGDI’: hw/xwin/winshadgdi.c:861:9: warning: ‘memset’ used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args] v3: Turn on -compositewm by default v4: Ignore -swcursor if -compositewm -swcursor is not compatible with -compositewm (because the window contents are drawn from an off-screen pixmap, not from the screen pixmap, where the software cursor will be drawn). v5: Update meson.build also Add -compositewm option to help output Update CI to install prerequisites
2019-05-18configure: Check for sigprocmaskJon Turney1-1/+2
MinGW defines SIG_BLOCK, but doesn't have signal masks, so rather than checking for SIG_BLOCK, add a configure check for sigprocmask. v2: Also add check to meson.build
2019-05-18configure: Force --disable-input-thread for MinGWJon Turney1-0/+5
I don't think an input thread can ever be useful on Windows. There is a pthread emulation, so having the thread itself isn't much of a problem. However, there is no device to wait on for Windows events, and even if we were to replace select() with WFMO, Windows wants to send events for a window to the thread which created that window. So, disable input thread by default for MinGW v2: Also add similar to meson.build
2019-05-02Promote file containing date & time build was configured to top-levelJon Turney1-1/+1
Promote the generated file containing the date & time build was configured to top-level. Rename it from xf86Build.h to buildDateTIme.h. Use it as well in XQuartz, stringize BUILD_DATE when needed.
2019-05-01hw/xwin: Remove mwextwm modeJon Turney1-12/+0
This has always been described as 'experimental' We don't think this has any users: This mode has been disabled in Cygwin packages since March 2016. We've never provided the xwinwm WM for x86_64 Cygwin. No one has even asked where the option has gone. This leaves XQuartz as the only user of the rootless extension. Remove --enable-windowswm configure option Remove multiwindowextwm stuff from Makefiles Remove -mwextwm option Remove -mwextwm from man-page and help Un-ifdef XWIN_MULTIWINDOWEXTWM v2: Remove rootless include paths Remove windowswmproto from meson.build
2019-02-14shm: Use memfd_create when possibleAlexander Volkov1-1/+1
It doesn't require shared memory dir and thus allows to avoid cases when this dir is detected incorrectly, as in https://bugreports.qt.io/browse/QTBUG-71440 Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
2019-01-16agp: Make the legacy AGP interface optionalAdam Jackson1-1/+6
The only thing using this anymore is the i810 driver, so this can safely be disabled on non-i686 builds. Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-11-25Update configure.ac bug URL for gitlab migrationAlan Coopersmith1-1/+1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-09-19shm: Pick the shm dir at run time, not build time.Eric Anholt1-43/+0
Prodding the builder's filesystem for tmp dirs doesn't necessarily tell you anything about what the actual host's filesystem is going to look like, so we should just try the dirs at runtime. Signed-off-by: Eric Anholt <eric@anholt.net>
2018-09-19xorg: Don't log "Build Operating System: Linux 4.9.0-5-amd64 x86_64 Debian"Eric Anholt1-12/+0
I don't think this is useful information to have in the log, and it's a bunch of autotools and meson logic to produce it. Signed-off-by: Eric Anholt <eric@anholt.net>
2018-08-09autotools: Handle case when bindir var in xkbcomp.pc is absentvadym.shovkoplias1-1/+4
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107521 Fixes: 726839459cb (autotools: Derive xkb configuration from xkbcomp.pc) Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: vadym.shovkoplias <vadym.shovkoplias@globallogic.com>
2018-08-02xorg: Remove the XF86PM define.Eric Anholt1-8/+0
We already have pm_noop.c being built most of the time for the no-OS-PM case, so just switch to always using it. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02automake,meson: Remove HAVE_LIBUDEV define.Eric Anholt1-1/+0
CONFIG_UDEV and CONFIG_UDEV_KMS are the actual defines that are used in the C code. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-26configure: Remove unused CONFIGFILEAdam Jackson1-1/+0
This isn't used for anything, which is just as well, because /etc/xorg.conf is not in fact a path xserver will try to use. Bugzilla: https://bugs.freedesktop.org/8890 Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
2018-06-11xfree86: Inline xf86{Read,Write}Mmio{8,16,32} on alphaMatt Turner1-4/+0
In commit 9db2af6f757e (xfree86: Remove xf86{Map,Unmap}VidMem) we somehow stopped exporting xf86{Read,Write}Mmio{8,16,32}. Since the function pointer indirection was intended to support dense vs sparse and sparse support is now gone, we can just make the functions static inline in compiler.h and avoid all of this. Bugzilla: https://bugs.gentoo.org/548906 Tested-by: Christopher May-Townsend <chris@maytownsend.co.uk> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Matt Turner <mattst88@gmail.com>
2018-05-14Post-1.20 version bumpAdam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-05-10xserver 1.20xorg-server-1.20.0Adam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-04-24xserver 1.20 RC5xorg-server-1.19.99.905Adam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-04-24xwayland: Add glamor egl_backend for EGLStreamsLyude Paul1-0/+24
This adds initial support for displaying Xwayland applications through the use of EGLStreams and nvidia's custom wayland protocol by adding another egl_backend driver. This also adds some additional egl_backend hooks that are required to make things work properly. EGLStreams work a lot differently then the traditional way of handling buffers with wayland. Unfortunately, there are also a LOT of various pitfalls baked into it's design that need to be explained. This has a very large and unfortunate implication: direct rendering is, for the time being at least, impossible to do through EGLStreams. The main reason being that the EGLStream spec mandates that we lose the entire color buffer contents with each eglSwapBuffers(), which goes against X's requirement of not losing data with pixmaps. no way to use an allocated EGLSurface as the storage for glamor rendering like we do with GBM, we have to rely on blitting each pixmap to it's respective EGLSurface producer each frame. In order to pull this off, we add two different additional egl_backend hooks that GBM opts out of implementing: - egl_backend.allow_commits for holding off displaying any EGLStream backed pixmaps until the point where it's stream is completely initialized and ready for use - egl_backend.post_damage for blitting the content of the EGLStream surface producer before Xwayland actually damages and commits the wl_surface to the screen. The other big pitfall here is that using nvidia's wayland-eglstreams helper library is also not possible for the most part. All of it's API for creating and destroying streams rely on being able to perform a roundtrip in order to bring each stream to completion since the wayland compositor must perform it's job of connecting a consumer to each EGLstream. Because Xwayland has to potentially handle both responding to the wayland compositor and it's own X clients, the situation of the wayland compositor being one of our X clients must be considered. If we perform a roundtrip with the Wayland compositor, it's possible that the wayland compositor might currently be connected to us as an X client and thus hang while both Xwayland and the wayland compositor await responses from eachother. To avoid this, we work directly with the wayland protocol and use wl_display_sync() events along with release() events to set up and destroy EGLStreams asynchronously alongside handling X clients. Additionally, since setting up EGLStreams is not an atomic operation we have to take into consideration the fact that an EGLStream can potentially be created in response to a window resize, then immediately deleted due to another pending window resize in the same X client's pending reqests before Xwayland hits the part of it's event loop where we read from the wayland compositor. To make this even more painful, we also have to take into consideration that since EGLStreams are not atomic that it's possible we could delete wayland resources for an EGLStream before the compositor even finishes using them and thus run into errors. So, we use quite a bit of tracking logic to keep EGLStream objects alive until we know the compositor isn't using them (even if this means the stream outlives the pixmap it backed). While the default backend for glamor remains GBM, this patch exists for users who have had to deal with the reprecussion of their GPU manufacturers ignoring the advice of upstream and the standardization of GBM across most major GPU manufacturers. It is not intended to be a final solution to the GBM debate, but merely a baindaid so our users don't have to suffer from the consequences of companies avoiding working upstream. New drivers are strongly encouraged not to use this as a backend, and use GBM like everyone else. We even spit this out as an error from Xwayland when using the eglstream backend. Signed-off-by: Lyude Paul <lyude@redhat.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
2018-04-24xwayland: Add xwayland-config.hLyude Paul1-0/+7
Just a small autogenerated header that will soon contain more then just one macro. Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
2018-04-12configure.ac: make use of wayland-scanner.pcEmil Velikov1-3/+5
Replace the current (incorrect) assumption that wayland-scanner is located in the wayland-client prefix. Make use of the wayland_scanner variable in wayland-scanner.pc It was introduced back in 2013 and we already require newer wayland bits Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-04-10xserver 1.20 RC4xorg-server-1.19.99.904Adam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-04-05xwayland: Silence a build warning if we canAdam Jackson1-0/+4
[735/786] Generating 'hw/xwayland/Xwayland@exe/relative-pointer-unstable-v1-protocol.c'. Using "code" is deprecated - use private-code or public-code. See the help page for details. Use private-code if wayland-scanner is new enough. Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-04-02xserver 1.20 RC3xorg-server-1.19.99.903Adam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-03-28xserver 1.20 RC2xorg-server-1.19.99.902Adam Jackson1-3/+3
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-03-28autotools: Derive xkb configuration from xkbcomp.pcAdam Jackson1-4/+12
... if available, falling back to the current heuristics otherwise. This _finally_ gets me to being able to run util/modular/release.sh without overriding $prefix. Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-03-27autotools: Stop caring about XORG_DATEAdam Jackson1-1/+0
Signed-off-by: Adam Jackson <ajax@redhat.com> Acked-by: Keith Packard <keithp@keithp.com>
2018-03-21Remove always true GLAMOR_HAS_DRM_* guardsEmil Velikov1-11/+0
With earlier commit the required version was bumped to 2.4.89, thus the guards always evaluate to true. Fixes: e4e3447603b ("Add RandR leases with modesetting driver support [v6]") Cc: Keith Packard <keithp@keithp.com> Cc: Daniel Stone <daniels@collabora.com> Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
2018-03-21configure: remove libdrm version checkEmil Velikov1-2/+1
We already require said version. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
2018-03-05glamor: Implement GetSupportedModifiersLouis-Francis Ratté-Boulianne1-0/+4
Implement function added in DRI3 v1.1. A newest version of libepoxy (>= 1.4.4) is required as earlier versions use a problematic version of Khronos EXT_image_dma_buf_import_modifiers spec. v4: Only send scanout-supported modifiers if flipping is possible v5: Fix memory corruption in XWayland (uninitialized pointer) Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
2018-03-05glamor: Implement PixmapFromBuffers and BuffersFromPixmapLouis-Francis Ratté-Boulianne1-0/+4
It relies on GBM >= 17.1.0 where we can import BO with multiple planes and a format modifier (GBM_BO_IMPORT_FD_MODIFIER). v2: Properly free fds in Xwayland [Also add glamor_egl_ext.h to Makefile.am for distcheck's sake - ajax] Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>