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 <[email protected]>
---
 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 fac385a..4e55a94 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 cccacf4..bffad76 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 e149f7d..56ebe08 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 55afdac..b649f82 100644
--- a/src/motif.c
+++ b/src/motif.c
@@ -21,8 +21,6 @@
 
 #include "wconfig.h"
 
-#ifdef USE_MWM_HINTS
-
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <stdlib.h>
@@ -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 49bb11d..4a56e04 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.1.4


-- 
To unsubscribe, send mail to [email protected].

Reply via email to