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