aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2017-12-16 03:55:58 +0100
committerMihai Moldovan <ionic@ionic.de>2017-12-16 04:05:34 +0100
commitfe011b55df68b7419a8042db94fc3fd1bcaca497 (patch)
tree4bc944eb7ee4b536f7a60f05c55d7302616eb243
parentfb2e9a8b54b0e404d76fe93b969e47a8209d1532 (diff)
downloadnx-libs-fe011b55df68b7419a8042db94fc3fd1bcaca497.tar.gz
nx-libs-fe011b55df68b7419a8042db94fc3fd1bcaca497.tar.bz2
nx-libs-fe011b55df68b7419a8042db94fc3fd1bcaca497.zip
Support building with legacy (pre-1.4.2) libXfont(1) versions.
Partly reverts ec30a857eb0d67b232f8d43e63a6370023f4c4d0, but in a forward-compatible manner. Legacy libXfont1 versions are automatically detected by the main Makefile.
-rw-r--r--Makefile2
-rw-r--r--nx-X11/config/cf/Imake.tmpl7
-rw-r--r--nx-X11/config/cf/host.def7
-rw-r--r--nx-X11/config/cf/xorg.cf4
-rw-r--r--nx-X11/programs/Xserver/dix/dixfonts.c6
-rw-r--r--nx-X11/programs/Xserver/include/dixfont.h4
-rw-r--r--nx-libs.spec2
7 files changed, 30 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index cfd0d10b8..b0beacd23 100644
--- a/Makefile
+++ b/Makefile
@@ -26,7 +26,7 @@ INCLUDEDIR ?= $(PREFIX)/include
CONFIGURE ?= ./configure --prefix=$(PREFIX)
# use Xfont2 if available in the build env
-FONT_DEFINES ?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/null && echo "-DHAS_XFONT2")
+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")
NX_VERSION_MAJOR=$(shell ./version.sh 1)
diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl
index 85228ae07..44fe2f3c1 100644
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -555,6 +555,9 @@ X_BYTE_ORDER = ByteOrder
#ifndef HasXfont2
#define HasXfont2 NO
#endif
+#ifndef HasLegacyXfont1
+#define HasLegacyXfont1 NO
+#endif
#ifndef GzipLibrary /* if OS config didn't define it, assume it's -lz */
#define GzipLibrary -lz
#endif
@@ -1871,7 +1874,11 @@ SETITIMER_DEFINES = HasSetitimerDefines
FONT_DEFINES = -DHAS_XFONT2
XFONTLIB = -lXfont2
#else
+#if HasLegacyXfont1
+FONT_DEFINES = -DLEGACY_XFONT1
+#else
FONT_DEFINES =
+#endif
XFONTLIB = -lXfont
#endif
diff --git a/nx-X11/config/cf/host.def b/nx-X11/config/cf/host.def
index 4a11359e2..abacf2c4e 100644
--- a/nx-X11/config/cf/host.def
+++ b/nx-X11/config/cf/host.def
@@ -396,6 +396,13 @@
*/
/*
+ * If building against libXfont(1) and using a legacy version (lower than 1.4.2),
+ * uncomment this.
+ *
+#define HasLegacyXfont1 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 13ccd577c..50a1f4590 100644
--- a/nx-X11/config/cf/xorg.cf
+++ b/nx-X11/config/cf/xorg.cf
@@ -428,6 +428,10 @@ IPLAN2P8_DEFS = -DUSE_IPLAN2P8
# define HasXfont2 NO
#endif
+#ifndef HasLegacyXfont1
+# define HasLegacyXfont1 NO
+#endif
+
#ifndef BuildScreenSaverExt
# define BuildScreenSaverExt YES
#endif
diff --git a/nx-X11/programs/Xserver/dix/dixfonts.c b/nx-X11/programs/Xserver/dix/dixfonts.c
index 98d2a6439..0d90cd7b0 100644
--- a/nx-X11/programs/Xserver/dix/dixfonts.c
+++ b/nx-X11/programs/Xserver/dix/dixfonts.c
@@ -2139,7 +2139,13 @@ InitFonts ()
ResetFontPrivateIndex();
+#ifdef LEGACY_XFONT1
+ BuiltinRegisterFpeFunctions();
+ FontFileRegisterFpeFunctions();
+ fs_register_fpe_functions();
+#else
register_fpe_functions();
+#endif
}
#endif /* HAS_XFONT2 */
diff --git a/nx-X11/programs/Xserver/include/dixfont.h b/nx-X11/programs/Xserver/include/dixfont.h
index 21d917fe5..9ae55157e 100644
--- a/nx-X11/programs/Xserver/include/dixfont.h
+++ b/nx-X11/programs/Xserver/include/dixfont.h
@@ -152,7 +152,11 @@ extern void dixGetGlyphs(FontPtr /*font*/,
unsigned long * /*glyphcount*/,
CharInfoPtr * /*glyphs*/);
+#ifdef LEGACY_XFONT1
+extern void BuiltinRegisterFpeFunctions(void);
+#else
extern void register_fpe_functions(void);
+#endif
extern void QueryGlyphExtents(FontPtr /*pFont*/,
CharInfoPtr * /*charinfo*/,
diff --git a/nx-libs.spec b/nx-libs.spec
index 7b34538d1..9a13ac026 100644
--- a/nx-libs.spec
+++ b/nx-libs.spec
@@ -82,7 +82,7 @@ BuildRequires: pixman-devel >= 0.13.2
BuildRequires: xorg-x11-libX11-devel
BuildRequires: xorg-x11-libXext-devel
BuildRequires: xorg-x11-libXpm-devel
-BuildRequires: xorg-x11-libXfont-devel >= 1.4.2
+BuildRequires: xorg-x11-devel
BuildRequires: xorg-x11-libXdmcp-devel
BuildRequires: xorg-x11-libXdamage-devel
BuildRequires: xorg-x11-libXcomposite-devel