aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/config
Commit message (Collapse)AuthorAgeFilesLines
* fix building with binutils >= 2.36.ponce2021-06-081-12/+0
| | | | | | The l option of ar in the newer binutils versions switched from being unused to being used to specify dependencies so here should be safely removed
* Makefiles: drop support for NXwinUlrich Sibiller2020-05-071-10/+0
| | | | | | | | We have never built nxwin within this tree. And we never shipped it. So drop the according logic. We have also removed CYGWIN stuff in the past so nxwin probably would not compile/work anyway...
* nxagent: build with -Wshadow to detect shadowing variablesUlrich Sibiller2020-01-093-4/+4
|
* Add support for custom version stringUlrich Sibiller2020-01-051-0/+4
| | | | | | | | | | | Make nxproxy and nxagent print an arbitrary version number by running make NX_VERSION_CUSTOM="myvers". nxagent and nxproxy will then show this in addition to the original version number: NXPROXY - Version myvers (3.5.99.22) NXAGENT - Version myvers (3.5.99.22) Fixes ArcticaProject/nx-libs#606
* nxagent: Remove own GetTimeInMillis() implementationUlrich Sibiller2019-05-102-17/+17
| | | | | | | | | | along with the DDXTIME define that has been dropped in Xorg upstream, too. commit 985c34bf06af70a7296db8307899a17347a25558 Author: Adam Jackson <ajax@theobromine.nwnk.net> Date: Thu Jul 20 17:33:13 2006 -0400 Remove the DDXTIME conditional, for being unused.
* auto-determine system font path and add to list of font pathsUlrich Sibiller2019-05-101-0/+5
| | | | | This will help on non-supported platforms as it will add a path the current code might not be aware of.
* Drop Speedo font supportUlrich Sibiller2019-05-101-3/+3
| | | | Has been obsoleted in 2005, see https://en.wikipedia.org/wiki/Bitstream_Speedo_Fonts
* nx-X11/config/cf/nxcompile.def: Rephrase header comment slightly.Mike Gabriel2018-11-111-1/+1
|
* imake: adapt output to automake output as seen in lib/srcUlrich Sibiller2018-11-111-1/+1
|
* imake: also silence makedependUlrich Sibiller2018-11-111-4/+9
|
* silence imake compilationUlrich Sibiller2018-11-112-1/+26
| | | | | Suppress printing the rm and the cc call for every file. Only print the compiler call in case of error.
* Makefile: Rework handling auto-determined values for imakeUlrich Sibiller2018-11-101-0/+2
| | | | | create a new def file nxconfig.def and be fine. The settings in that file will be respected by all subsequent imake calls anywhere in the tree.
* Make: Automatically determine xkb dirUlrich Sibiller2018-11-091-0/+8
|
* enable CLIENTIDS functions in xserverUlrich Sibiller2018-10-221-1/+1
| | | | | these can be used to determine the PID and name of an X11 client, e.g. in debugging.
* X11.tmpl: whitespace fixUlrich Sibiller2018-10-221-1/+1
|
* config/cf: fix spelling errors as reported by codespellUlrich Sibiller2018-05-247-8/+8
|
* nx-X11/config/cf/README: document new UseTIRPC macro.Mihai Moldovan2018-03-151-0/+1
|
* nx-X11/config/cf/Imake.tmpl: implement new UseTIRPC macro, defaulting to NO.Mihai Moldovan2018-03-151-0/+3
|
* nx-X11/config/cf/{Imake.{cf,tmpl},{linux,xorg}.cf}: support ppc64le ↵Mihai Moldovan2018-02-084-6/+24
| | | | | | | | | alongside ppc64(be). On PPC64*, X_BYTE_ORDER was hardcoded to X_BIG_ENDIAN. Since the CPUs support both modes and we actually intend to execute nxagent on ppc64le as well, detect the actual endianess and add support for Ppc64LeArchitecture.
* nx-X11/config/cf/{gnu,lnx}Lib.rules: add RPATH entries for temporary nxcomp ↵Mihai Moldovan2018-01-112-6/+6
| | | | | | | | and nxcompshad libraries. No change to the actually installed relinked nxagent(-relink) binary that gets installed - only affects the temporary executable build binary.
* Re-enable XC-MISC extensionUlrich Sibiller2018-01-081-0/+1
| | | | | | Got dropped by accident in 9bc6ff269aa8bf4c41696ebf4a686c93729ba151 Fixes ArcticaProject/nx-libs#589
* nx-X11: reintroduce creation of libX11 compat symlinks.Mihai Moldovan2017-12-301-0/+23
| | | | | We need this to be able to execute the resulting nxagent binary from within the build directory.
* nx-X11: build programs with a temporary RPATH/RUNPATH value and a relinked ↵Mihai Moldovan2017-12-306-8/+76
| | | | | | | | | version with the system location. While the install target explicitly installs the relinked system-location version of a program, we do not actually use this. Currently, we copy nxagent directly out of the build root.
* nx-X11/config/cf/{gnu,lnx}Lib.rules: enable new ELF dtags to force RUNPATH ↵Mihai Moldovan2017-12-302-6/+6
| | | | creation for nxagent.
* nxagent: implement RPATH/RUNPATH override for libX11.Mihai Moldovan2017-12-302-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in ArcticaProject/nx-libs#610, we need a way to load libNX_X11 as a fake version of libX11 into nxagent's address space. For doing so, we have to link against libX11 at build-time and specify a(n) RPATH/RUNPATH to our libX11 -> libNX_X11 compat symlinks. This commit is essentially doing a cross between options 3 and 4 discussed in the provided GH issue. We link libX11 early (before specifying -Lcompat_symlinks_dir), so that the linker finds the "real" libX11 version with the libX11 SONAME. This leads to our binary depending upon both libX11 and libNX_X11 SONAMEs. We already always added RPATH/RUNPATH, but these values are not passed down to dependent libraries. What happens at run-time is that the loader searches for a libX11 SONAME, takes RPATH/RUNPATH into account and loads our libNX_X11 library instead via the compat symlinks. This satisfies the libX11 SONAME and dependent libraries will *not* load the system libX11 version again. Debian's dpkg-shlibdeps isn't quite happy about this mismatching SONAME situation, so instruct to look the other way while we're minding our business. Fixes: ArcticaProject/nx-libs#610
* Support building with legacy (pre-7.1.0) Xext proto versions.Mihai Moldovan2017-12-163-1/+21
| | | | | Legacy Xext proto versions are automatically detected by the main Makefile.
* Support building with legacy (pre-1.4.2) libXfont(1) versions.Mihai Moldovan2017-12-163-0/+18
| | | | | | | | Partly reverts ec30a857eb0d67b232f8d43e63a6370023f4c4d0, but in a forward-compatible manner. Legacy libXfont1 versions are automatically detected by the main Makefile.
* nx-X11/config/cf/linux.cf: recursive macros aren't a thing.Mihai Moldovan2017-12-151-1/+1
| | | | Just copy-paste the initial definition to avoid recursion.
* nx-X11/config/cf/linux.cf: don't override default CC options for ↵Mihai Moldovan2017-12-151-4/+1
| | | | | | {ARM,PPC}{32,64}. We need -std=c99 to be passed through to the build process.
* Drop bin wrappers for nxagent and nxproxy, directly install nxproxy and ↵Mike Gabriel2017-12-051-1/+1
| | | | | | nxagent to BINDIR. Fixes ArcticaProject/nx-libs#546.
* **/.gitignore: add stray files.Mihai Moldovan2017-10-101-0/+2
| | | | | | These are already cleaned up by the top-level Makefile. Fixes: ArcticaProject/nx-libs#523
* Fix FTBFS on Linux based HP-PARisc 32-bit systems. Thanks to John Paul ↵Mike Gabriel2017-06-284-1/+36
| | | | | | | Adrian Glaubitz from FU Berlin for providing access to a corresponding porters' machine. This partially reverts nx-libs commit f6dcf2f. The 'hpux' stuff stays out, the __hppa__ gets re-introduced.
* nx-X11/config/cf/linux.cf: Drop AsOutputArchSize macro from ↵Mike Gabriel2017-06-271-2/+0
| | | | Sparc(64)Architecture ifdef-block. It does not seem to be used anywhere else.
* Fix FTBFS on mips64el architecture due to missing definition of the ↵Mike Gabriel2017-06-272-1/+17
| | | | _XSERVER64 macro.
* remove BuildRman defineUlrich Sibiller2017-06-063-17/+0
|
* nx-X11/config/cf/gnuLib.rules: Drop ancient Vcs comment. Erroneously sneaked ↵Mike Gabriel2017-05-061-1/+0
| | | | in with reintroduction of GNU/<non-Linux> support.
* nx-X11/config/cf/gnu*: Re-introduce GNU/Hurd support to the nx-X11 buildflow.Mike Gabriel2017-05-043-0/+361
|
* Xserver: Build nxagent with MIT-SCREEN-SAVER extension enabled.Mike Gabriel2017-04-131-1/+1
| | | | Fixes ArcticaProject/nx-libs#80
* nx-X11/config/cf: Clean-up left-overs from having our own libNX_Xext shared ↵Mike Gabriel2017-04-132-3/+0
| | | | library.
* nx-X11/config/cf/linux.cf: Fix FTBFS on Linux SPARC64 due to missing ↵Mike Gabriel2017-04-131-1/+2
| | | | -D_XSERVER64 definition.
* nx-X11/config/cf/linux.cf: Fix FTBFS on arm64 (aarch64) due to missing ↵Mike Gabriel2017-04-121-1/+1
| | | | -D_XSERVER64 definition.
* 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.