force linux/joystick.h header compilation (and not just presence) check to fix the build under Linux 2.6.16 with its broken joystick.h

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-11-25 16:20:11 +00:00
parent 54a4121a62
commit ddbd3cd58b
2 changed files with 31 additions and 122 deletions

145
configure vendored
View File

@@ -12560,7 +12560,7 @@ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
GCC=`test $ac_compiler_gnu = yes && echo yes` GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set} ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS ac_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -g" CFLAGS="-g"
echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
if test "${ac_cv_prog_cc_g+set}" = set; then if test "${ac_cv_prog_cc_g+set}" = set; then
@@ -13032,7 +13032,7 @@ fi
unset ac_cv_prog_cc_g unset ac_cv_prog_cc_g
ac_test_CFLAGS=${CFLAGS+set} ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS ac_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -g" CFLAGS="-g"
echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
if test "${ac_cv_prog_cc_g+set}" = set; then if test "${ac_cv_prog_cc_g+set}" = set; then
@@ -14197,9 +14197,9 @@ if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then elif test $ac_cv_prog_cxx_g = yes; then
if test "$GXX" = yes; then if test "$GXX" = yes; then
CXXFLAGS="$CXXFLAGS -g -O2" CXXFLAGS="-g -O2"
else else
CXXFLAGS="$CXXFLAGS -g" CXXFLAGS="-g"
fi fi
else else
if test "$GXX" = yes; then if test "$GXX" = yes; then
@@ -14462,7 +14462,7 @@ fi
unset ac_cv_prog_cc_g unset ac_cv_prog_cc_g
ac_test_CFLAGS=${CFLAGS+set} ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS ac_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -g" CFLAGS="-g"
echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
if test "${ac_cv_prog_cc_g+set}" = set; then if test "${ac_cv_prog_cc_g+set}" = set; then
@@ -29267,7 +29267,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <X11/Intrinsic.h> #include <X11/Xlib.h>
_ACEOF _ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -29294,7 +29294,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5 sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do for ac_dir in $ac_x_header_dirs; do
if test -r "$ac_dir/X11/Intrinsic.h"; then if test -r "$ac_dir/X11/Xlib.h"; then
ac_x_includes=$ac_dir ac_x_includes=$ac_dir
break break
fi fi
@@ -29308,18 +29308,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options. # See if we find them without any special options.
# Don't add to $LIBS permanently. # Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS ac_save_LIBS=$LIBS
LIBS="-lXt $LIBS" LIBS="-lX11 $LIBS"
cat >conftest.$ac_ext <<_ACEOF cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */ /* confdefs.h. */
_ACEOF _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <X11/Intrinsic.h> #include <X11/Xlib.h>
int int
main () main ()
{ {
XtMalloc (0) XrmInitialize ()
; ;
return 0; return 0;
} }
@@ -29357,7 +29357,7 @@ for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
do do
# Don't even attempt the hair of trying to link an X program! # Don't even attempt the hair of trying to link an X program!
for ac_extension in a so sl; do for ac_extension in a so sl; do
if test -r $ac_dir/libXt.$ac_extension; then if test -r $ac_dir/libX11.$ac_extension; then
ac_x_libraries=$ac_dir ac_x_libraries=$ac_dir
break 2 break 2
fi fi
@@ -44967,30 +44967,20 @@ echo "${ECHO_T}$wxUSE_JOYSTICK" >&6
else else
if test "$wxUSE_MGL" != "1"; then if test "$wxUSE_MGL" != "1"; then
echo "$as_me:$LINENO: checking for linux/joystick.h" >&5
for ac_header in linux/joystick.h echo $ECHO_N "checking for linux/joystick.h... $ECHO_C" >&6
do if test "${ac_cv_header_linux_joystick_h+set}" = set; then
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo "$as_me:$LINENO: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6 echo $ECHO_N "(cached) $ECHO_C" >&6
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
else else
# Is the header compilable? cat >conftest.$ac_ext <<_ACEOF
echo "$as_me:$LINENO: checking $ac_header usability" >&5
echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */ /* confdefs.h. */
_ACEOF _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
$ac_includes_default #include <stdio.h>
#include <$ac_header>
#include <linux/joystick.h>
_ACEOF _ACEOF
rm -f conftest.$ac_objext rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -45013,108 +45003,21 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
ac_status=$? ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then (exit $ac_status); }; }; then
ac_header_compiler=yes ac_cv_header_linux_joystick_h=yes
else else
echo "$as_me: failed program was:" >&5 echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5 sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no ac_cv_header_linux_joystick_h=no
fi fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
echo "${ECHO_T}$ac_header_compiler" >&6
# Is the header present?
echo "$as_me:$LINENO: checking $ac_header presence" >&5
echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
else
ac_cpp_err=
fi
else
ac_cpp_err=yes
fi fi
if test -z "$ac_cpp_err"; then echo "$as_me:$LINENO: result: $ac_cv_header_linux_joystick_h" >&5
ac_header_preproc=yes echo "${ECHO_T}$ac_cv_header_linux_joystick_h" >&6
else if test $ac_cv_header_linux_joystick_h = yes; then
echo "$as_me: failed program was:" >&5 wxUSE_JOYSTICK=yes
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
{ echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
{ echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
(
cat <<\_ASBOX
## ----------------------------------------- ##
## Report this to wx-dev@lists.wxwidgets.org ##
## ----------------------------------------- ##
_ASBOX
) |
sed "s/^/$as_me: WARNING: /" >&2
;;
esac
echo "$as_me:$LINENO: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
wxUSE_JOYSTICK=yes
fi fi
done
fi fi
fi fi

View File

@@ -6386,7 +6386,13 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
else else
dnl wxJoystick not supported by wxMGL at all dnl wxJoystick not supported by wxMGL at all
if test "$wxUSE_MGL" != "1"; then if test "$wxUSE_MGL" != "1"; then
AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) dnl notice the dummy includes argument: without it, AC_CHECK_HEADER
dnl checks only whether the header can be preprocessed, not that it
dnl can be compiled and in Linux 2.6.16 joystick.h is present but
dnl can't be compiled because of an error and with the default
dnl AC_CHECK_HEADER semantics we'd still detect it in this case and
dnl build would fail later
AC_CHECK_HEADER(linux/joystick.h, wxUSE_JOYSTICK=yes,,[#include <stdio.h>])
fi fi
fi fi