[X2Go-Commits] [nx-libs] 02/02: Support building with legacy (pre-7.1.0) Xext proto versions.

git-admin at x2go.org git-admin at x2go.org
Sat Dec 16 07:18:44 CET 2017


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository nx-libs.

commit e92c2a87808ec922b6bc90d5d5002ca77318f697
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Sat Dec 16 07:18:11 2017 +0100

    Support building with legacy (pre-7.1.0) Xext proto versions.
    
    Legacy Xext proto versions are automatically detected by the main
    Makefile.
---
 Makefile                               | 11 +++++++----
 nx-X11/config/cf/Imake.tmpl            | 11 ++++++++++-
 nx-X11/config/cf/host.def              |  7 +++++++
 nx-X11/config/cf/xorg.cf               |  4 ++++
 nx-X11/programs/Xserver/Xext/xvdisp.c  |  4 ++++
 nx-X11/programs/Xserver/mi/miinitext.c |  4 ++++
 6 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 9a2d3ff..ec3ec86 100644
--- a/Makefile
+++ b/Makefile
@@ -29,6 +29,9 @@ CONFIGURE       ?= ./configure --prefix="$(PREFIX)"
 FONT_DEFINES	?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/null && echo "-DHAS_XFONT2") $(shell pkg-config --exists 'xfont < 1.4.2' 1>/dev/null 2>/dev/null && echo "-DLEGACY_XFONT1")
 XFONTLIB	?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/null && echo "-lXfont2" || echo "-lXfont")
 
+# Support older libXext versions.
+XEXT_EXTRA_DEFINES	?= $(shell pkg-config --exists 'xextproto < 7.1.0' 1>/dev/null 2>/dev/null && echo "-DLEGACY_XEXT_PROTO")
+
 NX_VERSION_MAJOR=$(shell ./version.sh 1)
 NX_VERSION_MINOR=$(shell ./version.sh 2)
 NX_VERSION_MICRO=$(shell ./version.sh 3)
@@ -96,7 +99,7 @@ version:
 
 build-env: version
 	# prepare Makefiles and the nx-X11 symlinking magic
-	${MAKE} -C nx-X11 BuildIncludes FONT_DEFINES="$(FONT_DEFINES)"
+	${MAKE} -C nx-X11 BuildIncludes FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)"
 
 	# set up environment for libNX_X11 build (X11 header files)
 	mkdir -p nx-X11/exports/include/nx-X11/
@@ -121,7 +124,7 @@ clean-env: version
 	[ -d exports/include/nx-X11/Xtrans ] && $(RM_DIR) exports/include/nx-X11/Xtrans/ || :
 	[ -d exports/include/nx-X11/ ]       && $(RM_DIR) exports/include/nx-X11/        || :
 
-	${MAKE} -C nx-X11 CleanEnv FONT_DEFINES="$(FONT_DEFINES)"
+	${MAKE} -C nx-X11 CleanEnv FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)"
 
 build-lite:
 	cd nxcomp && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE}
@@ -145,8 +148,8 @@ build-full: build-env
 
 	# build nxagent fourth
 	./mesa-quilt push -a
-	${MAKE} -C nx-X11 BuildDependsOnly FONT_DEFINES="$(FONT_DEFINES)"
-	${MAKE} -C nx-X11 World USRLIBDIR="$(USRLIBDIR)" SHLIBDIR="$(SHLIBDIR)" FONT_DEFINES="$(FONT_DEFINES)" XFONTLIB="$(XFONTLIB)"
+	${MAKE} -C nx-X11 BuildDependsOnly FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)"
+	${MAKE} -C nx-X11 World USRLIBDIR="$(USRLIBDIR)" SHLIBDIR="$(SHLIBDIR)" FONT_DEFINES="$(FONT_DEFINES)" XFONTLIB="$(XFONTLIB)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)"
 
 	# build nxproxy fifth
 	cd nxproxy && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE}
diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl
index 44fe2f3..5d989d1 100644
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -546,6 +546,9 @@ X_BYTE_ORDER = ByteOrder
 #define HasShm			NO
 #endif
 #endif
+#ifndef HasLegacyXextProto
+#define HasLegacyXextProto	NO
+#endif
 #ifndef HasCbrt
 #define HasCbrt			YES
 #endif
@@ -1882,6 +1885,12 @@ FONT_DEFINES =
     XFONTLIB = -lXfont
 #endif
 
+#if HasLegacyXextProto
+XEXT_EXTRA_DEFINES = -DLEGACY_XEXT_PROTO
+#else
+XEXT_EXTRA_DEFINES =
+#endif
+
 /*
  * Here we set up flags needed to produce position-independent code
  * when doing C and C++ compilation.  The default if you specify C
@@ -1980,7 +1989,7 @@ FONT_DEFINES =
  * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
  */
       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
-       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(SETITIMER_DEFINES) $(FONT_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(SETITIMER_DEFINES) $(FONT_DEFINES) $(PROTO_DEFINES) $(XEXT_EXTRA_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
          LDPRELIB = LdPreLib $(INSTALLED_LIBS)
diff --git a/nx-X11/config/cf/host.def b/nx-X11/config/cf/host.def
index abacf2c..0969a8f 100644
--- a/nx-X11/config/cf/host.def
+++ b/nx-X11/config/cf/host.def
@@ -403,6 +403,13 @@
  */
 
 /*
+ * If building with SHM support enabled and using a legacy Xext protocol
+ * version (lower than 7.1.0), uncomment this.
+ *
+#define HasLegacyXextProto	YES
+ */
+
+/*
  * If you are running NetBSD 0.9C or later, and have the aperture driver
  * installed, uncomment this.
  *
diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf
index 50a1f45..b68d11c 100644
--- a/nx-X11/config/cf/xorg.cf
+++ b/nx-X11/config/cf/xorg.cf
@@ -432,6 +432,10 @@ IPLAN2P8_DEFS = -DUSE_IPLAN2P8
 # define HasLegacyXfont1	NO
 #endif
 
+#ifndef HasLegacyXextProto
+# define HasLegacyXextProto	NO
+#endif
+
 #ifndef BuildScreenSaverExt
 # define BuildScreenSaverExt	YES
 #endif
diff --git a/nx-X11/programs/Xserver/Xext/xvdisp.c b/nx-X11/programs/Xserver/Xext/xvdisp.c
index b33bfa4..6f3e372 100644
--- a/nx-X11/programs/Xserver/Xext/xvdisp.c
+++ b/nx-X11/programs/Xserver/Xext/xvdisp.c
@@ -68,8 +68,12 @@ SOFTWARE.
 #include "xvdix.h"
 #ifdef MITSHM
 #define _XSHM_SERVER_
+#ifdef LEGACY_XEXT_PROTO
+#include <X11/extensions/XShm.h>
+#else
 #include <X11/extensions/shmproto.h>
 #endif
+#endif
 
 #include "xvdisp.h"
 
diff --git a/nx-X11/programs/Xserver/mi/miinitext.c b/nx-X11/programs/Xserver/mi/miinitext.c
index 6f6d678..15466ee 100644
--- a/nx-X11/programs/Xserver/mi/miinitext.c
+++ b/nx-X11/programs/Xserver/mi/miinitext.c
@@ -147,8 +147,12 @@ typedef void (*InitExtension)(void);
 
 #ifdef MITSHM
 #define _XSHM_SERVER_
+#ifdef LEGACY_XEXT_PROTO
+#include <X11/extensions/XShm.h>
+#else
 #include <X11/extensions/shmproto.h>
 #endif
+#endif
 #ifdef XTEST
 #define _XTEST_SERVER_
 #include <nx-X11/extensions/xtestconst.h>

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list