aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/config
Commit message (Collapse)AuthorAgeFilesLines
* Regression fix for added libXfont2 API support:Mike Gabriel2017-04-102-9/+10
| | | | | | | | | | - Move FONT_DEFINES and XLIBFONT definition to from Server.tmpl to Imake.tmpl. - Add FONT_DEFINES to ALLDEFINES. - Drop SpecialCObjectRules with FONT_DEFINES from various Imakefiles again, FONT_DEFINES is now set "globally". - Hand over FONT_DEFINES from main Makefile to nx-X11's make BuildEnv to make gccmakedep happy.
* Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API ↵Mike Gabriel2017-04-104-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | alike. Fixes ArcticaProject/nx-libs#296. Inspired by the following X.org commit. Other than X.org, we will continue support for building nx-libs against libXfont1 for a while. commit 05a793f5b3c40747d5a92a076def7f4fb673c7e7 Author: Keith Packard <keithp@keithp.com> Date: Tue Sep 1 18:50:55 2015 -0700 dix: Switch to the libXfont2 API (v2) This new libXfont API eliminates exposing internal X server symbols to the font library, replacing those with a struct full of the entire API needed to use that library. v2: Use libXfont2 instead of libXfont_2 Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
* dix/os: backport various signal handling and smart scheduler changes from X.orgMike Gabriel2017-03-211-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124 Author: Adam Jackson <ajax@redhat.com> Date: Tue Jun 7 15:52:11 2016 -0400 dix: Use OsSignal() not signal() As the man page for the latter states: The effects of signal() in a multithreaded process are unspecified. We already have an interface to call sigaction() instead, use it. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> commit e10ba9e4b52269b2ac75c4802dce4ca47d169657 Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:01 2015 -0800 Remove non-smart scheduler. Don't require setitimer. This allows the server to call GetTimeInMillis() after each request is processed to avoid needing setitimer. -dumbSched now turns off the setitimer. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> commit 1f915e8b524dd02011158aa038935970684c7630 Author: Daniel Drake <drake@endlessm.com> Date: Wed May 20 13:16:12 2015 -0600 Keep SIGALRM restart flag after Popen Commit 94ab7455 added SA_RESTART to the SIGALRM handler. However, the Popen code tears down and recreates the SIGALRM handler via OsSignal(), and this flag is dropped at this time. Clean the code to use just a single codepath for creating this signal handler, always applying SA_RESTART. [ajax: Fixed commit id] Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel Drake <drake@endlessm.com> commit 94ab7455abc213fc96760e29ab2e943ec682fb22 Author: Daniel Drake <drake@endlessm.com> Date: Tue May 12 16:39:22 2015 -0600 Allow system call restarts upon signal interruption The X server frequently deals with SIGIO and SIGALRM interruptions. If process execution is inside certain blocking system calls when these signals arrive, e.g. with the kernel blocked on a contended semaphore, the system calls will be interrupted. Some system calls are automatically restartable (the kernel re-executes them with the same parameters once the signal handler returns) but only if the signal handler allows it. Set SA_RESTART on the signal handlers to enable this convenient behaviour. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel Drake <drake@endlessm.com> commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686 Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Mon Mar 28 19:21:28 2011 +0300 os: fix memory and fd leaks in Popen Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Nicolas Peninguy <nico@lostgeeks.org> commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Nov 5 18:25:57 2008 -0800 Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity commit 0e9ef65fa583bf2393dd0fda82df6f092387b425 Author: Keith Packard <keithp@koto.keithp.com> Date: Wed Nov 7 16:33:10 2007 -0800 Don't frob timers unless SmartSchedule is running commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7 Author: Arjan van de Ven <arjan@linux.intel.com> Date: Sun Oct 28 09:37:52 2007 +0100 reduce wakeups from smart scheduler The smart scheduler itimer currently always fires after each request (which in turn causes the CPU to wake out of idle, burning precious power). Rather than doing this, just stop the timer before going into the select() portion of the WaitFor loop. It's a cheap system call, and it will only get called if there's no more commands batched up from the active fd. This change also allows some of the functions to be simplified; setitimer() will only fail if it's passed invalid data, and we don't do that... so make it void and remove all the conditional code that deals with failure. The change also allows us to remove a few variables that were used for housekeeping between the signal handler and the main loop. Signed-off-by: Keith Packard <keithp@koto.keithp.com> **Note**: The above change also required ABI changes in hw/nxagent/. commit abe0a51f3f790f8c055289465e130177c4b647cc Author: Ben Byer <bbyer@bbyer.apple.com> Date: Fri Sep 21 17:07:36 2007 -0700 So, like, checking return codes of system calls (signal, etc) is good. Also, only restore an old signal handler if one was actually set (prevents the server from dying on OS X). commit 6da39c67905500ab2db00a45cda4a9f756cdde96 Author: Eric Anholt <eric@anholt.net> Date: Wed Sep 12 13:23:13 2007 +0000 Fix build on FreeBSD after Popen changes. commit a5b8053606d6e786cdcf6734f271acc05f9cc588 Author: Adam Jackson <ajax@benzedrine.nwnk.net> Date: Tue Sep 11 11:37:06 2007 -0400 Ignore - not just block - SIGALRM around Popen()/Pclose(). Because our "popen" implementation uses stdio, and because nobody's stdio library is capable of surviving signals, we need to make absolutely sure that we hide the SIGALRM from the smart scheduler. Otherwise, when you open a menu in openoffice, and it recompiles XKB to deal with the accelerators, and you popen xkbcomp because we suck, then the scheduler will tell you you're taking forever doing something stupid, and the wait() code will get confused, and input will hang and your CPU usage slams to 100%. Down, not across. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* os: add timingsafe_memcmp to ImakeUlrich Sibiller2017-03-041-0/+3
| | | | | There might be some library linking missing on platforms that deliver timingsafe_memcmp but I cannot test that here.
* nx-X11/{config/cf/{{Imake,X11}.tmpl,linux.cf},programs/Xserver/{include/os.h ↵Mihai Moldovan2017-03-033-1/+14
| | | | ,os/{Imakefile,reallocarray.c}}: backport reallocarray() implementation.
* nx-X11/config/cf/X11.tmpl: Set a more appropriate font directory ↵Mike Gabriel2017-02-271-2/+2
| | | | | | | | (recommended: /usr/{,local/}share/nx/fonts). Note for distribution maintainers: your normally want to symlink /usr/share/nx/fonts to /usr/share/fonts/X11 in your packaging.
* Xserver/os/oscolor.c: Follow X.org in dropping the rgb.txt file entirely. ↵Mike Gabriel2017-02-265-28/+0
| | | | | | | | | | | | | | | | | | | Content of that file is now hard-coded. Adopting an exact copy of os/oscolor.c from X.org leads to this compiler warning: ``` oscolor.c:844:1: warning: string length ‘7614’ is greater than the length ‘4095’ ISO C99 compilers are required to support [-Woverlength-strings] }; ^ ``` This will be address later in coordination with X.org. Note: there is a tiny change in oscolor.c as we ship it. The original X.org file includes <X11/keysym.h> which seems unneeded. We drop that one line from oscolor.c. Fixes ArcticaProject/nx-libs#259.
* The smart scheduler is not optional.Mathieu Bérard2017-02-151-11/+0
| | | | | | | | | | | | Backported from X.org: commit 9f9268821b13038556fbc029df54ab0e9b2aa77f Author: Mathieu Bérard <mathieu.berard@crans.org> Date: Mon Aug 11 13:52:38 2008 -0400 The smart scheduler is not optional. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Load libNX_X11 / faked libX11 via RPATH setting rather than fidgeting with ↵Mike Gabriel2017-02-093-5/+5
| | | | | | LD_LIBRARY_PATH in the nxagent wrapper script. Fixes ArcticaProject/nx-libs#225.
* drop platform support: unifdef sgi.Mike Gabriel2017-02-081-18/+0
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef QNX.Mike Gabriel2017-02-081-31/+0
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef DGUX.Mike Gabriel2017-02-081-10/+1
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef __osf__.Mike Gabriel2017-02-082-19/+3
| | | | Fixes ArcticaProject/nx-libs#288.
* drop platform support: unifdef AIXV3, AIXV4 (and AIXrt, AIX386).Mike Gabriel2017-02-082-6/+2
| | | | Fixes ArcticaProject/nx-libs#274.
* drop platform support: unifdef hpux and __hppa__.Mike Gabriel2017-02-084-43/+1
| | | | Fixes ArcticaProject/nx-libs#273.
* drop platform support: unifdef Lynx.Mike Gabriel2017-02-082-29/+1
| | | | Fixes ArcticaProject/nx-libs#272.
* drop platform support: unifdef __UNIXOS2__.Mike Gabriel2017-02-083-9/+2
| | | | Fixes ArcticaProject/nx-libs#271.
* nx-X11/config/cf/X11.tmpl: Fix DefaultRGBDatabase path to $(USRDATADIR)/rgb ↵Mike Gabriel2017-02-051-1/+1
| | | | (not $(LIBDIR)/rgb).
* Remove libcwrapper usage from xorg server modules. The libcwrapper is not ↵Eric Anholt2016-12-041-3/+1
| | | | | | | | | | | | | | | used in nxagent. From c3d14036729fd186d4ec7ca1de603e1f2d174e2f Mon Sep 17 00:00:00 2001 From: Eric Anholt <anholt@freebsd.org> Date: Fri, 10 Feb 2006 22:00:30 +0000 Subject: Remove libcwrapper usage from xorg server modules. The libcwrapper is only of (marginal) use in the drivers, and that usage remains. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fixes ArcticaProject/nx-libs#246 (together with merge commit ecd335fa61551d0b86d3f075469a7743ab899d95).
* LibX11: drop unused xlibi18nUlrich Sibiller2016-11-173-10/+2
|
* Remove unused TLI ("STREAMSCONN") codeUlrich Sibiller2016-11-023-10/+1
|
* remove DECnet supportUlrich Sibiller2016-11-026-35/+3
| | | | just as Xorg upstream did
* Imake: drop DoLoadableServer, MakeDllModules and IHaveModulesUlrich Sibiller2016-11-028-288/+0
| | | | | | We do not build loadable modules, so we do not need them anywhere. Also remove the extra files requires for module builds.
* Imakefile cleanup: Delete all ancient Vcs comments stemming from SVN times ↵Mike Gabriel2016-10-3121-91/+2
| | | | | | of X.org and XFree86. Fixes ArcticaProject/nx-libs#250.
* Imake.rules: Make BuildIncludes{,Top}() more robust in case people attempt ↵Mike Gabriel2016-10-291-2/+2
| | | | | | | providing path names instead of file names via srclist. Fixes ArcticaProject/nx-libs#223. Fixes ArcticaProject/nx-libs#244.
* remove xf86Version.h and xf86Date.hUlrich Sibiller2016-10-293-14/+2
| | | | version.def and date.def also will be no longer created
* add XLOCALELIBDIRUlrich Sibiller2016-10-101-0/+2
|
* Imake.tmpl: Use gccmakedep instead of makedepend.Mike Gabriel2016-10-011-1/+1
| | | | This fixes ArcticaProject/nx-libs#206.
* nx-X11: Enable -Wpedantic as default CFLAG. This is to detect redefined ↵Mike Gabriel2016-10-013-4/+4
| | | | typedefs when building nxagent.
* move xkblib to xserverUlrich Sibiller2016-09-213-51/+0
| | | | | Upstream does not use xkbfile but has own copies of the required files. It was not used elsewhere.
* VCS info lines: Remove ancient X.org / XFree86 VCS info line from code files.Mike Gabriel2016-07-061-1/+0
| | | | | This has already been started while replacing copyright info in file headers and has now been completed with this commit.
* Per-file copyright notices: Update copyright information in file headers ↵Mike Gabriel2016-07-061-18/+20
| | | | that NoMachine placed there own copyright statement in.
* libNX_X11 data files: Install libNX_X11 related data files.Mike Gabriel2016-07-041-0/+20
| | | | | | | | | | | - Update XErrorDB to latest X.org version. - Install XErrorDB, XKeysymDB and Xcms.txt to /usr/{local/}share/nx/. - Assure that libNX_X11 finds those files at the named location. - Update debian/ packaging files. - Update nx-libs.spec packaging file. Fixes ArcticaProject/nx-libs#153
* nx-X11/programs/Xserver: Drop {X,x}alloc() macros, use malloc() instead.Mike Gabriel2016-07-025-49/+0
|
* finally drop libNX_XextUlrich Sibiller2016-07-012-32/+0
|
* nxagent Xserver: Drop Kerberos code. Not used in nxagent.Mike Gabriel2016-07-013-49/+1
|
* library-cleanup: Don't build libNX_Xau anymore. Use system's libXau shared ↵Mike Gabriel2016-07-014-40/+0
| | | | library.
* build flags: Use -D_DEFAULT_SOURCE instead of deprecated -D_BSD_SOURCE and ↵Mike Gabriel2016-07-012-2/+2
| | | | | | | | | | -D_SVID_SOURCE. Note: This breaks building on ancient Linux distro versions, e.g. Ubuntu 10.04 LTS. For details see: http://man7.org/tlpi/code/faq.html#use_default_source
* nx-X11/lib/X10: Drop really ancient X10 API code. Not used within nxagent.Mike Gabriel2016-06-304-33/+0
|
* nx-X11/config/{imake,makedepend}: Use system-wide available imake and ↵Mike Gabriel2016-06-3022-8151/+4
| | | | makedepend tools.
* nx-X11/config/cf/lnxLib.tmpl requires post-library removal cleanup: Drop ↵Mike Gabriel2016-06-031-8/+0
| | | | | | references to dropped X11 extension client libraries. Fixes ArcticaProject/nx-libs#115.
* Drop X11 extensions not shipped with recent X.Org server versions anymore:Mike Gabriel2016-06-014-166/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include/extensions: Xag.h, Xagsrv.h, Xagstr.h Xserver/Xext: appgroup.c, appgroup.h lib/Xext: XAppgroup.c include/extensions: Xcup.h, Xcupstr.h, Xserver/Xext: cup.c lib/Xext: cup.c include/extensions: Xdbe.h Xserver/Xext: Xdbe.c Xserver/Xext: dgaproc.h, xf86dga.c, xf86dga2.c, xf86dgaext.h include/extensions: Xevie.h, Xeviestr.h include/extensions: XEVI.h, XEVIstr.h Xserver/Xext: EVI.c, EVIstruct.h, sampleEVI.c lib/Xext: XEVI.c include/extensions: fontcache.h, fontcacheP.h, fontcachstr.h Xserver/Xext: fontcache.c include/extensions: lbxbuf.h, lbxbufstr.h, lbxdeltastr.h, lbximage.h, lbxopts.h, lbxstr.h, lbxzlib.h lib/Xext: XLbx.c include/extensions: multibuf.h, multibufst.h lib/Xext: XMultibuf.c Xserver/Xext: mbuf.c, mbufbf.c, mbufpx.c include/extensions: xf86vmode.h, xf86vmstr.h Xserver/Xext: vidmodeproc.h, xf86vmode.c lib/Xext: MITMisc.c Xserver/Xext: mitmisc.c Xserver/Xext: xf86misc.c, xf86miscproc.h Xserver/XTrap: xf86XTrapModule.c, xtrapddmi.c, xtrapdi.c, xtrapdiswp.c, xtrapditbl.c include/extensions: xtrapbits.h xtrapddmi.h xtrapdi.h xtrapemacros.h xtraplib.h xtraplibp.h xtrapproto.h Fixes: ArcticaProject/nx-libs#116 X.org: https://cgit.freedesktop.org/xorg/xserver/commit/?id=cbc20d92de92aad5ca240310a9156ccf97c24a01 Plus: Drop various Imake'ish defines where not needed anymore.
* gcc: Build using -std=c99 instead of -ansi.Mike Gabriel2016-05-021-2/+2
|
* library-cleanup: Don't build libNX_Xrender anymore. Use system's libXrender ↵Mike Gabriel2016-04-201-39/+0
| | | | shared library.
* library clean-up: Don't build libNX_Xinerama anymore. Use system's ↵Mike Gabriel2015-12-301-37/+0
| | | | | | | | | | libXinerama shared library. (Fixes ArcticaProject/nx-libs#49). This commit goes along with a patch from Ulrich Sibiller who managed to move the Xinerama awareness for NX sessions into the Xserver code. This makes Xinerama support for NX in libNX_Xinerama.so obsolete. Fixes ArcticaProject/nx-libs#49
* library clean-up: Don't build libNX_Xtst anymore. Use system's libXtst ↵Mike Gabriel2015-12-292-28/+0
| | | | shared library. (Fixes ArcticaProject/nx-libs#32).
* library clean-up: Don't build libNX_Xfixes anymore. Use system's libXfixes ↵Mike Gabriel2015-12-282-39/+0
| | | | shared library.
* library clean-up: Don't build libNX_Xcomposite anymore. Use system's ↵Mike Gabriel2015-12-282-36/+0
| | | | libXcomposite shared library.
* Clear header file namespace separation (<X11/...> vs. <nx-X11/...>).Mike Gabriel2015-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | In the process of building nxagent against more and more system-wide installed X.org libraries, we come to the limit of including structs from this (bundled nx-X11) and that (system-wide X.Org) library. This commit introduces a clear namespace separation of headers provided by nx-X11 and headers provided by X.Org. This approach is only temporary as we want to drop all nx-X11 bundled libraries from nx-libs. However, for a while we need to make this separation clear and also ship some reduced fake X.Org headers that avoid pulling in libX* and libNX_X* symbols at the same time. This patch has been tested on Debian jessie and unstable and requires no overall testing on various distros and distro versions, as we finally will drop all libNX_X* libraries and build against X.org's client libs. For now, this hack eases our development / cleanup process.
* library clean-up: Drop libXx86{misc,vm,dga} libraries. Not needed by nx-libs.Mike Gabriel2015-06-223-132/+0
|