From f23189e7392254c9458bf76504920cb868360e40 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 25 Oct 2018 00:46:12 +0200 Subject: Make: Automatically determine xkb dir --- Makefile | 17 +++++++++++++---- debian/control | 1 + nx-X11/config/cf/Imake.tmpl | 8 ++++++++ nx-X11/programs/Xserver/xkb/Imakefile | 2 +- nx-libs.spec | 2 ++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 38a13c894..fc094f703 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,15 @@ IMAKE_FONT_DEFINES ?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/ # 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") +# check if the xkbcomp devel pkg is available - we need it for the next step +ifneq ($(shell pkg-config --exists xkbcomp && echo yes), yes) + $(error required xkbcomp devel package missing) +endif + +# the system's directory with the xkb data files (this needs to be +# independent of Imake's ProjectRoot or the configure prefix.) +XKB_SYS_DEFINES ?= -DSystemXkbConfigDir=$(shell pkg-config xkbcomp --variable=xkbconfigdir) -DSystemXkbBinDir=$(shell pkg-config xkbcomp --variable=prefix)/bin + IMAKE_DEFINES ?= NX_VERSION_MAJOR=$(shell ./version.sh 1) @@ -100,7 +109,7 @@ version: build-env: version # prepare Makefiles and the nx-X11 symlinking magic - ${MAKE} -j1 -C nx-X11 BuildIncludes FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES)" + ${MAKE} -j1 -C nx-X11 BuildIncludes FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES) $(XKB_SYS_DEFINES)" # set up environment for libNX_X11 build (X11 header files) mkdir -p nx-X11/exports/include/nx-X11/ @@ -125,7 +134,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} -j1 -C nx-X11 clean FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES)" + ${MAKE} -j1 -C nx-X11 clean FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES) $(XKB_SYS_DEFINES)" build-lite: cd nxcomp && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE} @@ -149,8 +158,8 @@ build-full: build-env # build nxagent fourth ./mesa-quilt push -a - ${MAKE} -j1 -C nx-X11 BuildDependsOnly FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES)" - ${MAKE} -C nx-X11 World USRLIBDIR="$(USRLIBDIR)" SHLIBDIR="$(SHLIBDIR)" FONT_DEFINES="$(FONT_DEFINES)" XFONTLIB="$(XFONTLIB)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES)" + ${MAKE} -j1 -C nx-X11 BuildDependsOnly FONT_DEFINES="$(FONT_DEFINES)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES) $(XKB_SYS_DEFINES)" + ${MAKE} -C nx-X11 World USRLIBDIR="$(USRLIBDIR)" SHLIBDIR="$(SHLIBDIR)" FONT_DEFINES="$(FONT_DEFINES)" XFONTLIB="$(XFONTLIB)" XEXT_EXTRA_DEFINES="$(XEXT_EXTRA_DEFINES)" IMAKE_DEFINES="$(IMAKE_DEFINES) $(IMAKE_FONT_DEFINES) $(XKB_SYS_DEFINES)" # build nxproxy fifth cd nxproxy && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE} diff --git a/debian/control b/debian/control index aa41ba959..6d3607833 100644 --- a/debian/control +++ b/debian/control @@ -27,6 +27,7 @@ Build-Depends: libxtst-dev, pkg-config, quilt (>= 0.46-7~), + x11-xkb-utils, x11proto-core-dev, xutils-dev, zlib1g-dev, diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index e202dabce..ddd587ec6 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -784,6 +784,12 @@ TCLIBDIR = TclLibDir #ifndef SystemUsrIncDir #define SystemUsrIncDir /usr/include #endif +#ifndef SystemXkbConfigDir +#define SystemXkbConfigDir /usr/share/X11/xkb +#endif +#ifndef SystemXkbBinDir +#define SystemXkbBinDir /usr/bin +#endif #ifndef ShLibDir #define ShLibDir UsrLibDir @@ -1660,6 +1666,8 @@ TCLIBDIR = TclLibDir VARLIBDIR = VarLibDir /* xdm runtime files */ SYSTEMUSRLIBDIR = SystemUsrLibDir /* system's "/usr/lib" */ SYSTEMUSRINCDIR = SystemUsrIncDir /* system's "/usr/include" */ + SYSTEMXKBCONFDIR = SystemXkbConfigDir /* system's "/usr/share/xkb" */ + SYSTEMXKBBINDIR = SystemXkbBinDir /* system's "/usr/bin" */ SHLIBDIR = ShLibDir /* shared libraries */ LINTLIBDIR = LintlibDir /* lint libraries */ MANPATH = ManPath /* top of manual page tree */ diff --git a/nx-X11/programs/Xserver/xkb/Imakefile b/nx-X11/programs/Xserver/xkb/Imakefile index c73e4efd5..3725b2562 100644 --- a/nx-X11/programs/Xserver/xkb/Imakefile +++ b/nx-X11/programs/Xserver/xkb/Imakefile @@ -40,7 +40,7 @@ XKB_DDXDEFS = XkbServerDefines LINTLIBS = ../dix/llib-ldix.ln ../os/llib-los.ln DEFINES = $(XKB_DDXDEFS) $(NX_DEFINES) -XKB_DEFINES = -DXKB_BASE_DIRECTORY=\"/usr/share/X11/xkb\" -DXKB_BIN_DIRECTORY=\"/usr/bin\" -DXKB_DFLT_RULES_FILE=\"base\" -DXKB_DFLT_KB_LAYOUT=\"us\" -DXKB_DFLT_KB_MODEL=\"pc102\" $(XKB_DISABLE) +XKB_DEFINES = -DXKB_BASE_DIRECTORY=\"$(SYSTEMXKBCONFDIR)\" -DXKB_BIN_DIRECTORY=\"$(SYSTEMXKBBINDIR)\" -DXKB_DFLT_RULES_FILE=\"base\" -DXKB_DFLT_KB_LAYOUT=\"us\" -DXKB_DFLT_KB_MODEL=\"pc102\" $(XKB_DISABLE) NormalLibraryObjectRule() NormalLibraryTarget(xkb,$(OBJS)) diff --git a/nx-libs.spec b/nx-libs.spec index b268f12bf..396ff2323 100644 --- a/nx-libs.spec +++ b/nx-libs.spec @@ -32,6 +32,8 @@ BuildRequires: pkgconfig %if 0%{?suse_version} && 0%{?suse_version} < 1210 BuildRequires: xorg-x11-util-devel %else +# we need xkbcomp.pc +BuildRequires: xorg-x11-xkb-utils-devel BuildRequires: imake %endif -- cgit v1.2.3