aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/Imakefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefiles: drop support for NXwinUlrich Sibiller2020-05-071-147/+1
| | | | | | | | 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: drop NXextension.cUlrich Sibiller2019-11-021-3/+0
| | | | | instead of including it and creating NXextension.o we can simply use the dix version. There are no NX specials anymore.
* Drop NXdamage.cUlrich Sibiller2019-11-011-5/+0
| | | | With the previous commits this file finally becomes obsolete.
* nxagent/Imakefile: remove ../../exports/libUlrich Sibiller2019-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nxagent links system libraries that link against libX11. Unfortunately, nxagent (and libXcompshad) require a modified libX11 version, nicknamed libNX_X11, for proper functioning. Fortunately, this one can act as a drop-in replacement for the system libX11. So we’ll hack our way out: add a DT_NEEDED entry for libX11 by linking against the system library when building nxagent and link the other system libraries later and set DT_RUNPATH to a special directory containing symlinks from libNX_X11 to libX11. This tricks the loader into pulling in the "fake" libX11 version without checking its SONAME and thus satisfying the DT_NEEDED entry early on - specifically also for the system libraries. Ex.: readelf -a /usr/bin/nxagent | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libX11.so.6] ... 0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6] ... If, however, you run the build a second time, it will find the newly created libX11 links in ../../exports/lib (used as an additional library search path) instead of the system libX11. The results in a binary looking like this: 0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6] ... With such a setup, the whole magic falls apart and system libraries will suddenly pull in the actual system libX11 file. We initially believed a compiler call such as: ${CC} [--unrelated-options ...] [-Lunrelated_library_path ...] -lX11 [more options like -l and -L] -L../../exports/lib -lother_libraries to do "the right thing" and link against the system libX11 (or, at worst, a libX11 found in the library directory search list preceding the link call) and use ../../exports/lib only for later linking operations, since the order of options matters. However, this turned out to be blatantly wrong: while the order of -L arguments does matter for building the search path, the whole search path including elements from *ALL* -L arguments (and the system paths) will always be used when linking libraries. Hence, (counter-intuitively to us) both these calls will be equivalent: ${CC} [--unrelated-options ...] -la -Loverride_liba -lb [-Lunrelated_library_path ...] -lc ${CC} [--unrelated-options ...] -Loverride_liba [-Lunrelated_library_path ...] -la -lb -lc By removing LDPRELIBS from NXAGENTSYSLIBS, ../../exports/lib is no longer used during building/linking and the binaries are built reproducibly. We never intended to use this directory at link time anyway.
* NXmiexpose.c: drop file altogetherUlrich Sibiller2019-06-111-3/+0
| | | | The only left function is identical to the one in mi/miexpose.c.
* Rename libdamage to (correct) libdamageextUlrich Sibiller2019-05-101-1/+1
| | | | upstream xorg is also using that name
* nx-X11/programs/Xserver/{,os/}Imakefile: implement libtirpc forcing via ↵Mihai Moldovan2018-03-151-1/+9
| | | | UseTIRPC.
* nx-X11/programs/Xserver/Imakefile: move $(PIXMANLIB) to NXAGENTSYSLIBS, ↵Mihai Moldovan2018-03-151-2/+2
| | | | since libXcompext doesn't actually need it.
* nx-X11/programs/Xserver/Imakefile: use printf with no trailing newline ↵Mihai Moldovan2018-03-151-1/+1
| | | | instead of echo for variable value.
* nx-X11/programs/Xserver/Imakefile: drop system libraries out of target list ↵Mihai Moldovan2018-03-151-3/+3
| | | | | | | | | | for nxagent regeneration. Updating timestamps on object files and libraries used to compose nxagent is only meaningful for actual files within the buildroot. External dependencies would be ignored anyway, and worse, cause older GNU Make versions to fail if they contain special characters like a percent sign, which is typically interpreted as a wild card character.
* nx-X11: reintroduce creation of libX11 compat symlinks.Mihai Moldovan2017-12-301-0/+2
| | | | | 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-301-2/+2
| | | | | | | | | 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.
* nxagent: implement RPATH/RUNPATH override for libX11.Mihai Moldovan2017-12-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 zlib versions that do not ship a pkg-config file.Mihai Moldovan2017-12-161-1/+1
|
* nx-X11/programs/Xserver/Imakefile: White-space fix.Mike Gabriel2017-08-251-3/+3
|
* Convert nx-X11/lib/ build flow from imake to autotools.Mike Gabriel2017-08-251-1/+4
|
* nxcomp: Switch to autoreconf.Mike Gabriel2017-07-261-10/+10
|
* nxcompshad: Switch to autoreconf.Mike Gabriel2017-07-131-6/+6
|
* Xserver/Imakefile: Drop redundant library path option ↵Mike Gabriel2017-04-211-3/+0
| | | | -L../../../nx-X11/exports/lib when linking nxagent. As -L../../exports/lib is already present and points to the same location.
* Xserver/Imakefile: Change order of linker options, so that self-built ↵Mike Gabriel2017-04-211-1/+1
| | | | components get mentioned first in the nxagent linker command.
* Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API ↵Mike Gabriel2017-04-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* Xserver/Imakefile: Improve readability by introducing the NULL variable and ↵Mike Gabriel2017-04-101-14/+49
| | | | adding more line-breaks.
* os: Add facilities for client ID tracking.Rami Ylimäki2017-03-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7 Author: Matthieu Herrb <matthieu.herrb@laas.fr> Date: Mon Jan 2 13:23:59 2012 +0000 Add OpenBSD support to DetermineClientCmd() Uses kvm_getargv() from libkvm. Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Dec 24 10:00:56 2011 -0800 Add Solaris support to DetermineClientCmd Uses /proc/pid/psinfo to read command & partial arguments. Moves cmdsize & argsize variables into non-Solaris #else clause to avoid unused variable warnings. Fixes format mismatch errors when building with DEBUG defined on a 64-bit platform (where Mask is defined as CARD32). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> commit 780133f9ae7fada462714b47e79d26075bbd9abe Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Fri Oct 28 21:29:50 2011 -0700 Convert DetermineClientCmd to use strdup instead of malloc+strncpy *cmdname is initialized to NULL earlier in the function, so it's okay to overwrite it with NULL if strdup fails, don't need that extra check. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500 Author: Erkki Seppälä <erkki.seppala@vincit.fi> Date: Fri Mar 25 10:38:23 2011 +0200 os/client: Prevent rare fd leak in DetermineClientPid DetermineClientPid didn't close file descriptor if read on /proc/pid/cmdline failed. Adjusted the code to disregard the close return value and perform the return after that, if the read failed or returned EOF. Signed-off-by: Mark Kettenis <mark.kettenis@xs4all.nl> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> commit 1e933665bef26c74196bb7c59910e6a78bcacf0e Author: Rami Ylimäki <rami.ylimaki@vincit.fi> Date: Wed Dec 22 16:51:09 2010 +0200 os: Add facilities for client ID tracking. An interface is provided for figuring out the PID and process name of a client. Make some existing functionality from SELinux and IA extensions available for general use. Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* misc nx-X11/programs/Xserver/{hw/nxagent,miext,render}/: move code around so ↵Mihai Moldovan2017-03-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | that we can drop nx-X11/programs/Xserver/render/miglyph.c (and by extension nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.) This is essentially a bastardized cross/backport of these X.Org commits - based on our current architecture: commit 4b14c9a9cd2033d3839c4ba364d41ab4c4b198ab Author: Eric Anholt <eric@anholt.net> Date: Fri Oct 19 16:34:54 2007 -0700 Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code. Not all of the DDX/miext Glyphs hook implementations have been removed, but they should be. and commit 2251572062b2c25643671b8d5070de1c3f7ae976 Author: Aaron Plattner <aplattner@nvidia.com> Date: Fri Oct 26 15:13:50 2007 -0700 Restore the CompositeGlyphs -> ps->Glyphs -> miGlyphs callchain to allow acceleration architectures to wrap above miGlyphs. Conflicts: nx-X11/programs/Xserver/render/miglyph.c nx-X11/programs/Xserver/render/mipict.h nx-X11/programs/Xserver/render/picture.c
* Xserver/os/oscolor.c: Follow X.org in dropping the rgb.txt file entirely. ↵Mike Gabriel2017-02-261-4/+1
| | | | | | | | | | | | | | | | | | | 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.
* drop platform support: unifdef sgi.Mike Gabriel2017-02-081-1/+1
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef QNX.Mike Gabriel2017-02-081-2/+1
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef Lynx.Mike Gabriel2017-02-081-3/+2
| | | | Fixes ArcticaProject/nx-libs#272.
* drop platform support: unifdef __UNIXOS2__.Mike Gabriel2017-02-081-1/+1
| | | | Fixes ArcticaProject/nx-libs#271.
* Xserver/Imakefile: Some whitespace fixes.Mike Gabriel2016-11-151-6/+6
|
* nxcompext: Move code into Xserver subtree, as nxcompext requires Xserver ↵Mike Gabriel2016-11-151-16/+19
| | | | | | includes at build time. Fixes ArcticaProject/nx-libs#276.
* Imake: drop DoLoadableServer, MakeDllModules and IHaveModulesUlrich Sibiller2016-11-021-52/+2
| | | | | | 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-311-1/+0
| | | | | | of X.org and XFree86. Fixes ArcticaProject/nx-libs#250.
* Xserver/Imakefile: Drop references to already removed afb code.Mike Gabriel2016-10-301-2/+1
|
* Xserver/Imakefile: Drop all references to building already removed cfb* ↵Mike Gabriel2016-10-301-71/+3
| | | | implementations.
* Death to mfb (removing last remnants from NX code).Adam Jackson2016-10-301-23/+10
| | | | | | | | | | | | commit f31bd087e8a7f65cd588bd1d022bb18e72b2a60c Author: Adam Jackson <ajax@redhat.com> Date: Fri Jun 13 10:35:07 2008 -0400 Death to mfb. Anyone still interested in 1 or 4 bpp framebuffers, talk to fb. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* nxcompext: Drop (nowadays) no-op file NXlibint.h.Mike Gabriel2016-10-301-2/+1
| | | | Fixes ArcticaProject/nx-libs#255.
* Per-file copyright notices: Update copyright information in file headers ↵Mike Gabriel2016-07-061-10/+16
| | | | that NoMachine placed there own copyright statement in.
* Xserver.man: Drop original and old Xserver man page. Relevant parts have now ↵Mike Gabriel2016-07-051-2/+0
| | | | been added to nxagent.1 man page.
* finally drop libNX_XextUlrich Sibiller2016-07-011-4/+4
|
* remove XShape code from libNX_XextUlrich Sibiller2016-07-011-4/+4
| | | | use system libXext instead
* nxagent Xserver: Drop Kerberos code. Not used in nxagent.Mike Gabriel2016-07-011-1/+1
|
* library-cleanup: Don't build libNX_Xau anymore. Use system's libXau shared ↵Mike Gabriel2016-07-011-1/+1
| | | | library.
* OPTFLAGS: Properly propagate build option flags to nxcomp{,ext,shad} and the ↵Mike Gabriel2016-07-011-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nx-X11 build scripts. Note: - The "normal" way to inject CFLAGS (and CPPFLAGS) into nx-X11 builds is copying those options over into the variable CDEBUGFLAGS. - LDFLAGS have to be handed to nx-X11 via LOCAL_LDFLAGS. This change also includes a slight change in the nx-X11 build order. Old build order: Main Makefile: - [...] - libNX_X11 + implicitly building nxcomp + implicitly building nxcompext - [...] - nxagent + implicitly building nxcompshad - [...] New build ordner: Main Makefile: - [...] - nxcomp - setup nx-X11 build env + cd nx-X11 && make BuildEnv - nx-X11/lib/* - nxcompext - nxcompshad - [...] - nxagent - [...] Fixes ArcticaProject/nx-libs#141 Fixes X2GoBTS#84
* Fix linking order hack in nxagent.Mike Gabriel2016-06-281-10/+23
| | | | | We have to make sure that all X.org libraries we link against use symbols provided by libNX_X11.
* hw/nxagent/NXmiwindow.c: Drop complete file.Mike Gabriel2016-06-251-3/+0
| | | | | | | | | | Reasoning: (1) The diff between this file and mi/miwindow.c is so minimal, we simply apply the change to mi/miwindow.c. (2) In recent X.org, the fixed code has gone, so this patch won't exist after having rebased nx-libs against X.org.
* hw/nxagent/NXdamage.c: Shrink file, drop duplicate code that can identically ↵Mike Gabriel2016-06-251-0/+4
| | | | be found in miext/damage/damage.c.
* nx-X11/programs/Xserver: Include nxcomp{,ext,shad} headers like one would do ↵Mike Gabriel2016-06-131-0/+21
| | | | with system-wide shared libraries.
* nx-X11/programs/Xserver/Imakefile: Don't overlink nxagent. Linking against ↵Mike Gabriel2016-06-031-3/+3
| | | | | | libXrandr and libXtst is not necessary for nxagent. Fixes ArcticaProject/nx-libs#110.
* Drop X11 extensions not shipped with recent X.Org server versions anymore:Mike Gabriel2016-06-011-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.