From 203d97147623b97a48c0f6456cc1de9d8364db03 Mon Sep 17 00:00:00 2001
From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Date: Mon, 16 Feb 2015 15:11:02 +0100
Subject: Make nxagent process aware of its current NX'ish version.

  This feature copies the way how X.Org version string and number
  are propagated at build time.

  First use case: if people start nxagent, it reports its version number
  on stderr. This is about being human-friendly.

  Second use case: None, so far. But it will now be easy to use
  the NXAGENT_VERSION_STRING in later feature add-ons.
---
 nx-X11/config/cf/Imakefile        |  3 ++-
 nx-X11/config/cf/nxversion.def.in |  4 ++++
 nx-X11/config/cf/xorg.cf          | 26 +++++++++++++++++++++++++-
 3 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 nx-X11/config/cf/nxversion.def.in

(limited to 'nx-X11/config')

diff --git a/nx-X11/config/cf/Imakefile b/nx-X11/config/cf/Imakefile
index 2eb7e995c..cbcec409e 100644
--- a/nx-X11/config/cf/Imakefile
+++ b/nx-X11/config/cf/Imakefile
@@ -27,7 +27,8 @@ xorgsite.def \
 $(VERSIONDEFFILES) \
 $(HOSTDEFFILES) \
 site.def \
-xorgversion.def  
+xorgversion.def \
+nxversion.def
 
 RULEFILES = \
 Imake.rules \
diff --git a/nx-X11/config/cf/nxversion.def.in b/nx-X11/config/cf/nxversion.def.in
new file mode 100644
index 000000000..03ac921f4
--- /dev/null
+++ b/nx-X11/config/cf/nxversion.def.in
@@ -0,0 +1,4 @@
+#define NX_VERSION_MAJOR ###NX_VERSION_MAJOR###
+#define NX_VERSION_MINOR ###NX_VERSION_MINOR###
+#define NX_VERSION_MICRO ###NX_VERSION_MICRO###
+#define NX_VERSION_PATCH ###NX_VERSION_PATCH###
diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf
index 6c42574aa..71dab5631 100644
--- a/nx-X11/config/cf/xorg.cf
+++ b/nx-X11/config/cf/xorg.cf
@@ -54,6 +54,31 @@ XCOMM $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $
 XORG_VERSION_CURRENT = XorgVersion
 RELEASE_VERSION = ReleaseVersion
 
+#if NXAgentServer
+#include "nxversion.def"
+
+#if !defined(nxVersionString) && \
+    defined(NX_VERSION_MAJOR) && defined(NX_VERSION_MINOR) && \
+    defined(NX_VERSION_MICRO) && defined(NX_VERSION_PATCH)
+# define nxVersionString `echo NX_VERSION_MAJOR NX_VERSION_MINOR NX_VERSION_MICRO NX_VERSION_PATCH | sed 's/ /./g'`
+#endif
+
+/*
+ * NX versions are M.m.µ.p, and NXVersion is:
+ *
+ *    M * 10000000 + m * 100000 + µ * 1000 + p
+ *
+ */
+
+#if !defined(nxVersion) && defined(nxVersionString)
+#  define nxVersion (((NX_VERSION_MAJOR) * 10000000) + ((NX_VERSION_MINOR) * 100000) + ((NX_VERSION_MICRO) * 1000) + NX_VERSION_PATCH)
+
+NX_VERSION_CURRENT = nxVersion
+NX_VERSION_CURRENT_STRING  = nxVersionString
+
+#endif
+#endif /* NXAgentServer */
+
 #if !defined(XorgManVersionString) && \
     defined(XORG_VERSION_MAJOR) && defined(XORG_VERSION_MINOR) && \
     defined(XORG_VERSION_PATCH) && defined(XORG_VERSION_SNAP)
@@ -1686,4 +1711,3 @@ XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
 #include <cross.def>
 #endif
 #include <xf86.rules>
-
-- 
cgit v1.2.3