FVWM recipe created for OpenEmbedded

Hello!
I have written OpenEmbedded[1] recipe[2] for FVWM 2.5.26. So now I have FVWM on my Sharp Zaurus C1000 under Angstrom[3].

Here is some patches applied. Can somebody check them and suggest more clean way?

acinclude.m4.patch disables calling xft-config while cross-compiling. Xft is recorded as dependency.

--- fvwm-2.5.26/acinclude.m4.orig	2008-06-10 01:53:46.000000000 +0400
+++ fvwm-2.5.26/acinclude.m4	2008-06-10 01:53:51.000000000 +0400
@@ -1225,14 +1225,14 @@
     XFT_CONFIG=$xft_config_prefix/bin/xft-config
   fi
 fi
-AC_PATH_PROG(XFT_CONFIG, xft-config, no)
+dnl AC_PATH_PROG(XFT_CONFIG, xft-config, no)
 
 min_xft_version=ifelse([$1], ,2.0.0,$1)
 AC_MSG_CHECKING(for Xft - version >= $min_xft_version)
 no_xft=""
 pkg_config_xft_exists=""
 
-if test "$XFT_CONFIG" = "no" ; then
+dnl if test "$XFT_CONFIG" = "no" ; then
   if test "x$PKG_CONFIG" != "xno" ; then
     if $PKG_CONFIG --exists 'xft' ; then
       if $PKG_CONFIG --exists 'xft >= $1' ; then
@@ -1249,7 +1249,8 @@
   else
     no_xft=yes
   fi
-else
+dnl else
+if false; then
   XFT_CFLAGS=`$XFT_CONFIG $xft_config_args --cflags`
   XFT_LIBS=`$XFT_CONFIG $xft_config_args --libs`
   xft_config_major_version=`$XFT_CONFIG $xft_config_args --version | \

configure.ac.patch enable ‘cross-compile assumes’, disable mkstemp safety and X11/keysym.h checking while cross-compiling and disable checking of old libstroke (0.5.1 is used).

--- fvwm-2.5.26/configure.ac.orig	2008-06-11 15:44:28.000000000 +0400
+++ fvwm-2.5.26/configure.ac	2008-06-11 15:44:46.000000000 +0400
@@ -792,7 +792,8 @@
 	 problem_xpm=": Internal xpm detection logic error"
        fi
      fi],
-   [with_xpm=no; problem_xpm=": Xpm test error, see config.log"])
+   [with_xpm=no; problem_xpm=": Xpm test error, see config.log"],
+   [echo $ac_n "cross compiling; assumed OK... $ac_c"])
   AC_MSG_RESULT($with_xpm)
   CPPFLAGS="$my_CPPFLAGS"
   LIBS="$my_LIBS"
@@ -840,7 +841,8 @@
 	 problem_png=": Internal png detection logic error"
        fi
      fi],
-   [with_png="no"; problem_png=": png test error, see config.log"])
+   [with_png="no"; problem_png=": png test error, see config.log"],
+   [echo $ac_n "cross compiling; assumed OK... $ac_c"])
   AC_MSG_RESULT($with_png)
   CPPFLAGS="$my_CPPFLAGS"
   LIBS="$my_LIBS"
@@ -1405,7 +1407,8 @@
 
 # check for mkstemp, see the discution on this subject on the fvwm workers
 # list (2001-02-16 and 2001-02-24)
-AM_SAFETY_CHECK_MKSTEMP
+#AM_SAFETY_CHECK_MKSTEMP
+AC_DEFINE(HAVE_SAFETY_MKSTEMP)
 
 # If we do not have atexit(), then check for on_exit()
 if test x$ac_cv_func_atexit = xno; then
@@ -1465,23 +1468,23 @@
   problem_gnomehints=": Explicitly disabled"
 fi
 
-# Define some compatibility macros needed for config.h.
-mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
-  [defined XK_Page_Up && defined XK_Page_Down],
-  [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
-  [Old AIX systems (3.2.5) don't define some common keysyms.])
-AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
-[#ifdef COMPAT_OLD_KEYSYMDEF
-#  define XK_Page_Up   XK_Prior
-#  define XK_Page_Down XK_Next
-#endif])
-
-if test x"$with_stroke" = xyes; then
-  mg_DEFINE_IF_NOT([#include <stroke.h>],
-    [defined STROKE_MAX_SEQUENCE],
-    [COMPAT_OLD_LIBSTROKE], [$stroke_CFLAGS],
-    [Old libstroke <= 0.4 does not use STROKE_ prefix for constants.])
-fi
+## Define some compatibility macros needed for config.h.
+#mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
+#  [defined XK_Page_Up && defined XK_Page_Down],
+#  [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
+#  [Old AIX systems (3.2.5) don't define some common keysyms.])
+#AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
+#[#ifdef COMPAT_OLD_KEYSYMDEF
+##  define XK_Page_Up   XK_Prior
+##  define XK_Page_Down XK_Next
+##endif])
+
+#if test x"$with_stroke" = xyes; then
+#  mg_DEFINE_IF_NOT([#include <stroke.h>],
+#    [defined STROKE_MAX_SEQUENCE],
+#    [COMPAT_OLD_LIBSTROKE], [$stroke_CFLAGS],
+#    [Old libstroke <= 0.4 does not use STROKE_ prefix for constants.])
+#fi
 AH_VERBATIM([_COMPAT_OLD_LIBSTROKE],
 [#ifdef COMPAT_OLD_LIBSTROKE
 /* currently we only use one constant */

IMHO, stuff like ‘[echo $ac_n “cross compiling; assumed OK… $ac_c”])’ can be safely merged into main FVWM sources. Other things need some consulting.

Here is request to add FVWM into OE packages:
bugs.openembedded.net/show_bug.cgi?id=4439


[1] OE is cross-compile environment: openembedded.org
[2] recipe is something like portage in Gentoo or port in FreeBSD.
[3] Angstrom is Linux distribution for PDA and others: angstrom-distribution.org