mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +01:00
- Fixed bug in icon chooser dialog that could cause a segmentation fault in some cases (Pascal Hofstee <caelian@gmail.com>) - Fixed crash in asm code in wrlib, with new versions of gcc. - Fixed bug in the x86_PseudoColor_32_to_8() function which incorrectly used the r, g, b fields in the conversion. - Fixed x86 ASM code in wrlib to work on 64 bit architectures. - Fixed the focus flicker seen with some apps (notably gtk2) (Alexey Spiridonov <snarkmaster@gmail.com>) - Fixed all crashing bugs that were generated by wmaker starting with the WMState file missing. - Added NetWM support (a modified version of the patch originaly written by Peter Zijlstra <a.p.zijlstra@chello.nl>) - Applied patch to enhance the Virtual Desktop behaviour, and to integrate it with the NetWM code (Peter Zijlstra <a.p.zijlstra@chello.nl>) - Applied a few xinerama and placement fixes (Peter Zijlstra <a.p.zijlstra@chello.nl>) - Fixed memory leak in dock code. - Fixed and enhanced the text wrapping in WINGs. - Fixed the layout of some elements in WPrefs.app - Added workaround for aplications that don't set the required hints on the client leader window, but they set them on normal windows (observer with KDE 3.3.0 mainly). This will allow these apps to get an appicon again. (they should be fixed still) - Added workaround for applications that do not set a command with XSetCommand(), but instead they set the _NET_WM_PID property. This works with operating systems that offer a /proc interface similar to what linux has. (This also is to fix problems with KDE 3.3.0 apps, but not only them). - Fixed bug with autostart and exit scripts not being executed if user GNUstep path was different from ~/GNUstep (when setting GNUSTEP_USER_ROOT) - Added utf8 support in WINGs (removed old X core font code) - Added utility to convert old font names to new font names in style files
263 lines
6.8 KiB
Bash
263 lines
6.8 KiB
Bash
#!/bin/sh
|
|
|
|
dnl
|
|
dnl WM_CHECK_LIB(NAME, FUNCTION, EXTRALIBS)
|
|
dnl
|
|
AC_DEFUN(WM_CHECK_LIB,
|
|
[
|
|
LDFLAGS_old="$LDFLAGS"
|
|
LDFLAGS="$LDFLAGS $lib_search_path"
|
|
AC_CHECK_LIB([$1],[$2],yes=yes,no=no,[$3])
|
|
LDFLAGS="$LDFLAGS_old"
|
|
])
|
|
|
|
|
|
dnl
|
|
dnl WM_CHECK_HEADER(NAME)
|
|
dnl
|
|
AC_DEFUN(WM_CHECK_HEADER,
|
|
[
|
|
CPPFLAGS_old="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $inc_search_path"
|
|
AC_CHECK_HEADER([$1])
|
|
CPPFLAGS="$CPPFLAGS_old"
|
|
])
|
|
|
|
|
|
dnl
|
|
dnl WM_CHECK_XFT_VERSION(MIN_VERSION, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]])
|
|
dnl
|
|
dnl # $XFTFLAGS should be defined before calling this macro,
|
|
dnl # else it will not be able to find Xft.h
|
|
dnl
|
|
AC_DEFUN(WM_CHECK_XFT_VERSION,
|
|
[
|
|
CPPFLAGS_old="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $XFTFLAGS $inc_search_path"
|
|
xft_major_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
|
xft_minor_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
|
xft_micro_version=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
|
AC_MSG_CHECKING([whether libXft is at least version $1])
|
|
AC_CACHE_VAL(ac_cv_lib_xft_version_ok,
|
|
[AC_TRY_LINK(
|
|
[/* Test version of libXft we have */
|
|
#include <X11/Xft/Xft.h>
|
|
|
|
#if !defined(XFT_VERSION) || XFT_VERSION < $xft_major_version*10000 + $xft_minor_version*100 + $xft_micro_version
|
|
#error libXft on this system is too old. Consider upgrading to at least $1
|
|
#endif
|
|
], [],
|
|
eval "ac_cv_lib_xft_version_ok=yes",
|
|
eval "ac_cv_lib_xft_version_ok=no")])
|
|
if eval "test \"`echo '$ac_cv_lib_xft_version_ok'`\" = yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
ifelse([$2], , :, [$2])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
ifelse([$3], , , [$3])
|
|
fi
|
|
CPPFLAGS="$CPPFLAGS_old"
|
|
])
|
|
|
|
|
|
dnl
|
|
dnl WM_CHECK_REDCRAP_BUGS(prefix,bindir,libdir)
|
|
dnl
|
|
AC_DEFUN(WM_CHECK_REDCRAP_BUGS,
|
|
[
|
|
AC_MSG_CHECKING(for RedHat system)
|
|
wm_check_flag='no :)'
|
|
rh_is_redhat=no
|
|
if test -f /etc/redhat-release; then
|
|
wm_check_flag=yes
|
|
rh_is_redhat=yes
|
|
fi
|
|
AC_MSG_RESULT($wm_check_flag)
|
|
|
|
mins_found=no
|
|
bugs_found=no
|
|
if test "$wm_check_flag" = yes; then
|
|
echo
|
|
AC_MSG_WARN([Red Hat system; checking for Red-Hat-specific bugs.])
|
|
echo
|
|
#
|
|
# Check old wmaker from RedHat
|
|
#
|
|
if test "[$1]" != "/usr/X11R6" -a "$prefix" != "/usr/X11"; then
|
|
AC_MSG_CHECKING(for multiple installed wmaker versions)
|
|
if test -f /usr/X11R6/bin/wmaker; then
|
|
AC_MSG_RESULT(uh oh)
|
|
mins_found=yes
|
|
rh_old_wmaker=yes
|
|
else
|
|
rh_old_wmaker=no
|
|
AC_MSG_RESULT(no apparent problems)
|
|
fi
|
|
fi
|
|
#
|
|
# Check for infamous en_RN bug
|
|
# Wont work because autoconf will change LANG in the beginning of the
|
|
# script.
|
|
|
|
#
|
|
#AC_MSG_CHECKING(for silly en_RN joke that only causes headaches)
|
|
#echo $LANG
|
|
#if test "x$LANG" = xen_RN; then
|
|
#AC_MSG_RESULT(uh oh)
|
|
#AC_MSG_WARN([the LANG environment variable is set to the en_RN
|
|
#locale. Please unset it or you will have mysterious problems when
|
|
#using various software packages.])
|
|
#bugs_found=yes
|
|
#else
|
|
#AC_MSG_RESULT(no problem)
|
|
#fi
|
|
#
|
|
# If binary installation path is /usr/local/bin, check if it's in PATH
|
|
#
|
|
if test "[$2]" = "/usr/local/bin"; then
|
|
AC_MSG_CHECKING(if /usr/local/bin is in the search PATH)
|
|
wm_check_flag=no
|
|
rh_missing_usr_local_bin=yes
|
|
old_IFS="$IFS"
|
|
IFS=":"
|
|
for i in $PATH; do
|
|
if test "x$i" = "x/usr/local/bin"; then
|
|
wm_check_flag=yes
|
|
rh_missing_usr_local_bin=no
|
|
break;
|
|
fi
|
|
done
|
|
IFS="$old_IFS"
|
|
if test "$wm_check_flag" = no; then
|
|
AC_MSG_RESULT(uh oh)
|
|
bugs_found=yes
|
|
else
|
|
AC_MSG_RESULT(no problem)
|
|
fi
|
|
fi
|
|
#
|
|
# If library installation path is /usr/local/lib,
|
|
# check if it's in /etc/ld.so.conf
|
|
#
|
|
if test "[$3]" = "/usr/local/lib"; then
|
|
wm_check_flag=yes
|
|
rh_missing_usr_local_lib=no
|
|
AC_MSG_CHECKING(if /usr/local/lib is in /etc/ld.so.conf)
|
|
test -z "`grep /usr/local/lib /etc/ld.so.conf`"
|
|
test "$?" -eq 0 && wm_check_flag=no
|
|
if test "$wm_check_flag" = no; then
|
|
AC_MSG_RESULT(uh oh)
|
|
rh_missing_usr_local_lib=yes
|
|
bugs_found=yes
|
|
else
|
|
AC_MSG_RESULT(no problem)
|
|
fi
|
|
fi
|
|
#
|
|
# Check for symbolic links
|
|
#
|
|
AC_MSG_CHECKING(for /usr/include/X11 symbolic link)
|
|
rh_missing_usr_include_x11=no
|
|
if test -d "/usr/include/X11"; then
|
|
AC_MSG_RESULT(found)
|
|
else
|
|
AC_MSG_RESULT(uh oh)
|
|
rh_missing_usr_include_x11=yes
|
|
mins_found=yes
|
|
fi
|
|
|
|
#
|
|
# Check for /lib/cpp
|
|
#
|
|
AC_MSG_CHECKING(for /lib/cpp)
|
|
rh_missing_lib_cpp=no
|
|
if test -f "/lib/cpp"; then
|
|
AC_MSG_RESULT(found)
|
|
else
|
|
AC_MSG_RESULT(uh oh)
|
|
rh_missing_lib_cpp=yes
|
|
bugs_found=yes
|
|
fi
|
|
|
|
echo
|
|
fi
|
|
])
|
|
|
|
|
|
dnl
|
|
dnl WM_PRINT_REDCRAP_BUG_STATUS()
|
|
dnl
|
|
AC_DEFUN(WM_PRINT_REDCRAP_BUG_STATUS,
|
|
[
|
|
if test "$rh_is_redhat" = yes; then
|
|
if test "$mins_found" = yes -o "$bugs_found" = yes; then
|
|
echo
|
|
AC_MSG_WARN([It seems you are using a system packaged by Red Hat.
|
|
I have done some checks for Red-Hat-specific bugs, and I found some
|
|
problems. Please read the INSTALL file regarding Red Hat, resolve
|
|
the problems, and try to run configure again.
|
|
|
|
Here are the problems I found:
|
|
])
|
|
if test "x$rh_old_wmaker" = xyes; then
|
|
echo "Problem: Old version of Window Maker in /usr/X11R6/bin."
|
|
echo "Description: You seem to have an old version of Window Maker"
|
|
echo " installed in /usr/X11R6/bin. It is recommended"
|
|
echo " that you uninstall any previously installed"
|
|
echo " packages of WindowMaker before installing a new one."
|
|
echo
|
|
fi
|
|
if test "x$rh_missing_usr_local_bin" = xyes; then
|
|
echo "Problem: PATH is missing /usr/local/bin."
|
|
echo "Description: Your PATH environment variable does not appear to"
|
|
echo " contain the directory /usr/local/bin. Please add it."
|
|
echo
|
|
fi
|
|
if test "x$rh_missing_usr_local_lib" = xyes; then
|
|
echo "Problem: /etc/ld.so.conf missing /usr/local/lib"
|
|
echo "Description: Your /etc/ld.so.conf file does not appear to contain"
|
|
echo " the directory /usr/local/lib. Please add it."
|
|
echo
|
|
fi
|
|
if test "x$rh_missing_usr_x11" = xyes; then
|
|
echo "Problem: Missing /usr/X11 symbolic link."
|
|
echo "Description: Your system is missing a symbolic link from"
|
|
echo " /usr/X11R6 to /usr/X11. Please create one."
|
|
echo
|
|
fi
|
|
if test "x$rh_missing_usr_include_x11" = xyes; then
|
|
echo "Problem: Missing /usr/include/X11 symbolic link."
|
|
echo "Description: Your system is missing a symbolic link from"
|
|
echo " /usr/X11R6/include/X11 to /usr/include/X11."
|
|
echo " Please create one."
|
|
echo
|
|
fi
|
|
if test "x$rh_missing_lib_cpp" = xyes; then
|
|
echo "Problem: Missing /lib/cpp symbolic link."
|
|
echo "Description: Your system is missing a symbolic link from the"
|
|
echo " cpp (C preprocessor) program to /lib/cpp."
|
|
echo " Please create one."
|
|
echo
|
|
fi
|
|
if test "x$bugs_found" = xyes; then
|
|
AC_MSG_ERROR([One or more of the problems above can potentially
|
|
cause Window Maker not to install or run properly. Please resolve
|
|
the problems and try to run configure again.])
|
|
exit 1
|
|
elif test "x$mins_found" = xyes; then
|
|
AC_MSG_WARN([The problems above may or may not cause Window Maker
|
|
not to install or run properly. If you have any problems during
|
|
installation or execution, please resolve the problems and try to
|
|
install Window Maker again.])
|
|
echo
|
|
fi
|
|
else
|
|
echo
|
|
echo "You appear to have a system packaged by Red Hat, but I could"
|
|
echo "not find any Red-Hat-specific problems that I know about."
|
|
echo
|
|
fi
|
|
fi
|
|
])
|
|
|