From 2ebfcd9c5c9350d89f2346304ed8c02883020785 Mon Sep 17 00:00:00 2001 From: Christophe CURIS Date: Mon, 6 Apr 2015 17:58:11 +0200 Subject: [PATCH] configure: Added option to disable Motif WM Hints support The old behaviour was to expect the user to go modify manually a source file which is not a great idea because that's typically the kind of things in charge of the configure script. As a side effect, we can now use an automake conditional to avoid compiling the source file in charge of the feature when not used, instead of trying to compile an empty-looking file. Signed-off-by: Christophe CURIS --- configure.ac | 17 +++++++++++++++++ doc/build/Compilation.texi | 4 +++- src/Makefile.am | 6 ++++-- src/motif.c | 4 ---- src/wconfig.h.in | 3 --- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index fac385a0..4e55a948 100644 --- a/configure.ac +++ b/configure.ac @@ -237,6 +237,7 @@ AX_PTHREAD dnl Tracking on what is detected for final status dnl ============================================= unsupported="" +supported_core="" supported_xext="" supported_gfx="" @@ -286,6 +287,21 @@ AC_ARG_WITH(incs-from, AS_HELP_STRING([--with-incs-from], [pass compiler flags t [inc_search_path="$withval $inc_search_path"]) +dnl Features Configuration +dnl ====================== +AC_ARG_ENABLE([mwm-hints], + [AS_HELP_STRING([--disable-mwm-hints], [disable support for Motif WM hints @<:@default=enabled@:>@])], + [AS_CASE(["$enableval"], + [yes|no], [], + [AC_MSG_ERROR([bad value $enableval for --enable-mwm-hints])])], + [enable_mwm_hints="yes"]) +AS_IF([test "x$enable_mwm_hints" = "xno"], + [unsupported="$unsupported MWMHints"], + [AC_DEFINE([USE_MWM_HINTS], [1], [Defined when used did not request to disable Motif WM hints]) + supported_core="$supported_core MWMHints"]) +AM_CONDITIONAL([USE_MWM_HINTS], [test "x$enable_mwm_hints" != "xno"]) + + dnl Boehm GC dnl ======== AC_ARG_ENABLE([boehm-gc], @@ -887,6 +903,7 @@ echo "Installation path prefix : $prefix" echo "Installation path for binaries : $_bindir" echo "Installation path for libraries : $libdir" echo "Installation path for WPrefs.app : $wprefs_base_dir" | sed -e 's|\${prefix}|'"$prefix|" +echo "Supported core features: :$supported_core" echo "Supported X extensions: :$supported_xext" echo "Supported graphic format libraries :$supported_gfx" echo "Unsupported features :$unsupported" diff --git a/doc/build/Compilation.texi b/doc/build/Compilation.texi index 8d8efea0..8d1fcfd6 100644 --- a/doc/build/Compilation.texi +++ b/doc/build/Compilation.texi @@ -566,8 +566,10 @@ screen size. @subsection Feature Selection @table @option -@item --disable-motif +@item --disable-mwm-hints Disable support for Motif's MWM Window Manager hints. +These attributes were introduced by the Motif toolkit to ask for special window appearance requests. +Nowadays this is covered by the NetWM/EWMH specification, but there are still applications that rely on MWM Hints. @item --enable-ld-version-script This feature is auto-detected, and you should not use this option. diff --git a/src/Makefile.am b/src/Makefile.am index e149f7d1..56ebe084 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -52,8 +52,6 @@ wmaker_SOURCES = \ misc.h \ monitor.c \ monitor.h \ - motif.c \ - motif.h \ moveres.c \ pixmap.c \ pixmap.h \ @@ -110,6 +108,10 @@ wmaker_SOURCES = \ wsmap.c \ wsmap.h +if USE_MWM_HINTS +wmaker_SOURCES += motif.h motif.c +endif + if WM_OSDEP_BSD wmaker_SOURCES += osdep_bsd.c endif diff --git a/src/motif.c b/src/motif.c index 55afdac3..b649f829 100644 --- a/src/motif.c +++ b/src/motif.c @@ -21,8 +21,6 @@ #include "wconfig.h" -#ifdef USE_MWM_HINTS - #include #include #include @@ -200,5 +198,3 @@ void wMWMCheckClientHints(WWindow *wwin) if (getMWMHints(wwin->client_win, &hints)) setupMWMHints(wwin, &hints); } - -#endif /* USE_MWM_HINTS */ diff --git a/src/wconfig.h.in b/src/wconfig.h.in index 49bb11de..4a56e048 100644 --- a/src/wconfig.h.in +++ b/src/wconfig.h.in @@ -36,9 +36,6 @@ /* If you want animations for iconification, shading, icon arrangement etc. */ #define ANIMATIONS -/* support for Motif window manager (mwm) window hints */ -#define USE_MWM_HINTS - /* * Undefine BALLOON_TEXT if you don't want balloons for showing extra * information, like window titles that are not fully visible. -- 2.11.4.GIT